Κυκλοφορία του re2c lexer generator 3.0

Πραγματοποιήθηκε η κυκλοφορία του re2c 3.0, μιας δωρεάν δημιουργίας λεξικών αναλυτών για τις γλώσσες C, C++, Go και τη γλώσσα Rust που προστέθηκε σε αυτήν την έκδοση. Για να υποστηρίξουμε το Rust, έπρεπε να χρησιμοποιήσουμε ένα διαφορετικό μοντέλο δημιουργίας κώδικα, όπου η μηχανή κατάστασης αναπαρίσταται ως βρόχος και μια μεταβλητή κατάστασης, αντί με τη μορφή ετικετών και μεταβάσεων (καθώς το Rust δεν έχει goto, σε αντίθεση με τα C, C++ και Πηγαίνω).

Η Re2c ειδικεύεται στη δημιουργία γρήγορων και εύκολα ενσωματωμένων λεξιλόγων. Διαφέρει από το πιο γνωστό αντίστοιχο flex στην ευέλικτη διεπαφή του, στη δημιουργία βελτιστοποιημένων μη πινακοποιημένων λεξιλόγων και στην υποστήριξη για εξαγωγή δευτερεύουσας αντιστοίχισης με βάση τα προσδιορισμένα ντετερμινιστικά πεπερασμένα αυτόματα (TDFA). Το Re2c χρησιμοποιείται σε έργα όπου η ταχύτητα του lexer είναι σημαντική, για παράδειγμα σε Ninja και PHP. Ο ιστότοπος του έργου έχει μια επιλογή παραδειγμάτων που έχουν πλέον μεταφερθεί, συμπεριλαμβανομένου του Rust.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο