Zunächst muss die Struktur des Textes - die Grammatik - beschrieben werden. Viele hierfür nötige elementare Textmuster , wie. z.B. Zahlen, Worte, Anführungen etc., sind im TextTransformer-Programm als reguläre Ausdrücke bereits vordefiniert. So definierte Textmuster werden Token genannt. Die Definition neuer Token und die Kombination von Token zur vollständigen Grammatik geschieht mit nur wenigen Regeln.
Eine Folge von Ausdrücken, die im Text erwartet werden, wird durch die gleiche Folge in der Grammatik erkannt. Z.B.
"Hallo" "Welt"
würde im Text die aufeinander folgenden Worte "Hallo" und "Welt" erkennen.
Alternativen
werden mit einem '|' verbunden. Z.B. der Ausdruck
"alles" | "nichts"
würde im Text die Worte "alles" und "nichts" erkennen.
Optionen
werden mit einem '?' gekennzeichnet. Z.B.:
"vielleicht"?
würde das Wort "vielleicht" erkennen, wenn es im Text vorkommt.
Eine Wiederholung
wird durch das Zeichen '+' bezeichnet. Z.B.
Ziffer+
würde eine Zahl erkennen, die aus beliebig vielen, aber mindestens einer Ziffer besteht (Eine Ziffer kann als die Zeichmenge der Ziffern 0-9 definiert werden).
Eine optionale Wiederholung
wird durch Das Zeichen '*' bezeichnet. Z.B.
Ziffer*
würde die möglichen Nachkommastellen einer Zahl erkennen.
Assistenten helfen auch beim letzten Schritt, der für ein Transformations-Programm noch nötig ist: der Definition von Aktionen, durch die bestimmt wird was mit den bei der Analyse ekannten Textabschnitten angefangen werden soll.
Auf den jeweils zuletzt erkannten Abschnitt kann mit dem Ausdruck:
State.str()
zugegriffen werden. Der Textabschnitt kann entweder direkt in die Ausgabe geschrieben werden:
out << State.str();
oder z.B. in einer String-Variablen zwischengespeichert werden:
str s = State.str();
Das Funktionieren eines so erstellten Transformationsprogramms kann schließlich im integrierten Debugger schrittweise an Textbeispielen getestet werden.
english
Letzte Neuigkeiten |
28.10.24
Delphi2Cpp 2.5: in Groß- und Kleinschreibung mit Deklarationen übereinstimmende Symbolnamen [more...] |
26.08.24
Delphi2Cpp 2.4: Aktualisiert auf RAD Studio 12.1 Athen [more...] |
"...Fantastic!!!! ... You have exceeded my expectations and I love your product. We will get a lot of use out of it in the future for other projects." Charles Finley
xformix 23-02-07
|
I was extremely impressed with your components and tools. Not only extremely powerful but very professionally done and well documented, etc. Really quality work, congratulations
mouser (First Author, Administrator)
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.
|
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|