Codeerzeugung

Top  Previous  Next

 

Die Professional-Version des TextTransformers ist dadurch ausgezeichnet, dass es hier möglich ist, den Quellcode für eine C++-Klasse des gebildeten Parsers zu exportieren. Der TextTransformers erzeugt sämtlichen Code, der für ein eigenständiges ausführbares Programm erforderlich ist. Ebenso lässt sich der generierte Code als Teil in größere Anwendungen einbinden.

 

Die Verwendung des generierten Codes hat drei Vorteile gegenüber der Verwendung eines Projekts im TextTransformer selbst:

 

das mit dem Code erzeugte Programm ist unabhängig vom TextTransformer zu benutzen
das Programm ist schneller
die semantischen Aktionen sind nicht auf die Untermenge der in TETRA interpretierbaren C++-Anweisungen beschränkt

 

 

In der Einleitung wurde dargestellt, dass eine Produktion als Spezifikation zur Erzeugung eine Funktion angesehen werden kann. Die Codeerzeugung ist nun die Anwendung dieser Spezifikation, d.h. für jede Produktion wird eine entsprechende Funktion erzeugt.

 

Der C++-Code für die semantischen Aktionen wird dabei aus den entsprechenden Abschnitten der einzelnen Produktionen entsprechend der Projekteinstellung durch bloßes Kopieren oder durch Rekonstruktion übernommen. Der C++-Code für den eigentlichen Parser wird von TETRA an gekennzeichneten Positionen in Quellcode-Schablonen geschrieben.

 

Zur Kompilierung eines von TETRA erzeugten Parsers ist neben der Bibliothek für reguläre Ausdrücke von Dr. Maddock noch einiger unterstützender C++-Quellcode erforderlich.

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English