summaryrefslogtreecommitdiff
path: root/usr/src/lib/libpp/common/pp.tab
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libpp/common/pp.tab')
-rw-r--r--usr/src/lib/libpp/common/pp.tab233
1 files changed, 233 insertions, 0 deletions
diff --git a/usr/src/lib/libpp/common/pp.tab b/usr/src/lib/libpp/common/pp.tab
new file mode 100644
index 0000000000..30a576d404
--- /dev/null
+++ b/usr/src/lib/libpp/common/pp.tab
@@ -0,0 +1,233 @@
+#
+# Glenn Fowler
+# AT&T Research
+#
+# @(#)pp.tab (AT&T Labs Research) 2006-05-09
+#
+# C preprocessor tables and states
+#
+# + marks extensions to the standard
+#
+
+%keywords "static struct ppkeyword directives"
+
+ define
+ elif
+ else
+ endif
+ +endmac
+ error
+ if
+ ifdef
+ ifndef
+ include
+ +let
+ line
+ +macdef
+ pragma
+ +rename
+ undef
+ +warning
+
+%keywords "static struct ppkeyword options" prefix=X_ index=optindex last=last_option
+
+ allmultiple
+ allpossible
+ builtin
+ catliteral
+ cdir
+ checkpoint
+ chop
+ compatibility
+ debug
+ elseif
+ externalize
+ final
+ hide
+ headerexpand
+ headerexpandall
+ hosted
+ hostedtransition
+ hostdir
+ id
+ ignore
+ include
+ initial
+ keyargs
+ line
+ linebase
+ linefile
+ lineid
+ linetype
+ macref
+ map
+ mapinclude
+ modern
+ multiple
+ native
+ note
+ opspace
+ passthrough
+ pedantic
+ pluscomment
+ plusplus
+ plussplice
+ pragmaflags
+ pragmaexpand
+ predefined
+ prefix
+ preserve
+ proto
+ prototyped
+ quote
+ readonly
+ reguard
+ reserved
+ spaceout
+ splicecat
+ splicespace
+ standard
+ statement
+ strict
+ stringspan
+ stringsplit
+ system_header
+ test
+ text
+ transition
+ truncate
+ vendor
+ version
+ warn
+ zeof
+
+%keywords "static struct ppkeyword predicates" prefix=X_ index=optindex
+
+ defined
+ +exists
+ +included
+ +match
+ +noticed
+ +option
+ sizeof
+ +strcmp
+
+%keywords "static struct ppkeyword readonlys" prefix=R_
+
+ defined
+
+%flags # state : coupled, high frequency
+
+ ADD # add pp.addbuf into output buffer
+ COLLECTING # collecting macro call arguments
+ COMPATIBILITY # compatibility (Reiser) dialect
+ COMPILE # tokenize for compiler
+ CONDITIONAL # processing #[el]if directive
+ DEFINITION # processing macro definition
+ DIRECTIVE # processing directive
+ DISABLE # disable macro evaluation
+ EOF2NL # pass eof as newline token
+ ESCAPE # \ -> \\ in QUOTE|SQUOTE
+ FILEPOP # 0 on IN_FILE pop - no popin
+ HEADER # processing include statement
+ HIDDEN # hidden lines encountered
+ JOINING # joining adjacent strings
+ NEWLINE # last non-space was newline
+ NOEXPAND # no macro expansions or disables
+ NOSPACE # don't pass space+ as token
+ NOTEXT # don't output text
+ NOVERTICAL # vertical space invalid
+ PASSEOF # pass EOF as 0 without pop
+ PASSTHROUGH # ppcpp expands # lines only
+ QUOTE # processing "..." token
+ SKIPCONTROL # skip until # control or EOF
+ SKIPMACRO # disable next macro
+ SPACEOUT # output spaces in STANDALONE
+ SQUOTE # processing '...' token
+ STANDALONE # output tokens on stdout
+ STRICT # strict implementation
+ STRIP # strip quotes from T_STRING and T_CHARCONST
+ SYNCLINE # output line sync soon
+ TRANSITION # on the COMPATIBILITY boundary
+ WARN # note obnoxious incompatibilities
+
+%flags # mode : coupled, low frequency
+
+ ALLMULTIPLE # all files can be included more than once
+ BUILTIN # mark macro definitions builtin
+ CATLITERAL # concatenate adjacent "..."
+ DUMP # do a checkpoint dump
+ EXPOSE # expose hidden macros
+ EXTERNALIZE # set PROTO_EXTERNALIZE
+ FILEDEPS # output file dependencies
+ GENDEPS # missings FILEDEPS are generated
+ HEADERDEPS # <...> too for FILEDEPS
+ HOSTED # hosted include file
+ HOSTEDTRANSITION # hosted include files get __STDC__=0
+ INACTIVE # inactive conditional branch
+ INIT # initialization phase
+ LOADING # loading a checkpoint file
+ MARKC # last ppsearch() file was in C language
+ MARKHOSTED # last ppsearch() file was hosted
+ MARKMACRO # mark macro to disable later
+ PEDANTIC # pedantic non-hosted non-standard warnings
+ READONLY # mark macro definitions readonly
+ RELAX # relax complaints for this directive
+
+%flags # options : uncoupled, low frequency
+
+ ALLPOSSIBLE # ignore top level conditionals
+ DEFINITIONS # output macro definitions
+ ELSEIF # #else if|ifdef|ifndef ok
+ FINAL # final hosted macro value
+ HEADEREXPAND # HEADEREXPANDALL but macro args not expanded
+ HEADEREXPANDALL # expanded < does not quote #include macros
+ IGNORELINE # ignore #line until first file arg
+ INITIAL # initial hosted macro value
+ KEEPNOTEXT # keep NOTEXT setting
+ KEYARGS # name=value macro arguments
+ MODERN # generate modern output (\a instead of \007)
+ NATIVE # report native paths
+ NOHASH # don't hash PP_COMPILE T_ID's
+ NOISE # convert T_X_* to T_NOISES
+ NOISEFILTER # filter (ignore) NOISE
+ NOPROTO # disable ppproto()
+ PLUSCOMMENT # enable C++ comments
+ PLUSPLUS # preprocess for C++
+ PLUSSPLICE # C++ // \<newline> does not splice
+ PRAGMAEXPAND # expand #pragma args
+ PREDEFINED # mark macro definitions predefined
+ PREDEFINITIONS # output predefined macro definitions
+ PREFIX # prefix include for compatibility
+ PRESERVE # preserve input layout
+ PROTOTYPED # force all input to be prototyped
+ REGUARD # emit header guard define at file pop
+ SPLICECAT # \<newline> ok for COMPATIBILITY catenation
+ SPLICESPACE # \<space>+<newline> == \<newline> for jcl
+ STRINGSPAN # <newline> in string ok
+ STRINGSPLIT # "...\\n..." => "..."\n"..."
+ TRUNCATE # truncate identifiers
+ ZEOF # ^Z anywhere in file => EOF
+
+%keywords "static struct ppkeyword variables" prefix=V_ index=optindex
+
+ _Pragma
+ +ARGC
+ +BASE
+ DATE
+ FILE
+ +FUNCTION
+ LINE
+ +PATH
+ +SOURCE
+ -STDC
+ TIME
+ +VERSION
+ -default
+ -directive
+ -empty
+ -getenv
+ -getmac
+ -getopt
+ -getprd
+ -iterate