Typedef |
Top Previous Next |
Beispiele > C-Typedef > Typedef
Eine Typdefinition wird in C mit dem Schlüsselwort typedef eingeleitet. Z.B.:
typedef const char* cpchar;
Im Anschluss auf diese Definition kann cpchar anstelle von "const char*" im C-Code verwendet werden. Die vereinfachte Produktion type_definition zum Parsen der Definition ist:
"typedef" declaration_specifiers? "*"* ID {{ AddToken(xState.str(), "TYPE", ScopeStr()); }} ";"
Die zweite Zeile beinhaltet die Regel, der gemäß ein abzukürzender Ausdruck aufgebaut sein muss und mit ID in der dritten Zeile wird der Name für die Definition erkannt. Mit der folgenden semantischen Aktion wird nun der gefundene Name als zusätzliche Alternative dem dynamischen Token "TYPE" hinzugefügt. TYPE wird auf der Tokenseite definiert als:
TYPE ::= {DYNAMIC}
TYPE wird in der type_specifier Produktion verwendet:
"void" | "char" | "short" | "int" | "long" | "float" | "double" | "signed" | "unsigned" | TYPE
So wird:
cpchar p;
korrekt als Deklaration einer Variablen p mit dem benutzer-definierten Typ cpchar erkannt.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |