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