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