JavaCC (Java Compiler Compiler) ist ein 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.

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.

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

Siehe auch 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)

Literatur

Einzelnachweise

__NOTOC__

Kategorie:Compilerbau Kategorie:Java (Programmiersprache) Kategorie:Freies Programmierwerkzeug Kategorie:Java-Programm