summaryrefslogtreecommitdiff
path: root/usr/src/lib/libpp/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libpp/sparc')
-rw-r--r--usr/src/lib/libpp/sparc/Makefile30
-rw-r--r--usr/src/lib/libpp/sparc/pp.req2
-rw-r--r--usr/src/lib/libpp/sparc/pp.yacc1
-rw-r--r--usr/src/lib/libpp/sparc/ppdebug.h211
-rw-r--r--usr/src/lib/libpp/sparc/ppdef.h220
-rw-r--r--usr/src/lib/libpp/sparc/pptab.h152
6 files changed, 616 insertions, 0 deletions
diff --git a/usr/src/lib/libpp/sparc/Makefile b/usr/src/lib/libpp/sparc/Makefile
new file mode 100644
index 0000000000..f91f0270e9
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/Makefile
@@ -0,0 +1,30 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# ident "%Z%%M% %I% %E% SMI"
+#
+
+include ../Makefile.com
+
+install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT)
diff --git a/usr/src/lib/libpp/sparc/pp.req b/usr/src/lib/libpp/sparc/pp.req
new file mode 100644
index 0000000000..6c6437695b
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/pp.req
@@ -0,0 +1,2 @@
+ -lpp
+ -last
diff --git a/usr/src/lib/libpp/sparc/pp.yacc b/usr/src/lib/libpp/sparc/pp.yacc
new file mode 100644
index 0000000000..1de9080a7a
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/pp.yacc
@@ -0,0 +1 @@
+%token /*generated from pp.h*/ T_DOUBLE 292 T_DOUBLE_L 293 T_FLOAT 294 T_DECIMAL 288 T_DECIMAL_L 289 T_DECIMAL_U 290 T_DECIMAL_UL 291 T_OCTAL 296 T_OCTAL_L 297 T_OCTAL_U 298 T_OCTAL_UL 299 T_HEXADECIMAL 304 T_HEXADECIMAL_L 305 T_HEXADECIMAL_U 306 T_HEXADECIMAL_UL 307 T_HEXDOUBLE 308 T_HEXDOUBLE_L 309 T_ID 257 T_INVALID 258 T_CHARCONST 260 T_WCHARCONST 261 T_STRING 262 T_WSTRING 263 T_PTRMEM 264 T_ADDADD 265 T_SUBSUB 266 T_LSHIFT 267 T_RSHIFT 268 T_LE 269 T_GE 270 T_EQ 271 T_NE 272 T_ANDAND 273 T_OROR 274 T_MPYEQ 275 T_DIVEQ 276 T_MODEQ 277 T_ADDEQ 278 T_SUBEQ 279 T_LSHIFTEQ 280 T_RSHIFTEQ 281 T_ANDEQ 282 T_XOREQ 283 T_OREQ 284 T_VARIADIC 286 T_DOTREF 320 T_PTRMEMREF 321 T_SCOPE 322 T_UMINUS 323
diff --git a/usr/src/lib/libpp/sparc/ppdebug.h b/usr/src/lib/libpp/sparc/ppdebug.h
new file mode 100644
index 0000000000..9c9f29e795
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/ppdebug.h
@@ -0,0 +1,211 @@
+/*
+* preprocessor library debug maps
+*/
+struct map
+{
+ char* nam;
+ long val;
+};
+static struct map pplexmap[] =
+{
+ "PROTO", PROTO,
+ "RES1", RES1,
+ "RES1a", RES1a,
+ "RES1e", RES1e,
+ "RES1f", RES1f,
+ "RES1h", RES1h,
+ "RES1l", RES1l,
+ "RES1n", RES1n,
+ "RES1o", RES1o,
+ "RES1t", RES1t,
+ "RES1x", RES1x,
+ "RES1y", RES1y,
+ "COM1", COM1,
+ "COM2", COM2,
+ "COM3", COM3,
+ "COM4", COM4,
+ "COM5", COM5,
+ "COM6", COM6,
+ "COM7", COM7,
+ "NID", NID,
+ "LIT", LIT,
+ "LIT1", LIT1,
+ "LIT2", LIT2,
+ "BAD1", BAD1,
+ "BAD2", BAD2,
+ "DOT", DOT,
+ "DOT2", DOT2,
+ "WS1", WS1,
+ "QUICK", QUICK,
+ "QTOK", QTOK,
+ "QNUM", QNUM,
+ "QEXP", QEXP,
+ "QCOM", QCOM,
+ "QID", QID,
+ "MAC0", MAC0,
+ "MACN", MACN,
+ "HIT0", HIT0,
+ "HITN", HITN,
+ "LIT0", LIT0,
+ "SHARP1", SHARP1,
+ "TOKEN", TOKEN,
+ "OCT1", OCT1,
+ "OCT2", OCT2,
+ "OCT3", OCT3,
+ "NOT1", NOT1,
+ "PCT1", PCT1,
+ "AND1", AND1,
+ "STAR1", STAR1,
+ "PLUS1", PLUS1,
+ "MINUS1", MINUS1,
+ "ARROW1", ARROW1,
+ "COLON1", COLON1,
+ "LT1", LT1,
+ "LSH1", LSH1,
+ "EQ1", EQ1,
+ "RSH1", RSH1,
+ "GT1", GT1,
+ "CIRC1", CIRC1,
+ "OR1", OR1,
+ "DEC1", DEC1,
+ "DEC2", DEC2,
+ "HEX1", HEX1,
+ "HEX2", HEX2,
+ "HEX3", HEX3,
+ "HEX4", HEX4,
+ "HEX5", HEX5,
+ "HEX6", HEX6,
+ "HEX7", HEX7,
+ "HEX8", HEX8,
+ "DBL1", DBL1,
+ "DBL2", DBL2,
+ "DBL3", DBL3,
+ "DBL4", DBL4,
+ "DBL5", DBL5,
+ "DOT1", DOT1,
+ "HDR1", HDR1,
+ "BIN1", BIN1,
+ "TERMINAL", TERMINAL,
+ "S_CHRB", S_CHRB,
+ "S_COMMENT", S_COMMENT,
+ "S_EOB", S_EOB,
+ "S_LITBEG", S_LITBEG,
+ "S_LITEND", S_LITEND,
+ "S_LITESC", S_LITESC,
+ "S_MACRO", S_MACRO,
+ "S_NL", S_NL,
+ "S_QUAL", S_QUAL,
+ "S_SHARP", S_SHARP,
+ "S_VS", S_VS,
+ "S_CHR", S_CHR,
+ "S_HUH", S_HUH,
+ "S_TOK", S_TOK,
+ "S_TOKB", S_TOKB,
+ "S_WS", S_WS,
+ "S_RESERVED", S_RESERVED,
+};
+static struct map ppstatemap[] =
+{
+ "ADD", ADD,
+ "COLLECTING", COLLECTING,
+ "COMPATIBILITY", COMPATIBILITY,
+ "COMPILE", COMPILE,
+ "CONDITIONAL", CONDITIONAL,
+ "DEFINITION", DEFINITION,
+ "DIRECTIVE", DIRECTIVE,
+ "DISABLE", DISABLE,
+ "EOF2NL", EOF2NL,
+ "ESCAPE", ESCAPE,
+ "FILEPOP", FILEPOP,
+ "HEADER", HEADER,
+ "HIDDEN", HIDDEN,
+ "JOINING", JOINING,
+ "NEWLINE", NEWLINE,
+ "NOEXPAND", NOEXPAND,
+ "NOSPACE", NOSPACE,
+ "NOTEXT", NOTEXT,
+ "NOVERTICAL", NOVERTICAL,
+ "PASSEOF", PASSEOF,
+ "PASSTHROUGH", PASSTHROUGH,
+ "QUOTE", QUOTE,
+ "SKIPCONTROL", SKIPCONTROL,
+ "SKIPMACRO", SKIPMACRO,
+ "SPACEOUT", SPACEOUT,
+ "SQUOTE", SQUOTE,
+ "STANDALONE", STANDALONE,
+ "STRICT", STRICT,
+ "STRIP", STRIP,
+ "SYNCLINE", SYNCLINE,
+ "TRANSITION", TRANSITION,
+ "WARN", WARN,
+};
+static struct map ppmodemap[] =
+{
+ "ALLMULTIPLE", ALLMULTIPLE,
+ "BUILTIN", BUILTIN,
+ "CATLITERAL", CATLITERAL,
+ "DUMP", DUMP,
+ "EXPOSE", EXPOSE,
+ "EXTERNALIZE", EXTERNALIZE,
+ "FILEDEPS", FILEDEPS,
+ "GENDEPS", GENDEPS,
+ "HEADERDEPS", HEADERDEPS,
+ "HOSTED", HOSTED,
+ "HOSTEDTRANSITION", HOSTEDTRANSITION,
+ "INACTIVE", INACTIVE,
+ "INIT", INIT,
+ "LOADING", LOADING,
+ "MARKC", MARKC,
+ "MARKHOSTED", MARKHOSTED,
+ "MARKMACRO", MARKMACRO,
+ "PEDANTIC", PEDANTIC,
+ "READONLY", READONLY,
+ "RELAX", RELAX,
+};
+static struct map ppoptionmap[] =
+{
+ "ELSEIF", ELSEIF,
+ "FINAL", FINAL,
+ "HEADEREXPAND", HEADEREXPAND,
+ "HEADEREXPANDALL", HEADEREXPANDALL,
+ "IGNORELINE", IGNORELINE,
+ "INITIAL", INITIAL,
+ "KEEPNOTEXT", KEEPNOTEXT,
+ "KEYARGS", KEYARGS,
+ "MODERN", MODERN,
+ "NATIVE", NATIVE,
+ "NOHASH", NOHASH,
+ "NOISE", NOISE,
+ "NOISEFILTER", NOISEFILTER,
+ "NOPROTO", NOPROTO,
+ "PLUSCOMMENT", PLUSCOMMENT,
+ "PLUSPLUS", PLUSPLUS,
+ "PLUSSPLICE", PLUSSPLICE,
+ "PRAGMAEXPAND", PRAGMAEXPAND,
+ "PREDEFINED", PREDEFINED,
+ "PREDEFINITIONS", PREDEFINITIONS,
+ "PREFIX", PREFIX,
+ "PRESERVE", PRESERVE,
+ "PROTOTYPED", PROTOTYPED,
+ "REGUARD", REGUARD,
+ "SPLICECAT", SPLICECAT,
+ "SPLICESPACE", SPLICESPACE,
+ "STRINGSPAN", STRINGSPAN,
+ "STRINGSPLIT", STRINGSPLIT,
+ "TRUNCATE", TRUNCATE,
+ "ZEOF", ZEOF,
+};
+static struct map ppinmap[] =
+{
+ "BUFFER", IN_BUFFER,
+ "COPY", IN_COPY,
+ "EXPAND", IN_EXPAND,
+ "FILE", IN_FILE,
+ "INIT", IN_INIT,
+ "MACRO", IN_MACRO,
+ "MULTILINE", IN_MULTILINE,
+ "QUOTE", IN_QUOTE,
+ "RESCAN", IN_RESCAN,
+ "SQUOTE", IN_SQUOTE,
+ "STRING", IN_STRING,
+};
diff --git a/usr/src/lib/libpp/sparc/ppdef.h b/usr/src/lib/libpp/sparc/ppdef.h
new file mode 100644
index 0000000000..6cb3481f8b
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/ppdef.h
@@ -0,0 +1,220 @@
+/*
+ *
+ * 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
diff --git a/usr/src/lib/libpp/sparc/pptab.h b/usr/src/lib/libpp/sparc/pptab.h
new file mode 100644
index 0000000000..d153e8e65c
--- /dev/null
+++ b/usr/src/lib/libpp/sparc/pptab.h
@@ -0,0 +1,152 @@
+/*
+ *
+ * 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
+};