Τι είναι ένα αρχείο G4;
Το αρχείο με επέκταση .g4 περιέχει το γραμματικό για έναν αναλυτή που ονομάζεται ANTLR 4. Ο χρόνος εκτέλεσης ANTLR 4 απαιτείται για την αναγνώριση του αρχείου G4. Μετά την εγκατάσταση, το εργαλείο ανάλυσης αναγνωρίζει το περιεχόμενο G4 ως γλώσσα που πρέπει να μεταφραστεί σε μια τυπική γλώσσα. Μόλις ο αναλυτής λειτουργήσει, δημιουργεί τον κώδικα για τις γλώσσες προγραμματισμού-στόχου, όπως Java, C++ ή c#. Επομένως, είναι σημαντικό να έχετε εγκατεστημένο χρόνο εκτέλεσης ANTLR για να επιτρέψετε στην έξοδο ή τον παραγόμενο κώδικα να λειτουργήσει.
Μορφή αρχείου G4
Η μορφή αρχείου G4 σχετίζεται με το εργαλείο ANTLR 4, το οποίο είναι ένας αναλυτής προγραμματισμού. Η μορφή αρχείου G4 έχει σχεδιαστεί για να διατηρεί τη γραμματική για το ANTLR, το οποίο σημαίνει ANOther Tool for Language Recognition, είναι μια γεννήτρια ανάλυσης. Το ANTLR λαμβάνει ως είσοδο ένα αρχείο G4 που περιέχει μια γραμματική που καθορίζει μια γλώσσα και δημιουργεί ως πηγαίο κώδικα εξόδου για έναν αναγνωριστή αυτής της γλώσσας. Το ANTLR 3 υποστήριζε τη δημιουργία κώδικα στις γλώσσες προγραμματισμού JavaScript, Ada95, ActionScript, C, C#, Java, Perl, Objective-C, Ruby, Python και Standard ML, η τρέχουσα έκδοση στοχεύει μόνο Java, JavaScript, C#, C++, Python, Swift και πήγαινε.
Παράδειγμα
Ακολουθεί ένα απλό παράδειγμα που δείχνει πώς περιέχεται ένας γραμματικός σε ένα αρχείο G4. βάλτε την παρακάτω γραμματική μέσα στο αρχείο Hello.g4 και αποθηκεύστε την σε έναν προσωρινό κατάλογο
// Define a grammar called Hello
grammar Hello;
r : 'hello' ID ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
Τότε μπορείτε να εκτελέσετε το ANTLR έτσι"
$ cd /tmp
$ antlr4 Hello.g4
$ javac Hello*.java