implemented builtin_nan, nand
[cparser] / tokens.inc
1 #ifndef TS
2 #define TS(x,str,val)
3 #endif
4
5 TS(IDENTIFIER,     "identifier", = 256)
6 TS(INTEGER,        "integer number",)
7 TS(FLOATINGPOINT,  "floatingpoint number",)
8 TS(STRING_LITERAL, "string literal",)
9
10 #define S(x)   T(x,#x,)
11 S(auto)
12 S(break)
13 S(case)
14 S(char)
15 S(continue)
16 S(default)
17 S(do)
18 S(double)
19 S(else)
20 S(enum)
21 S(extern)
22 S(float)
23 S(for)
24 S(goto)
25 S(if)
26 S(int)
27 S(long)
28 S(register)
29 S(return)
30 S(short)
31 S(signed)
32 S(sizeof)
33 S(static)
34 S(struct)
35 S(switch)
36 S(typedef)
37 S(union)
38 S(unsigned)
39 S(void)
40 S(while)
41 S(_Bool)
42 S(_Complex)
43 S(_Imaginary)
44 S(__thread)
45 S(__extension__)
46 S(__attribute__)
47 S(__builtin_classify_type)
48 S(__builtin_va_list)
49 S(__builtin_expect)
50 S(__builtin_offsetof)
51 S(__builtin_va_start)
52 S(__builtin_va_arg)
53 S(__builtin_va_end)
54 S(__builtin_alloca)
55 S(__builtin_nanf)
56 S(__builtin_nan)
57 S(__builtin_nand)
58 S(__PRETTY_FUNCTION__)
59 S(__FUNCTION__)
60 S(__func__)
61 S(__alignof__)
62 S(__real__)
63 S(__imag__)
64 #undef S
65
66 T(const,               "__const",)
67 T(_const,                "const", = T_const)
68 T(restrict,         "__restrict",)
69 T(_restrict,          "restrict", = T_restrict)
70 T(asm,                     "asm",)
71 T(__asm__,             "__asm__", = T_asm)
72 T(volatile,           "volatile",)
73 T(__volatile__,   "__volatile__", = T_volatile)
74 T(inline,               "inline",)
75 T(__inline,           "__inline", = T_inline)
76 T(__inline__,       "__inline__", = T_inline)
77 T(typeof,               "typeof",)
78 T(__typeof__,       "__typeof__", = T_typeof)
79
80 T(MINUSGREATER,             "->",)
81 T(PLUSPLUS,                 "++",)
82 T(MINUSMINUS,               "--",)
83 T(LESSLESS,                 "<<",)
84 T(GREATERGREATER,           ">>",)
85 T(LESSEQUAL,                "<=",)
86 T(GREATEREQUAL,             ">=",)
87 T(EQUALEQUAL,               "==",)
88 T(EXCLAMATIONMARKEQUAL,     "!=",)
89 T(ANDAND,                   "&&",)
90 T(PIPEPIPE,                 "||",)
91 T(DOTDOTDOT,                "...",)
92 T(ASTERISKEQUAL,            "*=",)
93 T(SLASHEQUAL,               "/=",)
94 T(PERCENTEQUAL,             "%=",)
95 T(PLUSEQUAL,                "+=",)
96 T(MINUSEQUAL,               "-=",)
97 T(LESSLESSEQUAL,            "<<=",)
98 T(GREATERGREATEREQUAL,      ">>=",)
99 T(ANDEQUAL,                 "&=",)
100 T(CARETEQUAL,               "^=",)
101 T(PIPEEQUAL,                "|=",)
102 T(HASHHASH,                 "##",)
103
104 #define T_LAST_TOKEN  (T_HASHHASH+1)
105
106 T(LESSCOLON,                "<:",   = '[')
107 T(COLONGREATER,             ":>",   = ']')
108 T(LESSPERCENT,              "<%",   = '{')
109 T(PERCENTGREATER,           "%>",   = '}')
110 T(PERCENTCOLON,             "%:",   = '#')
111 T(PERCENTCOLONPERCENTCOLON, "%:%:", = T_HASHHASH)
112
113 T(RBRACK,          "[", = '[')
114 T(LBRACK,          "]", = ']')
115 T(LBRACE,          "(", = '(')
116 T(RBRACE,          ")", = ')')
117 T(RCURLY,          "{", = '{')
118 T(LCURLY,          "}", = '}')
119 T(DOT,             ".", = '.')
120 T(AND,             "&", = '&')
121 T(ASTERISK,        "*", = '*')
122 T(PLUS,            "+", = '+')
123 T(MINUS,           "-", = '-')
124 T(TILDE,           "~", = '~')
125 T(EXCLAMATIONMARK, "!", = '!')
126 T(SLASH,           "/", = '/')
127 T(PERCENT,         "%", = '%')
128 T(LESS,            "<", = '<')
129 T(GREATER,         ">", = '>')
130 T(CARET,           "^", = '^')
131 T(PIPE,            "|", = '|')
132 T(QUESTIONMARK,    "?", = '?')
133 T(COLON,           ":", = ':')
134 T(SEMICOLON,       ";", = ';')
135 T(EQUAL,           "=", = '=')
136 T(COMMA,           ",", = ',')
137 T(HASH,            "#", = '#')
138
139 TS(NEWLINE,        "newline", = '\n')