improvements in statement parsing, improvements in ast printing
[cparser] / tokens.inc
index 9c40b57..ff8b237 100644 (file)
@@ -5,15 +5,12 @@
 TS(IDENTIFIER,     "identifier", = 256)
 TS(INTEGER,        "integer number",)
 TS(STRING_LITERAL, "string literal",)
-TS(PP_NEWLINE,     "praeprocessor newline",)
-TS(PP_HEADER_NAME, "praeprocessor header name",)
 
 #define S(x)   T(x,#x,)
 S(auto)
 S(break)
 S(case)
 S(char)
-S(const)
 S(continue)
 S(default)
 S(do)
@@ -25,11 +22,9 @@ S(float)
 S(for)
 S(goto)
 S(if)
-S(inline)
 S(int)
 S(long)
 S(register)
-S(restrict)
 S(return)
 S(short)
 S(signed)
@@ -46,8 +41,20 @@ S(while)
 S(_Bool)
 S(_Complex)
 S(_Imaginary)
+S(__extension__)
+S(__attribute__)
+S(__builtin_va_list)
 #undef S
 
+T(const,               "__const",)
+T(_const,                "const", = T_const)
+T(restrict,         "__restrict",)
+T(_restrict,          "restrict", = T_restrict)
+T(asm,                     "asm",)
+T(__asm__,             "__asm__", = T_asm)
+T(inline,               "inline",)
+T(__inline,           "__inline", = T_inline)
+
 T(SELECT,                   "->",)
 T(PLUSPLUS,                 "++",)
 T(MINUSMINUS,               "--",)
@@ -74,6 +81,13 @@ T(HASHHASH,                 "##",)
 
 #define T_LAST_TOKEN  (T_HASHHASH+1)
 
+T(LESSCOLON,                "<:",   = '[')
+T(COLONGREATER,             ":>",   = ']')
+T(LESSPERCENT,              "<%",   = '{')
+T(PERCENTGREATER,           "%>",   = '}')
+T(PERCENTCOLON,             "%:",   = '#')
+T(PERCENTCOLONPERCENTCOLON, "%:%:", = T_HASHHASH)
+
 T(RBRACK,          "[", = '[')
 T(LBRACK,          "]", = ']')
 T(LBRACE,          "(", = '(')
@@ -100,9 +114,4 @@ T(EQUAL,           "=", = '=')
 T(COMMA,           ",", = ',')
 T(HASH,            "#", = '#')
 
-T(LESSCOLON,                "<:",   = '[')
-T(COLONGREATER,             ":>",   = ']')
-T(LESSPERCENT,              "<%",   = '{')
-T(PERCENTGREATER,           "%>",   = '}')
-T(PERCENTCOLON,             "%:",   = '#')
-T(PERCENTCOLONPERCENTCOLON, "%:%:", = T_HASHHASH)
+TS(NEWLINE,        "newline", = '\n')