JavaCC

Lexer- und Parsergenerator, der in Java implementiert ist und als Ausgabe Java- und C++-Quellcode erzeugt. JavaCC ist Open Source und unter den Bedingungen der BSD-Lizenz herausgegeben
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. September 2016 um 09:49 Uhr durch 217.110.67.35 (Diskussion) (Die URL der offiziellen Webpräsenz hat sich geändert. Entsprechend wurder der Link angepasst.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

JavaCC (Java Compiler Compiler) ist ein Lexer- und Parser-Generator, der in Java implementiert ist und als Ausgabe Java- und C++-Quellcode erzeugt[1]. JavaCC ist Open Source und unter den Bedingungen der BSD-Lizenz herausgegeben.

JavaCC
Basisdaten

Aktuelle Version 6.1.3
(21. Juni 2014)
Betriebssystem Betriebssysteme mit Java-Laufzeitumgebung
Programmier­sprache Java
Kategorie Parser-Generator
Lizenz BSD-Lizenz
javacc.java.net

JavaCC funktioniert ähnlich wie das bekannte Programm Yacc, benutzt aber ein anderes Verfahren zum Parsen der Daten: JavaCC erzeugt einen LL(k)-Parser, während Yacc einen LALR(1)-Parser erzeugt. Die Grammatik muss also etwas anders strukturiert sein, als dies bei Yacc der Fall wäre.

Siehe auch

Ähnliche Programme

  • JFlex (in Java geschriebener Scanner-Generator für Java)
  • SableCC (Compiler-Compiler für LALR(1)-Parser in Java)
  • ANTLR (Compiler-Compiler für LL(*)-Parser in verschiedenen Zielsprachen)
  • Coco/R (Compiler-Compiler für LL(k)-Parser in verschiedenen Zielsprachen)

Programme und Bibliotheken, die intern JavaCC verwenden

  • Das Open-Source Suchmaschinen-Framework Lucene nutzt JavaCC zur Generierung des Lexers und des Query-Parsers[2].
  • Die Open-Source Template-Engine Velocity greift für seine Parserfunktionen auf JavaCC zurück[3].
  • Das zur statischen Codeanalyse von Quelltexten genutzte Werkzeug PMD verwendet zur Verarbeitung der benutzerdefinierten Regeln intern JavaCC[4].
  • Das Java-API des Ontologie-Projekts Cyc greift für seine Parserfunktionen auf JavaCC zurück.

Literatur

  • Tom Copeland: Generating Parsers with JavaCC. 2. Auflage. Centennial Books, Alexandria, 2009, ISBN 0-9762214-3-8.
  • Anthony J. Dos Reis, Laura L. Dos Reis: Compiler Construction Using Java, JavaCC, and Yacc. 1. Auflage. John Wiley & Sons, 2012, ISBN 0-470-94959-7.
  • Daniel McFlynn, Peter F. Weissman: Using JavaCC and SableCC. 1. Auflage. 4UPress, 2004, ISBN 0-7481-3298-2 (formal falsch).
  • Andrew W. Appel, Jens Palsberg: Modern Compiler Implementation in Java. 2. Auflage. Cambridge University Press, 2002, ISBN 0-521-82060-X.

Einzelnachweise

  1. JavaCC Announce Mailinglist on Java.net. Abgerufen am 9. September 2013 (englisch).
  2. Apache Lucene package documentation. Abgerufen am 9. September 2013 (englisch).
  3. The Apache Velocity project – Required Tools. Abgerufen am 9. September 2013 (englisch).
  4. Customizing PMD – How to write a PMD rule. Abgerufen am 9. September 2013 (englisch).