Grundlegend gibt es 4 Funktionen.
- Im oberen Bereich kann man ein Projekt anlegen/öffnen/speichern. Ein kleines Testprojekt (yn_test.ldf) liegt bei.
- Zum Erzeugen der Eingabesprache (oberster Tab im Bild) kann man einfache Ausdrücke testen und angeben. Die Eingabesprache ist dabei mehr Mathematischer Natur und erlaubt Klammern (), Zeichenmengen [...] und deren Negation [^...], Buchstaben in kodierter Form #... sowie die Operationen auf "Sprachen": oder |, einmal oder mehrfach +, gar nicht oder mehrfach *, gar nicht oder einmal ?.
- Im zweiten Tab (mitte im Bild) kann man die zuvor erzeugten Token Patterns testen. Der Lexer wird dynamisch generiert und gibt einfach die Positionen der gefundenen Patterns zurück.
- Im dritten Tab kann man aus den Patterns ein Lexer Modul oder DOT (graphviz DOT) Dateien für NEA/DEA und MinDEA erzeugen. Letztere lassen sich z.b. mit dem graphviz dot Programm in Bilder umwandeln. Ersteres kann in Verbindung mit der beiliegenden splex.pas zum Lexen genutzt werden.
Anmerkung:
Der Code ist unter MIT Lizenz lizenziert und erlaubt damit so ziemlich alles was man damit machen möchte (siehe COPYRIGHT Notiz).
Das Programm (bzw. eine Konsolen Variante) wurde ursprünglich dafür entwickelt mit sehr einfacher Angabe von Token Patterns, Lexer zu generieren. Mittlerweile nutze ich aber lieber andere Programme und handgeschriebene Scanner und habe nicht vor den Code weiter zu entwickeln. Daher "release" ich es lieber, als das Programm und die damit verbundene Arbeit einfach weg zuwerfen.
Betriebsystem / OS: An sich alle, soweit wie die Komponenten unterstützt werden. Getestet unter Linux (gtk2) mit Lazarus 0.9.31/FPC 2.5.1 (beleeding edge).
Besonderheiten/Anforderungen des Programms:
- Minimales wissen über Reguläre Ausdrücke.
- Das Kernstück für die Transformation arbeitet auf 8bit Zeichen. Es wird in keiner weise auf utf8/codepages geachtet. D.h. alles was generiert wird kann unter gewissen Kriterien nutzlos sein.
Version: 26.02.2011 nach aktuellem Datum.