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