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

  1. https://github.com/javacc/javacc/releases/tag/javacc-7.0.10
  2. 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. @1@ 2Modello: Webachiv/IABot/java.net
  3. Documentazione del pacchetto Apache Lucene. Estratto il 9 settembre 2013 .
  4. ^ Il progetto Apache Velocity - Strumenti necessari. Estratto il 9 settembre 2013 .
  5. Personalizzazione del PMD - Come scrivere una regola PMD. Estratto il 9 settembre 2013 .