Tu banner alternativo

JavaCC

In diesem Artikel werden wir die faszinierende Welt von JavaCC erkunden und verschiedene Aspekte im Zusammenhang mit dieser Person/diesem Thema/diesem Datum ansprechen. Von seinem Einfluss auf die Gesellschaft über seine Bedeutung in der Populärkultur bis hin zu seinen bemerkenswertesten Erfolgen und den Herausforderungen, denen er im Laufe seiner Karriere gegenüberstand. Darüber hinaus werden wir seinen Einfluss in bestimmten Bereichen wie Technologie, Politik, Kunst, Wissenschaft und anderen analysieren. Mit diesem Artikel möchten wir eine umfassende und bereichernde Vision von JavaCC vermitteln und den Leser dazu einladen, über dieses spannende Thema nachzudenken und sein Wissen zu vertiefen.

Tu banner alternativo
JavaCC
Basisdaten

Aktuelle Version 7.0.13[1]
(18. November 2023)
Betriebssystem Betriebssysteme mit Java-Laufzeitumgebung
Programmier­sprache Java
Kategorie Parsergenerator
Lizenz BSD-Lizenz
www.javacc.org

JavaCC (Java Compiler Compiler) ist ein Lexer- und Parsergenerator, der in Java implementiert ist und als Ausgabe Java- und C++-Quellcode erzeugt.[2] 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.[3]
  • Die Open-Source Template-Engine Velocity greift für seine Parserfunktionen auf JavaCC zurück.[4]
  • Das zur statischen Codeanalyse von Quelltexten genutzte Werkzeug PMD verwendet zur Verarbeitung der benutzerdefinierten Regeln intern JavaCC.[5]
  • 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

  • Tom Copeland: Generating Parsers with JavaCC. 2. Auflage. Centennial Books, Alexandria, 2009, ISBN 978-0-9762214-3-2.
  • Anthony J. Dos Reis, Laura L. Dos Reis: Compiler Construction Using Java, JavaCC, and Yacc. 1. Auflage. John Wiley & Sons, 2012, ISBN 978-0-470-94959-7.

Einzelnachweise

  1. Release 7.0.13. 18. November 2023 (abgerufen am 18. November 2023).
  2. JavaCC Announce Mailinglist on Java.net. Archiviert vom Original (nicht mehr online verfügbar) am 11. April 2016; abgerufen am 9. September 2013 (englisch).
  3. Apache Lucene package documentation. Abgerufen am 9. September 2013 (englisch).
  4. The Apache Velocity project – Required Tools. Abgerufen am 9. September 2013 (englisch).
  5. Customizing PMD – How to write a PMD rule. Abgerufen am 9. September 2013 (englisch).