OpenSolaris_b135/lib/libpp/sparc/pptab.h

/*
 * 
 * Glenn Fowler
 * AT&T Research
 * 
 * @(#)pp.tab (AT&T Labs Research) 2006-05-09
 * 
 * C preprocessor tables and states
 * 
 * + marks extensions to the standard
 * 
 */

static struct ppkeyword directives[] =
{
	"define",	DEFINE,
	"elif",	ELIF,
	"else",	ELSE,
	"endif",	ENDIF,
	"+endmac",	ENDMAC,
	"error",	ERROR,
	"if",	IF,
	"ifdef",	IFDEF,
	"ifndef",	IFNDEF,
	"include",	INCLUDE,
	"+let",	LET,
	"line",	LINE,
	"+macdef",	MACDEF,
	"pragma",	PRAGMA,
	"+rename",	RENAME,
	"undef",	UNDEF,
	"+warning",	WARNING,
	0,	0
};

static struct ppkeyword options[] =
{
	"allmultiple",	X_ALLMULTIPLE,
	"allpossible",	X_ALLPOSSIBLE,
	"builtin",	X_BUILTIN,
	"catliteral",	X_CATLITERAL,
	"cdir",	X_CDIR,
	"checkpoint",	X_CHECKPOINT,
	"chop",	X_CHOP,
	"compatibility",	X_COMPATIBILITY,
	"debug",	X_DEBUG,
	"elseif",	X_ELSEIF,
	"externalize",	X_EXTERNALIZE,
	"final",	X_FINAL,
	"hide",	X_HIDE,
	"headerexpand",	X_HEADEREXPAND,
	"headerexpandall",	X_HEADEREXPANDALL,
	"hosted",	X_HOSTED,
	"hostedtransition",	X_HOSTEDTRANSITION,
	"hostdir",	X_HOSTDIR,
	"id",	X_ID,
	"ignore",	X_IGNORE,
	"include",	X_INCLUDE,
	"initial",	X_INITIAL,
	"keyargs",	X_KEYARGS,
	"line",	X_LINE,
	"linebase",	X_LINEBASE,
	"linefile",	X_LINEFILE,
	"lineid",	X_LINEID,
	"linetype",	X_LINETYPE,
	"macref",	X_MACREF,
	"map",	X_MAP,
	"mapinclude",	X_MAPINCLUDE,
	"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
};