Einschlüsse / Kommentare

Top  Previous  Next

Einführung > Einschlüsse / Kommentare

 

Typisches Beispiel für das, was hier mit einem Einschluß bezeichnet wird, sind Kommentare in Programmiersprachen. Der Begriff "Einschluss" wurde hier gewählt, um die  allgemeine Struktur dieses Beispiels zu bezeichnen.

 

Kommentare oder andere Einschlüsse können an beliebigen Stellen in Texte eingeschoben sein. Die syntaktische Struktur der Texte wird durch die Einschlüsse selbst dann nicht zerstört, wenn in ihnen Schlüsselworte der Grammatik (Programmiersprache) verwendet werden.

 

Beispiel:.

 

In den Skripten des TextTransformers selbst ist die Verwendung von C++ - Kommentaren erlaubt:

 

 

In die Variablendeklaration:

 

int iCount, iEnd;

 

können Kommentare eingeschlossen werden, ohne dass der Code damit syntaktisch ungültig würde:

 

int iCount  /* int Variable als Zähler */, iEnd /* Maximalwert */;

 

 

C++ -Kommentare sind Textabschnitte, die zwischen den beiden Token "/*"  und "*/" eingeschlossen sind. Innerhalb eines solchen Einschlusses kann im Falle von C++ - Kommentaren beliebiger Text stehen, also darf auch das Schlüsselwort "int" darin vorkommen. Es wird aber hier nicht als Variablentyp interpretiert.

In älteren Versionen des TextTransformers wurden Kommentare ausschließlich als Teil der auszulassenden Zeichen behandelt und durch komplexe reguläre Ausdrücke als ganze erkannt.

Es ist aber auch möglich, dass die Texte eines Einschlusses nicht beliebig sind, sondern dass sie einer eigenen Grammatik gehorchen. Z.B. gibt es Konventionen, die in C++ - Kommentare Anweisungen einfügt, die als Dokumentation des Programmcodes extrahiert werden können.

Dazu bedarf es dann neben dem Parser für den eigentlichen Programmcode eines zweiten Parsers für die Dokumentation.

 

Im TextTransformer ist es möglich die Produktionen für diesen zweiten Parser in ein Projekt mit einzufügen und unmittelbar im Wechsel mit dem Hauptparser ausführen zu lassen. Es ist sogar möglich beliebig viele verschiedene Parser ineinander zu schachteln. Diese Parser können jeweils auf eigenen Token-Mengen operieren, so dass z.B. das Token "int" nur vom C++ - Code-Parser erkannt wird, nicht aber vom Kommentar-Parser.

 

 

 

 

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English