|
Der TextTransformer ist eine neue Art von Programm,
zu dem es kein vergleichbares gibt. Er vereinigt in sich
Fähigkeiten der bekannten Unix-Tools lex&yacc,
sed und awk mit den textverarbeitenden Fähigkeiten
von Skriptsprachen. Im allgemein
gesagt dient der Textformer der Umwandlung von Texten.
Speziell kann dies sehr Verschiedenes bedeuten:
- multiple Wortersetzungen
- Extraktion von Informationen
- Validierung von Daten (Syntaxcheck)
- Auswertung von Datensätzen
- Konvertierung verschiedener Dateiformate
- Übersetzungen
- Entwicklung von Skriptsprachen
Der TextTransformer
besitzt eine komfortable Bedienungsoberfläche mit
Syntaxhighlighting, unmittelbarer Lokalisierung von Fehlern
und einem intergrierten Debugger, der das Testen eines
Programms ohne vorherige Kompilierung erlaubt. Für
jedes Projekt kann eine Reihe automatisch auszuführender
Tests angelegt werden. Die umfangreiche Dokumentation
ist auch online einsehbar. 
Die Arbeit mit dem TextTransformer geschieht in zwei Schritten.
1. Programmentwicklung
Zunächst muss die Struktur des Textes als Folge von Alternativen und Wiederholungen
beschrieben werden. Sodann können Aktionen definiert werden, die mit den
Teilstrukturen auszuführen sind. Das Funktionieren des so erstellten Transformationsprogramms
kann im integrierten Debugger schrittweise an Textbeispielen getestet werden.
2. Programmausführung
Fertige Programme können innerhalb des TextTransformers ausgeführt
werden, wobei es interaktiv möglich ist, Textausschnitte verschieden zu
behandeln. Ganze Verzeichnisse oder anders spezifierte Gruppen von Textdateien
können mittels des integrierten Transformations-Managers transformiert
werden oder durch ein externes Kommandozeilen-Programm.
Für breite Anwenderkreise eignet sich der TextTransformer
hervorragend zur Erstellung von Quick-and-dirty-Programmen. Bei komplexen Projekten
kann sich der Entwickler dank der ausgiebieger Grammatiktests, dem integrierten
Debugger und der Testsuite völlig auf die Grammatik der zu parsenden
Texte konzentrieren. 
Der TextTransformer basiert auf einer erweiterten LL(1)-Top-Down-Technologie,
die in eine komfortable Benutzerumgebung eingebunden ist. Im einzelnen hebt sich
TETRA von anderen Parsergeneratoren in folgenden Punkten ab:
- Interpreter: im Interpretermodus lassen sich erzeugte Parser unmittelbar
ausführen
- SKIP-Knoten: Textabschnitte für die keine expliziten Regeln existieren
können beim Parsen automatisch übersprungen werden
- Flexibilität: die Mengen der Token und Regeln sind offen. Die für
die jeweilge Startregel erforderlichen
- Symboldefinitionen werden automatisch zusammengestellt.
- Debugger: erzeugte Parser lassen sich schrittweise testen
- Testsuite: Parserregeln lassen sich automatisch testen
- Interaktivität: interaktiv können Quelltexte abschnittsweise
in Zieltexte übersetzt werden

Syntax
Token werden durch reguläre Ausdrücke (in extended POSIX) definiert.
Die Produktionen werden durch die gleichen Syntaxelemente definiert. Sie haben
hier eine Metabedeutung: Produktionen sind quasi reguläre Ausdrücke
regulärer Ausdrücke. Der Interpreter für die semantischen Aktionen
beherrscht eine Untermenge der C++-Befehle. Uneingeschränkt kann C++-Code
zum Export in generierte Parserklassen eingebunden werden. 
C++-Code-Erzeugung
Die Professional Version des TextTransformers produziert objektorientierten
C++-Code. Zu einer Startregel wird eine Parserklasse generiert und die übrigen
Produktionen werden als einzelne Klassenmethoden implementiert. Scanner zur
lexikalischen Analyse sind Klassenelemente. Der Code wird in eine Parserklassenschablone
eingetragen, die für jeden Parser individuell abgeändert werden kann,
so dass Parserklassen mit beliebigen Schnittstellen, Klassenmethoden und -elementen
ausgestattet werden können. Der Code für die Basisklassen der Scanner
und Parser wird mitgeliefert. Zur Kompilierung des Codes ist eine vorherige
Installation der Bibliothek für reguläre Ausdrücke von Boost erforderlich.
Bei der Benutzung des TextTransformers macht sich der Entwickler nicht von
ihm abhängig. Der erzeugte Code ist völlig durchsichtig und es werden
keine vorkompilierten Komponenten, Dll's etc. benötigt.
Link zur Projekthomepage: www.texttransformer.de
Anmerkung:
OS: Windows
|