Startregel: guard

Top  Previous  Next

Beispiele > Guard > Startregel: guard

 

Die Startregel des Programms trägt den Namen des Projekts guard. Sie soll den gesamten Text einer von TETRA erzeugten C++-Quelldatei erkennen können:

 

(

SKIP                {{ out << xState.copy(); }}

| constructor

| destructor

| member_function

| global_declaration  {{ out << xState.lp_copy(); }}

| LINE_COMMENT        {{ out << xState.copy(); }}

| PREPROCESSED        {{ out << xState.copy(); }}

| USING               {{ out << xState.copy(); }}

)+

 

Die Namen der alternativen Productionen, die in der Schleife aufgerufen werden können, bezeichnen die Strukturen, die mit diesen Regeln erfasst werden sollen. Ein C++-Quelltext besteht demnach aus Konstruktoren, Destruktoren, Klassenfunktionen, Kommentaren,  Zeilen, die vom Präprozessor verarbeitet werden, using-Direktiven und einem undefinierten Rest, der durch das SKIP-Symbol abgedeckt wird.

Die Konstruktoren, Destruktoren und Klassenfunktionen sollen mit "Wächtern" instrumentiert werden. Die anderen Teile des C++-Codes sollen unverändet in den Zieltext kopiert werden.



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English