pptab.h revision da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland/*
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland *
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland * Glenn Fowler
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland * AT&T Research
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland *
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland * @(#)pp.tab (AT&T Labs Research) 2006-05-09
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland *
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland * C preprocessor tables and states
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland *
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland * + marks extensions to the standard
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland *
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland */
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandstatic struct ppkeyword directives[] =
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland{
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "define", DEFINE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "elif", ELIF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "else", ELSE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "endif", ENDIF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "+endmac", ENDMAC,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "error", ERROR,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "if", IF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "ifdef", IFDEF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "ifndef", IFNDEF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "include", INCLUDE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "+let", LET,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "line", LINE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "+macdef", MACDEF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "pragma", PRAGMA,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "+rename", RENAME,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "undef", UNDEF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "+warning", WARNING,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland 0, 0
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland};
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandstatic struct ppkeyword options[] =
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland{
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "allmultiple", X_ALLMULTIPLE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "allpossible", X_ALLPOSSIBLE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "builtin", X_BUILTIN,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "catliteral", X_CATLITERAL,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "cdir", X_CDIR,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "checkpoint", X_CHECKPOINT,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "chop", X_CHOP,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "compatibility", X_COMPATIBILITY,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "debug", X_DEBUG,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "elseif", X_ELSEIF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "externalize", X_EXTERNALIZE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "final", X_FINAL,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "hide", X_HIDE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "headerexpand", X_HEADEREXPAND,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "headerexpandall", X_HEADEREXPANDALL,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "hosted", X_HOSTED,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "hostedtransition", X_HOSTEDTRANSITION,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "hostdir", X_HOSTDIR,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "id", X_ID,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "ignore", X_IGNORE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "include", X_INCLUDE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "initial", X_INITIAL,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "keyargs", X_KEYARGS,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "line", X_LINE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "linebase", X_LINEBASE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "linefile", X_LINEFILE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "lineid", X_LINEID,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "linetype", X_LINETYPE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "macref", X_MACREF,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "map", X_MAP,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "mapinclude", X_MAPINCLUDE,
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland "modern", X_MODERN,
"multiple", X_MULTIPLE,
"native", X_NATIVE,
"note", X_NOTE,
"opspace", X_OPSPACE,
"passthrough", X_PASSTHROUGH,
"pedantic", X_PEDANTIC,
"pluscomment", X_PLUSCOMMENT,
"plusplus", X_PLUSPLUS,
"plussplice", X_PLUSSPLICE,
"pragmaflags", X_PRAGMAFLAGS,
"pragmaexpand", X_PRAGMAEXPAND,
"predefined", X_PREDEFINED,
"prefix", X_PREFIX,
"preserve", X_PRESERVE,
"proto", X_PROTO,
"prototyped", X_PROTOTYPED,
"quote", X_QUOTE,
"readonly", X_READONLY,
"reguard", X_REGUARD,
"reserved", X_RESERVED,
"spaceout", X_SPACEOUT,
"splicecat", X_SPLICECAT,
"splicespace", X_SPLICESPACE,
"standard", X_STANDARD,
"statement", X_STATEMENT,
"strict", X_STRICT,
"stringspan", X_STRINGSPAN,
"stringsplit", X_STRINGSPLIT,
"system_header", X_SYSTEM_HEADER,
"test", X_TEST,
"text", X_TEXT,
"transition", X_TRANSITION,
"truncate", X_TRUNCATE,
"vendor", X_VENDOR,
"version", X_VERSION,
"warn", X_WARN,
"zeof", X_ZEOF,
0, 0
};
static struct ppkeyword predicates[] =
{
"defined", X_DEFINED,
"+exists", X_EXISTS,
"+included", X_INCLUDED,
"+match", X_MATCH,
"+noticed", X_NOTICED,
"+option", X_OPTION,
"sizeof", X_SIZEOF,
"+strcmp", X_STRCMP,
0, 0
};
static struct ppkeyword readonlys[] =
{
"defined", R_DEFINED,
0, 0
};
static struct ppkeyword variables[] =
{
"_Pragma", V__PRAGMA,
"+ARGC", V_ARGC,
"+BASE", V_BASE,
"DATE", V_DATE,
"FILE", V_FILE,
"+FUNCTION", V_FUNCTION,
"LINE", V_LINE,
"+PATH", V_PATH,
"+SOURCE", V_SOURCE,
"-STDC", V_STDC,
"TIME", V_TIME,
"+VERSION", V_VERSION,
"-default", V_DEFAULT,
"-directive", V_DIRECTIVE,
"-empty", V_EMPTY,
"-getenv", V_GETENV,
"-getmac", V_GETMAC,
"-getopt", V_GETOPT,
"-getprd", V_GETPRD,
"-iterate", V_ITERATE,
0, 0
};