Το Flex είναι ευρέως γνωστό ως ο γρήγορος λεξικός αναλυτής και είναι μια εφαρμογή ανοικτής πηγής, εντελώς ελεύθερη και πολλαπλών πλατφορμών εντολών γραμμής που υλοποιείται σε C / C ++ και έχει σχεδιαστεί από το offset που χρησιμοποιείται για τη δημιουργία σαρωτών.
Οι σαρωτές που παράγονται από το εργαλείο Flex, οι οποίοι δεν θα πρέπει να συγχέονται με μια δωρεάν εφαρμογή του Lex που δεν είναι GNU, είναι στην πραγματικότητα προγράμματα που μπορούν να αναγνωρίσουν λεξικά μοτίβα στο κείμενο, γνωστά και ως εφαρμογές που εκτελούν αντιστοίχιση προτύπων στο κείμενο.
Το Flex έχει σχεδιαστεί με τέτοιο τρόπο ώστε να μπορεί να δημιουργήσει ένα αρχείο πηγής C που ονομάζεται "lex.yy.c" και μπορεί να ορίσει τη λειτουργία yylex (). Το λογισμικό είναι ένα εργαλείο γραμμής εντολών, έτσι μπορείτε να το χρησιμοποιήσετε μέσω οποιουδήποτε εξομοιωτή τερματικού.
Επιλογές γραμμής εντολών
Οι επιλογές γραμμής εντολών του προγράμματος είναι οργανωμένες σε κατηγορίες όπως συμπίεση πίνακα, εντοπισμός σφαλμάτων, αρχεία, συμπεριφορά σαρωτή, παραγόμενος κώδικας και διάφορα. Για να τα δείτε με μια ματιά, εκτελέστε το & lsquo; flex -help & rsquo; Μετά την εγκατάσταση του λογισμικού στο σύστημά σας.
Μεταξύ των επιλογών γραμμής εντολών συμπίεσης πίνακα, μπορούμε να αναφέρουμε την ικανότητα να κατασκευάζουμε κλάσεις ισοδυναμίας ή / και μετα-ισοδυναμίας, να χρησιμοποιούμε μια εναλλακτική παράσταση πίνακα, να χρησιμοποιούμε προεπιλεγμένη συμπίεση, να δημιουργούμε ένα μεγάλο και γρήγορο σαρωτή, καθώς και Για να μην συμπιέζει πίνακες.
Οι επιλογές γραμμής εντολών εντοπισμού σφαλμάτων περιλαμβάνουν υποστήριξη για την ενεργοποίηση λειτουργίας εντοπισμού σφαλμάτων στο σαρωτή, υποστήριξη για τη σύνταξη συνοπτικών στατιστικών στοιχείων σαρωτή στο stdout, υποστήριξη για λειτουργία Flex σε λειτουργία παρακολούθησης, καθώς και υποστήριξη για τη σύνταξη πληροφοριών δημιουργίας αντιγράφων ασφαλείας σε ένα συγκεκριμένο αρχείο Μια αναφορά απόδοσης στον stderr.
Η συμπεριφορά του σαρωτή μπορεί επίσης να προσαρμοστεί μέσω επιλογών γραμμής εντολών, οι οποίες περιλαμβάνουν υποστήριξη για τη δημιουργία σαρωτών 7-bit ή 8-bit, υποστήριξη για τη δημιουργία ενός σαρωτή παρτίδας, υποστήριξη για τη δημιουργία διαδραστικού σαρωτή, καθώς και υποστήριξη παρακολούθησης Γραμμή γραμμής σε yylineno.
Υποστηρίζει πλατφόρμες Linux και BSD 32 bit / 64 bit
Το λογισμικό έχει γραφτεί εξ ολοκλήρου στη γλώσσα προγραμματισμού C και C ++ και είναι γνωστό ότι λειτουργεί καλά σε λειτουργικά συστήματα Linux και FreeBSD. Προς το παρόν, μπορεί να εγκατασταθεί σε υπολογιστές που υποστηρίζουν είτε τις αρχιτεκτονικές των 64-bit ή 32-bit εντολών.
Τι νέο υπάρχει P>
- δημιουργία:
- Ο στόχος indent ήδη γνωρίζει τη νέα διάταξη του flex (από 2.6.0). Οι κανόνες περί περιουσιακών στοιχείων που θα εφαρμόζονταν δεν είναι σωστοί και πρέπει να καθοριστούν.
- Τα αρχεία που περιλαμβάνονται στη διανομή flex είναι τώρα κατασκευασμένα από την έκδοση του flex που περιλαμβάνεται στη διανομή
- Το σενάριο διαμόρφωσης έχει μια καλύτερη ιδέα για το ποια κεφαλίδες απαιτούνται για την κατασκευή flex. Επίσης, θα σφάλει όταν εντοπιστούν λείπουν λειτουργίες.
- Μειώσαμε τις εκδόσεις του automake και του gettext που παράμετροι configure.ac όπως απαιτούνται για την ευλυγισία των κτιρίων. Στο autogen.sh, τώρα ελέγξουμε πώς να καλέσουμε το libtoolize και να χρησιμοποιήσουμε αυτό που βρίσκουμε στο υπόλοιπο script.
- Δεδομένου ότι τα αρχεία στο lib / έχουν ληφθεί όπως απαιτείται από το src /, δεν δημιουργούμε πλέον ένα Makefile για αυτόν τον κατάλογο.
- Το Flex μπορεί να διασταυρωθεί.
- τεκμηρίωση:
- Κάποια λάθη έχουν αφαιρεθεί από το εγχειρίδιο.
- σαρωτής:
- Μερικές δευτερεύουσες βελτιώσεις επιδόσεων.
- Εκτιμούμε ξανά τις μακροεντολές yy_ *. Είμαστε επίσης πιο προσεκτικοί ώστε να μην διαρρεύσουμε ορισμούς μακροεντολών σε αρχεία κεφαλίδας.
- Εισήχθησαν ορισμένοι διορθώσεις φορητότητας, έτσι ώστε το κτίριο flex είναι πιο αξιόπιστο σε περισσότερες πλατφόρμες. Επιπλέον, καταργήθηκαν οι ξεπερασμένες κλήσεις λειτουργίας.
- Κατά την κατασκευή του ίδιου του εκτελέσιμου υλικού flex, καταργούνται% # σχόλια από το flex.skl κατά τη δημιουργία του πίνακα πηγαίου κώδικα C. Αυτό μειώνει το μέγεθος του εύκαμπτου.
- δοκιμαστική σουίτα:
- Όλα τα scripts στη δοκιμαστική σουίτα τρέχουν τώρα από το $ (SHELL) και έχουν συμπεριληφθεί οι απαραίτητες διορθώσεις φορητότητας.
- Οι εξαρτήσεις δοκιμών σε σουίτες αντιμετωπίζονται πολύ καλύτερα. Αυτό έχει σημασία μόνο εάν αναπτύσσετε ενεργά το flex ή την δοκιμαστική σας σουίτα.
- Οι δοκιμές που εξαρτώνται από τις λειτουργίες που εξαρτώνται από την πλατφόρμα, τώρα παρακάμπτονται σωστά όταν αυτές οι πλατφόρμες δεν υπάρχουν.
- Όταν εκτελείτε το & quot; make check & quot ;, μπορείτε τώρα να βγείτε V = 0 για να σιωπήσετε περισσότερο από το build. Αυτό είναι χρήσιμο όταν είστε λιγότερο ενήμεροι για το
Τα σχόλια δεν βρέθηκε