1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1986-2011 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                 Eclipse Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *          http://www.eclipse.org/org/documents/epl-v10.html           *
11 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *                 Glenn Fowler <gsf@research.att.com>                  *
18 *                                                                      *
19 ***********************************************************************/
20 #pragma prototyped
21 /*
22  * Glenn Fowler
23  * AT&T Research
24  *
25  * preprocessor C language reserved keyword token table
26  * for use by PP_COMPILE
27  *
28  * "-" keywords entered without SYM_KEYWORD
29  * "+" keywords entered without SYM_KEYWORD unless PP_PLUSPLUS was set
30  * upper case are pseudo keywords for PP_RESERVED token classes
31  */
32 
33 #include "pplib.h"
34 #include "ppkey.h"
35 
36 struct ppkeyword	ppkey[] =
37 {
38 	"auto",		T_AUTO,
39 	"break",	T_BREAK,
40 	"case",		T_CASE,
41 	"char",		T_CHAR,
42 	"continue",	T_CONTINUE,
43 	"default",	T_DEFAULT,
44 	"do",		T_DO,
45 	"double",	T_DOUBLE_T,
46 	"else",		T_ELSE,
47 	"extern",	T_EXTERN,
48 	"float",	T_FLOAT_T,
49 	"for",		T_FOR,
50 	"goto",		T_GOTO,
51 	"if",		T_IF,
52 	"int",		T_INT,
53 	"long",		T_LONG,
54 	"register",	T_REGISTER,
55 	"return",	T_RETURN,
56 	"short",	T_SHORT,
57 	"sizeof",	T_SIZEOF,
58 	"static",	T_STATIC,
59 	"struct",	T_STRUCT,
60 	"switch",	T_SWITCH,
61 	"typedef",	T_TYPEDEF,
62 	"union",	T_UNION,
63 	"unsigned",	T_UNSIGNED,
64 	"while",	T_WHILE,
65 	"-const",	T_CONST,
66 	"-enum",	T_ENUM,
67 	"-signed",	T_SIGNED,
68 	"-void",	T_VOID,
69 	"-volatile",	T_VOLATILE,
70 	"+asm",		T_ASM,
71 	"+class",	T_CLASS,
72 	"+delete",	T_DELETE,
73 	"+friend",	T_FRIEND,
74 	"+inline",	T_INLINE,
75 	"+new",		T_NEW,
76 	"+operator",	T_OPERATOR,
77 	"+overload",	T_OVERLOAD,
78 	"+private",	T_PRIVATE,
79 	"+public",	T_PUBLIC,
80 	"+this",	T_THIS,
81 	"+virtual",	T_VIRTUAL,
82 	"-and",		T_ANDAND,
83 	"-and_eq",	T_ANDEQ,
84 	"-bitand",	'&',
85 	"-bitor",	'|',
86 	"-bool",	T_BOOL,
87 	"-catch",	T_CATCH,
88 	"-compl",	'~',
89 	"-const_cast",	T_CONST_CAST,
90 	"-dynamic_cast",T_DYNAMIC_CAST,
91 	"-explicit",	T_EXPLICIT,
92 	"-false",	T_FALSE,
93 	"-mutable",	T_MUTABLE,
94 	"-namespace",	T_NAMESPACE,
95 	"-not",		'!',
96 	"-not_eq",	T_NE,
97 	"-or",		T_OROR,
98 	"-or_eq",	T_OREQ,
99 	"-protected",	T_PROTECTED,
100 	"-reinterpret_cast", T_REINTERPRET_CAST,
101 	"-static_cast",	T_STATIC_CAST,
102 	"-template",	T_TEMPLATE,
103 	"-throw",	T_THROW,
104 	"-true",	T_TRUE,
105 	"-try",		T_TRY,
106 	"-typeid",	T_TYPEID,
107 	"-using",	T_USING,
108 	"-wchar_t",	T_WCHAR_T,
109 	"-xor",		'^',
110 	"-xor_eq",	T_XOREQ,
111 	"-int64",	T_INT64,
112 	"-NOISES",	T_NOISES,
113 	"-NOISE",	T_NOISE,
114 	"-GROUP",	T_X_GROUP,
115 	"-LINE",	T_X_LINE,
116 	"-STATEMENT",	T_X_STATEMENT,
117 	0, 0, 0
118 };
119