1da2e3ebchin/*
2da2e3ebchin *
3da2e3ebchin * Glenn Fowler
4da2e3ebchin * AT&T Research
5da2e3ebchin *
6da2e3ebchin * @(#)pp.tab (AT&T Labs Research) 2006-05-09
7da2e3ebchin *
8da2e3ebchin * C preprocessor tables and states
9da2e3ebchin *
10da2e3ebchin * + marks extensions to the standard
11da2e3ebchin *
12da2e3ebchin */
13da2e3ebchin
14da2e3ebchin#define DEFINE	1
15da2e3ebchin#define ELIF	2
16da2e3ebchin#define ELSE	3
17da2e3ebchin#define ENDIF	4
18da2e3ebchin#define ENDMAC	5
19da2e3ebchin#define ERROR	6
20da2e3ebchin#define IF	7
21da2e3ebchin#define IFDEF	8
22da2e3ebchin#define IFNDEF	9
23da2e3ebchin#define INCLUDE	10
24da2e3ebchin#define LET	11
25da2e3ebchin#define LINE	12
26da2e3ebchin#define MACDEF	13
27da2e3ebchin#define PRAGMA	14
28da2e3ebchin#define RENAME	15
29da2e3ebchin#define UNDEF	16
30da2e3ebchin#define WARNING	17
31da2e3ebchin
32da2e3ebchin#define X_ALLMULTIPLE	1
33da2e3ebchin#define X_ALLPOSSIBLE	2
34da2e3ebchin#define X_BUILTIN	3
35da2e3ebchin#define X_CATLITERAL	4
36da2e3ebchin#define X_CDIR	5
37da2e3ebchin#define X_CHECKPOINT	6
38da2e3ebchin#define X_CHOP	7
39da2e3ebchin#define X_COMPATIBILITY	8
40da2e3ebchin#define X_DEBUG	9
41da2e3ebchin#define X_ELSEIF	10
42da2e3ebchin#define X_EXTERNALIZE	11
43da2e3ebchin#define X_FINAL	12
44da2e3ebchin#define X_HIDE	13
45da2e3ebchin#define X_HEADEREXPAND	14
46da2e3ebchin#define X_HEADEREXPANDALL	15
47da2e3ebchin#define X_HOSTED	16
48da2e3ebchin#define X_HOSTEDTRANSITION	17
49da2e3ebchin#define X_HOSTDIR	18
50da2e3ebchin#define X_ID	19
51da2e3ebchin#define X_IGNORE	20
52da2e3ebchin#define X_INCLUDE	21
53da2e3ebchin#define X_INITIAL	22
54da2e3ebchin#define X_KEYARGS	23
55da2e3ebchin#define X_LINE	24
56da2e3ebchin#define X_LINEBASE	25
57da2e3ebchin#define X_LINEFILE	26
58da2e3ebchin#define X_LINEID	27
59da2e3ebchin#define X_LINETYPE	28
60da2e3ebchin#define X_MACREF	29
61da2e3ebchin#define X_MAP	30
62da2e3ebchin#define X_MAPINCLUDE	31
63da2e3ebchin#define X_MODERN	32
64da2e3ebchin#define X_MULTIPLE	33
65da2e3ebchin#define X_NATIVE	34
66da2e3ebchin#define X_NOTE	35
67da2e3ebchin#define X_OPSPACE	36
68da2e3ebchin#define X_PASSTHROUGH	37
69da2e3ebchin#define X_PEDANTIC	38
70da2e3ebchin#define X_PLUSCOMMENT	39
71da2e3ebchin#define X_PLUSPLUS	40
72da2e3ebchin#define X_PLUSSPLICE	41
73da2e3ebchin#define X_PRAGMAFLAGS	42
74da2e3ebchin#define X_PRAGMAEXPAND	43
75da2e3ebchin#define X_PREDEFINED	44
76da2e3ebchin#define X_PREFIX	45
77da2e3ebchin#define X_PRESERVE	46
78da2e3ebchin#define X_PROTO	47
79da2e3ebchin#define X_PROTOTYPED	48
80da2e3ebchin#define X_QUOTE	49
81da2e3ebchin#define X_READONLY	50
82da2e3ebchin#define X_REGUARD	51
83da2e3ebchin#define X_RESERVED	52
84da2e3ebchin#define X_SPACEOUT	53
85da2e3ebchin#define X_SPLICECAT	54
86da2e3ebchin#define X_SPLICESPACE	55
87da2e3ebchin#define X_STANDARD	56
88da2e3ebchin#define X_STATEMENT	57
89da2e3ebchin#define X_STRICT	58
90da2e3ebchin#define X_STRINGSPAN	59
91da2e3ebchin#define X_STRINGSPLIT	60
92da2e3ebchin#define X_SYSTEM_HEADER	61
93da2e3ebchin#define X_TEST	62
94da2e3ebchin#define X_TEXT	63
95da2e3ebchin#define X_TRANSITION	64
96da2e3ebchin#define X_TRUNCATE	65
97da2e3ebchin#define X_VENDOR	66
98da2e3ebchin#define X_VERSION	67
99da2e3ebchin#define X_WARN	68
100da2e3ebchin#define X_ZEOF	69
101da2e3ebchin#define X_last_option	69
102da2e3ebchin
103da2e3ebchin#define X_DEFINED	70
104da2e3ebchin#define X_EXISTS	71
105da2e3ebchin#define X_INCLUDED	72
106da2e3ebchin#define X_MATCH	73
107da2e3ebchin#define X_NOTICED	74
108da2e3ebchin#define X_OPTION	75
109da2e3ebchin#define X_SIZEOF	76
110da2e3ebchin#define X_STRCMP	77
111da2e3ebchin
112da2e3ebchin#define R_DEFINED	1
113da2e3ebchin
114da2e3ebchin#define ADD	(1<<0)
115da2e3ebchin#define COLLECTING	(1<<1)
116da2e3ebchin#define COMPATIBILITY	(1<<2)
117da2e3ebchin#define COMPILE	(1<<3)
118da2e3ebchin#define CONDITIONAL	(1<<4)
119da2e3ebchin#define DEFINITION	(1<<5)
120da2e3ebchin#define DIRECTIVE	(1<<6)
121da2e3ebchin#define DISABLE	(1<<7)
122da2e3ebchin#define EOF2NL	(1<<8)
123da2e3ebchin#define ESCAPE	(1<<9)
124da2e3ebchin#define FILEPOP	(1<<10)
125da2e3ebchin#define HEADER	(1<<11)
126da2e3ebchin#define HIDDEN	(1<<12)
127da2e3ebchin#define JOINING	(1<<13)
128da2e3ebchin#define NEWLINE	(1<<14)
129da2e3ebchin#define NOEXPAND	(1L<<15)
130da2e3ebchin#define NOSPACE	(1L<<16)
131da2e3ebchin#define NOTEXT	(1L<<17)
132da2e3ebchin#define NOVERTICAL	(1L<<18)
133da2e3ebchin#define PASSEOF	(1L<<19)
134da2e3ebchin#define PASSTHROUGH	(1L<<20)
135da2e3ebchin#define QUOTE	(1L<<21)
136da2e3ebchin#define SKIPCONTROL	(1L<<22)
137da2e3ebchin#define SKIPMACRO	(1L<<23)
138da2e3ebchin#define SPACEOUT	(1L<<24)
139da2e3ebchin#define SQUOTE	(1L<<25)
140da2e3ebchin#define STANDALONE	(1L<<26)
141da2e3ebchin#define STRICT	(1L<<27)
142da2e3ebchin#define STRIP	(1L<<28)
143da2e3ebchin#define SYNCLINE	(1L<<29)
144da2e3ebchin#define TRANSITION	(1L<<30)
145da2e3ebchin#define WARN	(1L<<31)
146da2e3ebchin
147da2e3ebchin#define ALLMULTIPLE	(1<<0)
148da2e3ebchin#define BUILTIN	(1<<1)
149da2e3ebchin#define CATLITERAL	(1<<2)
150da2e3ebchin#define DUMP	(1<<3)
151da2e3ebchin#define EXPOSE	(1<<4)
152da2e3ebchin#define EXTERNALIZE	(1<<5)
153da2e3ebchin#define FILEDEPS	(1<<6)
154da2e3ebchin#define GENDEPS	(1<<7)
155da2e3ebchin#define HEADERDEPS	(1<<8)
156da2e3ebchin#define HOSTED	(1<<9)
157da2e3ebchin#define HOSTEDTRANSITION	(1<<10)
158da2e3ebchin#define INACTIVE	(1<<11)
159da2e3ebchin#define INIT	(1<<12)
160da2e3ebchin#define LOADING	(1<<13)
161da2e3ebchin#define MARKC	(1<<14)
162da2e3ebchin#define MARKHOSTED	(1L<<15)
163da2e3ebchin#define MARKMACRO	(1L<<16)
164da2e3ebchin#define PEDANTIC	(1L<<17)
165da2e3ebchin#define READONLY	(1L<<18)
166da2e3ebchin#define RELAX	(1L<<19)
167da2e3ebchin
168da2e3ebchin#define ALLPOSSIBLE	(1<<0)
169da2e3ebchin#define DEFINITIONS	(1<<1)
170da2e3ebchin#define ELSEIF	(1<<2)
171da2e3ebchin#define FINAL	(1<<3)
172da2e3ebchin#define HEADEREXPAND	(1<<4)
173da2e3ebchin#define HEADEREXPANDALL	(1<<5)
174da2e3ebchin#define IGNORELINE	(1<<6)
175da2e3ebchin#define INITIAL	(1<<7)
176da2e3ebchin#define KEEPNOTEXT	(1<<8)
177da2e3ebchin#define KEYARGS	(1<<9)
178da2e3ebchin#define MODERN	(1<<10)
179da2e3ebchin#define NATIVE	(1<<11)
180da2e3ebchin#define NOHASH	(1<<12)
181da2e3ebchin#define NOISE	(1<<13)
182da2e3ebchin#define NOISEFILTER	(1<<14)
183da2e3ebchin#define NOPROTO	(1L<<15)
184da2e3ebchin#define PLUSCOMMENT	(1L<<16)
185da2e3ebchin#define PLUSPLUS	(1L<<17)
186da2e3ebchin#define PLUSSPLICE	(1L<<18)
187da2e3ebchin#define PRAGMAEXPAND	(1L<<19)
188da2e3ebchin#define PREDEFINED	(1L<<20)
189da2e3ebchin#define PREDEFINITIONS	(1L<<21)
190da2e3ebchin#define PREFIX	(1L<<22)
191da2e3ebchin#define PRESERVE	(1L<<23)
192da2e3ebchin#define PROTOTYPED	(1L<<24)
193da2e3ebchin#define REGUARD	(1L<<25)
194da2e3ebchin#define SPLICECAT	(1L<<26)
195da2e3ebchin#define SPLICESPACE	(1L<<27)
196da2e3ebchin#define STRINGSPAN	(1L<<28)
197da2e3ebchin#define STRINGSPLIT	(1L<<29)
198da2e3ebchin#define TRUNCATE	(1L<<30)
199da2e3ebchin#define ZEOF	(1L<<31)
200da2e3ebchin
201da2e3ebchin#define V__PRAGMA	78
202da2e3ebchin#define V_ARGC	79
203da2e3ebchin#define V_BASE	80
204da2e3ebchin#define V_DATE	81
205da2e3ebchin#define V_FILE	82
206da2e3ebchin#define V_FUNCTION	83
207da2e3ebchin#define V_LINE	84
208da2e3ebchin#define V_PATH	85
209da2e3ebchin#define V_SOURCE	86
210da2e3ebchin#define V_STDC	87
211da2e3ebchin#define V_TIME	88
212da2e3ebchin#define V_VERSION	89
213da2e3ebchin#define V_DEFAULT	90
214da2e3ebchin#define V_DIRECTIVE	91
215da2e3ebchin#define V_EMPTY	92
216da2e3ebchin#define V_GETENV	93
217da2e3ebchin#define V_GETMAC	94
218da2e3ebchin#define V_GETOPT	95
219da2e3ebchin#define V_GETPRD	96
220da2e3ebchin#define V_ITERATE	97
221