/* * * Glenn Fowler * AT&T Research * * @(#)pp.tab (AT&T Labs Research) 2006-05-09 * * C preprocessor tables and states * * + marks extensions to the standard * */ #define DEFINE 1 #define ELIF 2 #define ELSE 3 #define ENDIF 4 #define ENDMAC 5 #define ERROR 6 #define IF 7 #define IFDEF 8 #define IFNDEF 9 #define INCLUDE 10 #define LET 11 #define LINE 12 #define MACDEF 13 #define PRAGMA 14 #define RENAME 15 #define UNDEF 16 #define WARNING 17 #define X_ALLMULTIPLE 1 #define X_ALLPOSSIBLE 2 #define X_BUILTIN 3 #define X_CATLITERAL 4 #define X_CDIR 5 #define X_CHECKPOINT 6 #define X_CHOP 7 #define X_COMPATIBILITY 8 #define X_DEBUG 9 #define X_ELSEIF 10 #define X_EXTERNALIZE 11 #define X_FINAL 12 #define X_HIDE 13 #define X_HEADEREXPAND 14 #define X_HEADEREXPANDALL 15 #define X_HOSTED 16 #define X_HOSTEDTRANSITION 17 #define X_HOSTDIR 18 #define X_ID 19 #define X_IGNORE 20 #define X_INCLUDE 21 #define X_INITIAL 22 #define X_KEYARGS 23 #define X_LINE 24 #define X_LINEBASE 25 #define X_LINEFILE 26 #define X_LINEID 27 #define X_LINETYPE 28 #define X_MACREF 29 #define X_MAP 30 #define X_MAPINCLUDE 31 #define X_MODERN 32 #define X_MULTIPLE 33 #define X_NATIVE 34 #define X_NOTE 35 #define X_OPSPACE 36 #define X_PASSTHROUGH 37 #define X_PEDANTIC 38 #define X_PLUSCOMMENT 39 #define X_PLUSPLUS 40 #define X_PLUSSPLICE 41 #define X_PRAGMAFLAGS 42 #define X_PRAGMAEXPAND 43 #define X_PREDEFINED 44 #define X_PREFIX 45 #define X_PRESERVE 46 #define X_PROTO 47 #define X_PROTOTYPED 48 #define X_QUOTE 49 #define X_READONLY 50 #define X_REGUARD 51 #define X_RESERVED 52 #define X_SPACEOUT 53 #define X_SPLICECAT 54 #define X_SPLICESPACE 55 #define X_STANDARD 56 #define X_STATEMENT 57 #define X_STRICT 58 #define X_STRINGSPAN 59 #define X_STRINGSPLIT 60 #define X_SYSTEM_HEADER 61 #define X_TEST 62 #define X_TEXT 63 #define X_TRANSITION 64 #define X_TRUNCATE 65 #define X_VENDOR 66 #define X_VERSION 67 #define X_WARN 68 #define X_ZEOF 69 #define X_last_option 69 #define X_DEFINED 70 #define X_EXISTS 71 #define X_INCLUDED 72 #define X_MATCH 73 #define X_NOTICED 74 #define X_OPTION 75 #define X_SIZEOF 76 #define X_STRCMP 77 #define R_DEFINED 1 #define ADD (1<<0) #define COLLECTING (1<<1) #define COMPATIBILITY (1<<2) #define COMPILE (1<<3) #define CONDITIONAL (1<<4) #define DEFINITION (1<<5) #define DIRECTIVE (1<<6) #define DISABLE (1<<7) #define EOF2NL (1<<8) #define ESCAPE (1<<9) #define FILEPOP (1<<10) #define HEADER (1<<11) #define HIDDEN (1<<12) #define JOINING (1<<13) #define NEWLINE (1<<14) #define NOEXPAND (1L<<15) #define NOSPACE (1L<<16) #define NOTEXT (1L<<17) #define NOVERTICAL (1L<<18) #define PASSEOF (1L<<19) #define PASSTHROUGH (1L<<20) #define QUOTE (1L<<21) #define SKIPCONTROL (1L<<22) #define SKIPMACRO (1L<<23) #define SPACEOUT (1L<<24) #define SQUOTE (1L<<25) #define STANDALONE (1L<<26) #define STRICT (1L<<27) #define STRIP (1L<<28) #define SYNCLINE (1L<<29) #define TRANSITION (1L<<30) #define WARN (1L<<31) #define ALLMULTIPLE (1<<0) #define BUILTIN (1<<1) #define CATLITERAL (1<<2) #define DUMP (1<<3) #define EXPOSE (1<<4) #define EXTERNALIZE (1<<5) #define FILEDEPS (1<<6) #define GENDEPS (1<<7) #define HEADERDEPS (1<<8) #define HOSTED (1<<9) #define HOSTEDTRANSITION (1<<10) #define INACTIVE (1<<11) #define INIT (1<<12) #define LOADING (1<<13) #define MARKC (1<<14) #define MARKHOSTED (1L<<15) #define MARKMACRO (1L<<16) #define PEDANTIC (1L<<17) #define READONLY (1L<<18) #define RELAX (1L<<19) #define ALLPOSSIBLE (1<<0) #define DEFINITIONS (1<<1) #define ELSEIF (1<<2) #define FINAL (1<<3) #define HEADEREXPAND (1<<4) #define HEADEREXPANDALL (1<<5) #define IGNORELINE (1<<6) #define INITIAL (1<<7) #define KEEPNOTEXT (1<<8) #define KEYARGS (1<<9) #define MODERN (1<<10) #define NATIVE (1<<11) #define NOHASH (1<<12) #define NOISE (1<<13) #define NOISEFILTER (1<<14) #define NOPROTO (1L<<15) #define PLUSCOMMENT (1L<<16) #define PLUSPLUS (1L<<17) #define PLUSSPLICE (1L<<18) #define PRAGMAEXPAND (1L<<19) #define PREDEFINED (1L<<20) #define PREDEFINITIONS (1L<<21) #define PREFIX (1L<<22) #define PRESERVE (1L<<23) #define PROTOTYPED (1L<<24) #define REGUARD (1L<<25) #define SPLICECAT (1L<<26) #define SPLICESPACE (1L<<27) #define STRINGSPAN (1L<<28) #define STRINGSPLIT (1L<<29) #define TRUNCATE (1L<<30) #define ZEOF (1L<<31) #define V__PRAGMA 78 #define V_ARGC 79 #define V_BASE 80 #define V_DATE 81 #define V_FILE 82 #define V_FUNCTION 83 #define V_LINE 84 #define V_PATH 85 #define V_SOURCE 86 #define V_STDC 87 #define V_TIME 88 #define V_VERSION 89 #define V_DEFAULT 90 #define V_DIRECTIVE 91 #define V_EMPTY 92 #define V_GETENV 93 #define V_GETMAC 94 #define V_GETOPT 95 #define V_GETPRD 96 #define V_ITERATE 97