Zum Inhalt springen

JavaCC

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. September 2012 um 19:19 Uhr durch BlaMa (Diskussion | Beiträge) (Programme, die intern JavaCC verwenden). Sie kann sich erheblich von der aktuellen Version unterscheiden.
JavaCC
Basisdaten

Aktuelle Version 5.0
(31. August 2009)
Betriebssystem Betriebssysteme mit Java-Laufzeitumgebung
Programmier­sprache Java
Kategorie Parser-Generator
Lizenz BSD-Lizenz
javacc.java.net

JavaCC (Java Compiler Compiler) ist ein Lexer- und Parser-Generator, der in Java implementiert ist und bisher ausschließlich Java-Code erzeugt. Die kommende Version 6.0, ursprünglich vorgesehen für den 30. Juni 2012, wird auch die Erzeugung von C++ Code unterstützen[1]. 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.

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.
  • Die Open-Source Template-Engine Velocity greift für seine Parserfunktionen auf JavaCC zurück.[2]
  • 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.
  • Daniel McFlynn, Peter F. Weissman: Using JavaCC and SableCC. 1. Auflage. 4UPress, 2004, ISBN 0-7481-3298-2(?!).
  • Andrew W. Appel, Jens Palsberg: Modern Compiler Implementation in Java. 2. Auflage. Cambridge University Press, 2002, ISBN 0-521-82060-X.

Einzelnachweise

  1. JavaCC JIRA on Java.net. Abgerufen am 19. September 2012 (englisch).
  2. The Apache Velocity project - Required Tools. Abgerufen am 12. September 2012 (englisch).