Java Compiler

Java Compiler Compiler (JavaCC) - Der Parsergenerator

Diese wirklich sehr kurze Einführung erhebt keinesfalls den Anspruch auf Vollständigkeit, sie spiegelt bei weitem nicht den vollständigen Funktionsumfang und die Möglichkeiten von JavaCC wieder.

Was ist JavaCC?

JavaCC ist ein Compiler-Werkzeug welches Java-Quellcode erzeugt. Aus der, in einer JavaCC-Datei (<code>*.jj</code>) enthaltenen Grammatikdefinition wird der Quellcode für verschiedene Klassen erzeugt.

Funktionsweise - Der JavaCC Tokenmanager

Die Tokenmanager-Klasse stellt den eigentlichen Parser dar - sie übernimmt das Scannen der Eingabe und das Erkennen der Tokens, abhängig vom lexikalischen Zustand, in dem sich der Tokenmanager gerade befindet.Dabei versucht er - entsprechend einer gegebenen Grammatik - soviele Zeichen wie möglich zu extrahieren und daraus eine Token zu erzeugen.

Der Tokenmanager befindet sich immer in genau einem lexikalischen Zustand, kann diesen aber verlassen und in einen anderen wechseln. In jedem Zustand können mehrere Tokens definiert sein.

Erzeugen eines Parsers

  • Aufruf von JavaCC<pre>$ javacc MyParser.jj</pre>
  • Aufruf des Java Compilers<pre>$ javac *.java</pre>
  • Aufruf des Java Interpreters<pre>$ java MyParser < input.txt</pre>