ANTLR Tutorial
Iniziare con ANTLR
Ricerca…
Osservazioni
ANTLR (Another Tool for Language Recognition) è un potente generatore di parser per leggere, elaborare, eseguire o tradurre testi strutturati o file binari. È ampiamente utilizzato per creare linguaggi, strumenti e framework. Da una grammatica, ANTLR genera un parser che può costruire e camminare alberi di analisi.
- Sito web ufficiale antlr (indica sempre l'ultima versione)
Versioni di Antlr
Antlr è diviso in due parti principali, la grammatica (file di grammatica) e i file di codice generati, che derivano dalla grammatica basata sul linguaggio di destinazione. Le versioni antlr sono nel formato di V1.V2.V3:
- V1: Modifica in V1 significa che la nuova sintassi delle funzionalità è stata introdotta nei file di grammatica
- V2: Modifica in V2 significa che sono state introdotte nuove funzionalità o correzioni importanti nei file generati (ad es. Aggiunta di nuove funzioni)
- V3: indica correzioni di errori o miglioramenti minori
Librerie di runtime e obiettivi di generazione del codice
Lo strumento Antlr è scritto in Java, tuttavia è in grado di generare parser e lexer in varie lingue. Per eseguire parser e lexer avrai anche bisogno di avere la libreria di runtime di antlr insieme al parser e al lexer code. La lingua di destinazione supportata (e le librerie di runtime) sono le seguenti:
Giava
C #
Python (2 e 3)
JavaScript
Versioni
Versione | Data di rilascio |
---|---|
2.0 | 1997/05/01 |
3.0 | 2011-01-19 |
4.0 | 2013/01/21 |
4.1 | 2013/07/01 |
4.2 | 2014/02/05 |
4.2.1 | 2014/03/25 |
4.2.2 | 2014/04/07 |
4.3 | 2014-06-19 |
4.4 | 2014/07/16 |
4.5 | 2015/01/23 |
4.5.1 | 2016/07/16 |
4.5.2 | 2016/01/30 |
4.5.3 | 2016/03/31 |
4.6 | 2016/12/15 |
4.7 | 2017/03/30 |
Ciao mondo
Una semplice grammatica mondiale può essere trovata qui :
// define a grammar called Hello
grammar Hello;
r : 'hello' ID;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
Per creare questo esempio .g4 puoi eseguire il seguente comando dal tuo terminale di sistema operativo / riga di comando:
Java -jar antlr-4.5.3-complete.jar Hello.g4
//OR if you have setup an alias or use the recommended batch file
antlr4 Hello.g4
Costruire questo esempio dovrebbe comportare il seguente output nella directory dei file Hello.g4:
- Hello.tokens
- HelloBaseListener.java
- HelloLexer.java
- HelloLexer.tokens
- HelloListener.java
- HelloParser.java
Quando si utilizzano questi file nel proprio progetto, assicurarsi di includere il file jar ANTLR. Per compilare tutti questi file utilizzando Java, nella stessa directory operativa o per percorso, eseguire il seguente comando:
javac *.java