Typedef

Top  Previous  Next

Examples > C-typedef > Typedef

 

A type definition is started in C with the keyword typedef. For example:

 

typedef const char* cpchar;

 

cpchar can be used instead of "const char*" in the C code after this definition.

The simplified production type_definition for parsing the definition is:

 

"typedef" 

declaration_specifiers? "*"* 

ID 

{{ AddToken(xState.str(), "TYPE", ScopeStr()); }} 

";"

 

The second line contains the rule for the expression, which has to be abbreviated. ID in the third line recognizes  the name of the definition.

With the following semantic action the found name is added to the dynamic token "TYPE" as an additional alternative now. TYPE is defined on the token page as:

 

TYPE ::= {DYNAMIC} 

 

TYPE is used in the  type_specifier production:

 

  "void"

| "char"

| "short"

| "int"

| "long"

| "float"

| "double"

| "signed"

| "unsigned"

| TYPE

 

So:

 

cpchar p;

 

p is correctly recognized as a declaration of a variable with the user defined type cpchar.

 

 

 

 

 



This page belongs to the TextTransformer Documentation

Home  Content  German