JavaCC
| JavaCC | |
|---|---|
| Dati di base
| |
| Versione attuale | 7.0.10 (23 novembre 2020) |
| sistema operativo | Sistemi operativi con ambiente runtime Java |
| linguaggio di programmazione | Giava |
| categoria | Generatore di parser |
| Licenza | Licenza BSD |
| www.javacc.org | |
JavaCC ( Java C ompiler C ompiler ) è un Lexer e parser , che in Java è implementato e come output Java e ++ C hanno generato il codice sorgente. JavaCC è open source e pubblicato secondo i termini della licenza BSD .
JavaCC funziona in modo simile al noto programma Yacc , ma utilizza un metodo diverso per l'analisi dei dati: JavaCC genera un parser LL (k) , mentre Yacc genera un parser LALR (1) . La grammatica deve essere strutturata in modo leggermente diverso da come sarebbe con Yacc.
Programmi e librerie che utilizzano JavaCC internamente
- Il framework del motore di ricerca open source Lucene utilizza JavaCC per generare il lexer e il parser di query.
- Il motore di template open source Velocity utilizza JavaCC per le sue funzioni di parser.
- Lo strumento PMD utilizzato per l'analisi del codice statico dei testi di origine utilizza JavaCC internamente per elaborare le regole definite dall'utente.
- L'API Java del progetto Cyc ontology utilizza JavaCC per le sue funzioni di parser.
Guarda anche
- JFlex (generatore di scanner per Java scritto in Java)
- SableCC (Compiler-Compiler per LALR (1) -Parser in Java)
- ANTLR (Compiler-Compiler for LL (*) - Parser in diverse lingue di destinazione)
- Coco / R (Compiler-Compiler per LL (k) -Parser in diverse lingue di destinazione)
letteratura
- Tom Copeland: Generazione di parser con JavaCC . 2a edizione. Centennial Books, Alessandria, 2009, ISBN 978-0-9762214-3-2 .
- Anthony J. Dos Reis, Laura L. Dos Reis: Costruzione del compilatore utilizzando Java, JavaCC e Yacc . 1a edizione. John Wiley & Sons, 2012, ISBN 978-0-470-94959-7 .
Evidenze individuali
- ↑ https://github.com/javacc/javacc/releases/tag/javacc-7.0.10
- ↑ JavaCC Annuncia la mailing list su Java.net. (Non più disponibile online.) Archiviato dall'originale l' 11 aprile 2016 ; accesso il 9 settembre 2013 . Info: Il collegamento all'archivio è stato inserito automaticamente e non è stato ancora verificato. Si prega di controllare il collegamento originale e archivio secondo le istruzioni e quindi rimuovere questo avviso.
- ↑ Documentazione del pacchetto Apache Lucene. Estratto il 9 settembre 2013 .
- ^ Il progetto Apache Velocity - Strumenti necessari. Estratto il 9 settembre 2013 .
- ↑ Personalizzazione del PMD - Come scrivere una regola PMD. Estratto il 9 settembre 2013 .