6 * @(#)pp.tab (AT&T Labs Research) 2006-05-09
8 * C preprocessor tables and states
10 * + marks extensions to the standard
14 static struct ppkeyword directives
[] =
36 static struct ppkeyword options
[] =
38 "allmultiple", X_ALLMULTIPLE
,
39 "allpossible", X_ALLPOSSIBLE
,
41 "catliteral", X_CATLITERAL
,
43 "checkpoint", X_CHECKPOINT
,
45 "compatibility", X_COMPATIBILITY
,
48 "externalize", X_EXTERNALIZE
,
51 "headerexpand", X_HEADEREXPAND
,
52 "headerexpandall", X_HEADEREXPANDALL
,
54 "hostedtransition", X_HOSTEDTRANSITION
,
62 "linebase", X_LINEBASE
,
63 "linefile", X_LINEFILE
,
65 "linetype", X_LINETYPE
,
68 "mapinclude", X_MAPINCLUDE
,
70 "multiple", X_MULTIPLE
,
74 "passthrough", X_PASSTHROUGH
,
75 "pedantic", X_PEDANTIC
,
76 "pluscomment", X_PLUSCOMMENT
,
77 "plusplus", X_PLUSPLUS
,
78 "plussplice", X_PLUSSPLICE
,
79 "pragmaflags", X_PRAGMAFLAGS
,
80 "pragmaexpand", X_PRAGMAEXPAND
,
81 "predefined", X_PREDEFINED
,
83 "preserve", X_PRESERVE
,
85 "prototyped", X_PROTOTYPED
,
87 "readonly", X_READONLY
,
89 "reserved", X_RESERVED
,
90 "spaceout", X_SPACEOUT
,
91 "splicecat", X_SPLICECAT
,
92 "splicespace", X_SPLICESPACE
,
93 "standard", X_STANDARD
,
94 "statement", X_STATEMENT
,
96 "stringspan", X_STRINGSPAN
,
97 "stringsplit", X_STRINGSPLIT
,
98 "system_header", X_SYSTEM_HEADER
,
101 "transition", X_TRANSITION
,
102 "truncate", X_TRUNCATE
,
104 "version", X_VERSION
,
110 static struct ppkeyword predicates
[] =
112 "defined", X_DEFINED
,
114 "+included", X_INCLUDED
,
116 "+noticed", X_NOTICED
,
123 static struct ppkeyword readonlys
[] =
125 "defined", R_DEFINED
,
129 static struct ppkeyword variables
[] =
131 "_Pragma", V__PRAGMA
,
136 "+FUNCTION", V_FUNCTION
,
142 "+VERSION", V_VERSION
,
143 "-default", V_DEFAULT
,
144 "-directive", V_DIRECTIVE
,
150 "-iterate", V_ITERATE
,