1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1986-2009 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
19 ***********************************************************************/
25 * preprocessor C language keyword token values
26 * handles classic, ANSI and C++
27 * additional non-standard keyword tokens are
28 * crammed into T_NOISE and T_X_*
35 * NOTE: preserve the ranges for is*()
38 #define ppisnoise(x) ((x)>=T_NOISE&&(x)<T_KEYWORD)
44 #define T_AUTO (T_TOKEN+0)
45 #define T_BREAK (T_TOKEN+1)
46 #define T_CASE (T_TOKEN+2)
47 #define T_CHAR (T_TOKEN+3)
48 #define T_CONTINUE (T_TOKEN+4)
49 #define T_DEFAULT (T_TOKEN+5)
50 #define T_DO (T_TOKEN+6)
51 #define T_DOUBLE_T (T_TOKEN+7)
52 #define T_ELSE (T_TOKEN+8)
53 #define T_EXTERN (T_TOKEN+9)
54 #define T_FLOAT_T (T_TOKEN+10)
55 #define T_FOR (T_TOKEN+11)
56 #define T_GOTO (T_TOKEN+12)
57 #define T_IF (T_TOKEN+13)
58 #define T_INT (T_TOKEN+14)
59 #define T_LONG (T_TOKEN+15)
60 #define T_REGISTER (T_TOKEN+16)
61 #define T_RETURN (T_TOKEN+17)
62 #define T_SHORT (T_TOKEN+18)
63 #define T_SIZEOF (T_TOKEN+19)
64 #define T_STATIC (T_TOKEN+20)
65 #define T_STRUCT (T_TOKEN+21)
66 #define T_SWITCH (T_TOKEN+22)
67 #define T_TYPEDEF (T_TOKEN+23)
68 #define T_UNION (T_TOKEN+24)
69 #define T_UNSIGNED (T_TOKEN+25)
70 #define T_WHILE (T_TOKEN+26)
76 #define T_CONST (T_TOKEN+27)
77 #define T_ENUM (T_TOKEN+28)
78 #define T_SIGNED (T_TOKEN+29)
79 #define T_VOID (T_TOKEN+30)
80 #define T_VOLATILE (T_TOKEN+31)
86 #define T_ASM (T_TOKEN+32)
87 #define T_BOOL (T_TOKEN+33)
88 #define T_CATCH (T_TOKEN+34)
89 #define T_CLASS (T_TOKEN+35)
90 #define T_CONST_CAST (T_TOKEN+36)
91 #define T_DELETE (T_TOKEN+37)
92 #define T_DYNAMIC_CAST (T_TOKEN+38)
93 #define T_EXPLICIT (T_TOKEN+39)
94 #define T_FALSE (T_TOKEN+40)
95 #define T_FRIEND (T_TOKEN+41)
96 #define T_INLINE (T_TOKEN+42)
97 #define T_MUTABLE (T_TOKEN+43)
98 #define T_NAMESPACE (T_TOKEN+44)
99 #define T_NEW (T_TOKEN+45)
100 #define T_OPERATOR (T_TOKEN+46)
101 #define T_OVERLOAD (T_TOKEN+47)
102 #define T_PRIVATE (T_TOKEN+48)
103 #define T_PROTECTED (T_TOKEN+49)
104 #define T_PUBLIC (T_TOKEN+50)
105 #define T_REINTERPRET_CAST (T_TOKEN+51)
106 #define T_STATIC_CAST (T_TOKEN+52)
107 #define T_TEMPLATE (T_TOKEN+53)
108 #define T_THIS (T_TOKEN+54)
109 #define T_THROW (T_TOKEN+55)
110 #define T_TRUE (T_TOKEN+56)
111 #define T_TRY (T_TOKEN+57)
112 #define T_TYPEID (T_TOKEN+58)
113 #define T_USING (T_TOKEN+59)
114 #define T_VIRTUAL (T_TOKEN+60)
115 #define T_WCHAR_T (T_TOKEN+61)
121 #define T_INT64 (T_TOKEN+62)
127 #define T_BUILTIN (T_TOKEN+63)
128 #define T_NOISES (T_TOKEN+64)
129 #define T_NOISE (T_TOKEN+65)
130 #define T_X_GROUP (T_TOKEN+66)
131 #define T_X_LINE (T_TOKEN+67)
132 #define T_X_STATEMENT (T_TOKEN+68)
135 * first available keyword token value
138 #define T_KEYWORD (T_TOKEN+69)
141 * implementation globals
144 extern struct ppkeyword ppkey
[];