JavaCC

JavaCC
Date de bază

Versiunea actuală  7.0.10
(23 noiembrie 2020)
sistem de operare Sisteme de operare cu mediu de execuție Java
limbaj de programare Java
categorie Generator de analizori
Licență Licență BSD
https://www.javacc.org

JavaCC ( Java C ompiler C ompiler ) este un Lexer și un parser , care în Java este implementat și ca un cod sursă generat de Java și ++ C. JavaCC este open source și publicat în condițiile licenței BSD .

JavaCC funcționează similar cu binecunoscutul program Yacc , dar folosește o metodă diferită pentru analizarea datelor: JavaCC generează un parser LL (k) , în timp ce Yacc generează un parser LALR (1) . Gramatica trebuie să fie structurat un pic diferit decât ar fi cu Yacc.

Programe și biblioteci care utilizează JavaCC intern

  • Cadrul motorului de căutare open source Lucene folosește JavaCC pentru a genera lexerul și parserul interogării.
  • Motorul de șabloane open source Velocity folosește JavaCC pentru funcțiile sale de parser.
  • Instrumentul PMD utilizat pentru analiza statică a codului textelor sursă utilizează JavaCC intern pentru a procesa regulile definite de utilizator.
  • API-ul Java al proiectului ontologic Cyc utilizează JavaCC pentru funcțiile sale de analiză.

Vezi si

  • JFlex (generator de scaner pentru Java scris în Java)
  • SableCC (Compiler-Compiler for LALR (1) -Parser in Java)
  • ANTLR (Compiler-Compiler for LL (*) - Parser în diferite limbi țintă)
  • Coco / R (Compilator-compilator pentru LL (k) -Parator în diferite limbi țintă)

literatură

  • Tom Copeland: Generarea analizelor cu JavaCC . Ediția a II-a. Centennial Books, Alexandria, 2009, ISBN 978-0-9762214-3-2 .
  • Anthony J. Dos Reis, Laura L. Dos Reis: construcția compilatorului folosind Java, JavaCC și Yacc . Prima ediție. John Wiley & Sons, 2012, ISBN 978-0-470-94959-7 .

Dovezi individuale

  1. https://github.com/javacc/javacc/releases/tag/javacc-7.0.10
  2. JavaCC Anunță lista de corespondență pe Java.net. (Nu mai este disponibil online.) Arhivat din original la 11 aprilie 2016 ; accesat pe 9 septembrie 2013 . Informații: linkul arhivei a fost inserat automat și nu a fost încă verificat. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare. @ 1@ 2Șablon: Webachiv / IABot / java.net
  3. Documentația pachetului Apache Lucene. Adus pe 9 septembrie 2013 .
  4. ^ Proiectul Apache Velocity - Instrumente necesare. Adus pe 9 septembrie 2013 .
  5. Personalizarea PMD - Cum se scrie o regulă PMD. Adus pe 9 septembrie 2013 .