Warning: Undefined variable $n in /usr/local/www/websvn.planix.org/include/diff_util.php on line 243

Warning: Undefined variable $n in /usr/local/www/websvn.planix.org/include/diff_util.php on line 247

Warning: Undefined variable $m in /usr/local/www/websvn.planix.org/include/diff_util.php on line 251
WebSVN – tendra.SVN – Diff – /trunk/src/producers/common/parse/symbols.h – Rev 2 and 7

Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
Line 54... Line 84...
54
    These tokens describe the identifiers, literals and other miscellaneous
84
    These tokens describe the identifiers, literals and other miscellaneous
55
    lexical tokens.  The target dependent conditionals are included in this
85
    lexical tokens.  The target dependent conditionals are included in this
56
    group because they have an associated value.
86
    group because they have an associated value.
57
*/
87
*/
58
 
88
 
59
LEX_TOKEN ( lex_unknown, "<unknown>", TOK_NONE )
89
LEX_TOKEN(lex_unknown, "<unknown>", TOK_NONE)
60
 
90
 
61
LEX_TOKEN ( lex_identifier, "<id>", TOK_EXP )
91
LEX_TOKEN(lex_identifier, "<id>", TOK_EXP)
62
LEX_TOKEN ( lex_type_Hname, "<type>", TOK_TYPE )
92
LEX_TOKEN(lex_type_Hname, "<type>", TOK_TYPE)
63
LEX_TOKEN ( lex_namespace_Hname, "<namespace>", TOK_NONE )
93
LEX_TOKEN(lex_namespace_Hname, "<namespace>", TOK_NONE)
64
LEX_TOKEN ( lex_statement_Hname, "<stmt>", TOK_STATEMENT )
94
LEX_TOKEN(lex_statement_Hname, "<stmt>", TOK_STATEMENT)
65
LEX_TOKEN ( lex_destructor_Hname, "<destructor>", TOK_EXP )
95
LEX_TOKEN(lex_destructor_Hname, "<destructor>", TOK_EXP)
66
LEX_TOKEN ( lex_template_Hid, "<id>", TOK_EXP )
96
LEX_TOKEN(lex_template_Hid, "<id>", TOK_EXP)
67
LEX_TOKEN ( lex_template_Htype, "<type>", TOK_TYPE )
97
LEX_TOKEN(lex_template_Htype, "<type>", TOK_TYPE)
68
 
98
 
69
LEX_TOKEN ( lex_nested_Hname, "<name>::", TOK_NESTED_NAME )
99
LEX_TOKEN(lex_nested_Hname, "<name>::", TOK_NESTED_NAME)
70
LEX_TOKEN ( lex_full_Hname, "::<name>::", TOK_FULL_NAME )
100
LEX_TOKEN(lex_full_Hname, "::<name>::", TOK_FULL_NAME)
71
LEX_TOKEN ( lex_nested_Hname_Hstar, "<class>::*", TOK_NONE )
101
LEX_TOKEN(lex_nested_Hname_Hstar, "<class>::*", TOK_NONE)
72
LEX_TOKEN ( lex_full_Hname_Hstar, "::<class>::*", TOK_NONE )
102
LEX_TOKEN(lex_full_Hname_Hstar, "::<class>::*", TOK_NONE)
73
 
103
 
74
LEX_TOKEN ( lex_char_Hlit, "<char>", TOK_EXP )
104
LEX_TOKEN(lex_char_Hlit, "<char>", TOK_EXP)
75
LEX_TOKEN ( lex_wchar_Hlit, "<wchar>", TOK_EXP )
105
LEX_TOKEN(lex_wchar_Hlit, "<wchar>", TOK_EXP)
76
LEX_TOKEN ( lex_string_Hlit, "<string>", TOK_EXP )
106
LEX_TOKEN(lex_string_Hlit, "<string>", TOK_EXP)
77
LEX_TOKEN ( lex_wstring_Hlit, "<wstring>", TOK_EXP )
107
LEX_TOKEN(lex_wstring_Hlit, "<wstring>", TOK_EXP)
78
LEX_TOKEN ( lex_integer_Hlit, "<int>", TOK_EXP )
108
LEX_TOKEN(lex_integer_Hlit, "<int>", TOK_EXP)
79
 
109
 
80
LEX_TOKEN ( lex_char_Hexp, "<char>", TOK_EXP )
110
LEX_TOKEN(lex_char_Hexp, "<char>", TOK_EXP)
81
LEX_TOKEN ( lex_wchar_Hexp, "<wchar>", TOK_EXP )
111
LEX_TOKEN(lex_wchar_Hexp, "<wchar>", TOK_EXP)
82
LEX_TOKEN ( lex_string_Hexp, "<string>", TOK_EXP )
112
LEX_TOKEN(lex_string_Hexp, "<string>", TOK_EXP)
83
LEX_TOKEN ( lex_wstring_Hexp, "<wstring>", TOK_EXP )
113
LEX_TOKEN(lex_wstring_Hexp, "<wstring>", TOK_EXP)
84
LEX_TOKEN ( lex_integer_Hexp, "<int>", TOK_EXP )
114
LEX_TOKEN(lex_integer_Hexp, "<int>", TOK_EXP)
85
LEX_TOKEN ( lex_floating_Hexp, "<float>", TOK_EXP )
115
LEX_TOKEN(lex_floating_Hexp, "<float>", TOK_EXP)
86
 
116
 
87
LEX_TOKEN ( lex_complex_Hexp, "<exp>", TOK_EXP )
117
LEX_TOKEN(lex_complex_Hexp, "<exp>", TOK_EXP)
88
LEX_TOKEN ( lex_complex_Hstmt, "<stmt>", TOK_STATEMENT )
118
LEX_TOKEN(lex_complex_Hstmt, "<stmt>", TOK_STATEMENT)
89
LEX_TOKEN ( lex_complex_Htype, "<type>", TOK_TYPE )
119
LEX_TOKEN(lex_complex_Htype, "<type>", TOK_TYPE)
90
 
120
 
91
LEX_TOKEN ( lex_hash_Hif, "#if", TOK_STATEMENT )
121
LEX_TOKEN(lex_hash_Hif, "#if", TOK_STATEMENT)
92
LEX_TOKEN ( lex_hash_Helif, "#elif", TOK_STATEMENT )
122
LEX_TOKEN(lex_hash_Helif, "#elif", TOK_STATEMENT)
93
LEX_TOKEN ( lex_hash_Helse, "#else", TOK_STATEMENT )
123
LEX_TOKEN(lex_hash_Helse, "#else", TOK_STATEMENT)
94
LEX_TOKEN ( lex_hash_Hendif, "#endif", TOK_STATEMENT )
124
LEX_TOKEN(lex_hash_Hendif, "#endif", TOK_STATEMENT)
95
LEX_TOKEN ( lex_hash_Hpragma, "#pragma", TOK_DECLARATION )
125
LEX_TOKEN(lex_hash_Hpragma, "#pragma", TOK_DECLARATION)
96
 
126
 
97
LEX_TOKEN ( lex_newline, "<newline>", TOK_NONE )
127
LEX_TOKEN(lex_newline, "<newline>", TOK_NONE)
98
LEX_TOKEN ( lex_eof, "<eof>", TOK_NONE )
128
LEX_TOKEN(lex_eof, "<eof>", TOK_NONE)
99
 
129
 
100
 
130
 
101
/*
131
/*
102
    C SYMBOL TOKENS
132
    C SYMBOL TOKENS
103
 
133
 
104
    These tokens describe the C symbols and punctuation.
134
    These tokens describe the C symbols and punctuation.
105
*/
135
*/
106
 
136
 
107
LEX_TOKEN ( lex_and_H1, "&", TOK_EXP )
137
LEX_TOKEN(lex_and_H1, "&", TOK_EXP)
108
LEX_TOKEN ( lex_and_Heq_H1, "&=", TOK_NONE )
138
LEX_TOKEN(lex_and_Heq_H1, "&=", TOK_NONE)
109
LEX_TOKEN ( lex_arrow, "->", TOK_NONE )
139
LEX_TOKEN(lex_arrow, "->", TOK_NONE)
110
LEX_TOKEN ( lex_assign, "=", TOK_NONE )
140
LEX_TOKEN(lex_assign, "=", TOK_NONE)
111
LEX_TOKEN ( lex_backslash, "\\", TOK_NONE )
141
LEX_TOKEN(lex_backslash, "\\", TOK_NONE)
112
LEX_TOKEN ( lex_close_Hbrace_H1, "}", TOK_NONE )
142
LEX_TOKEN(lex_close_Hbrace_H1, "}", TOK_NONE)
113
LEX_TOKEN ( lex_close_Hround, ")", TOK_NONE )
143
LEX_TOKEN(lex_close_Hround, ")", TOK_NONE)
114
LEX_TOKEN ( lex_close_Hsquare_H1, "]", TOK_NONE )
144
LEX_TOKEN(lex_close_Hsquare_H1, "]", TOK_NONE)
115
LEX_TOKEN ( lex_colon, ":", TOK_NONE )
145
LEX_TOKEN(lex_colon, ":", TOK_NONE)
116
LEX_TOKEN ( lex_comma, ",", TOK_NONE )
146
LEX_TOKEN(lex_comma, ",", TOK_NONE)
117
LEX_TOKEN ( lex_compl_H1, "~", TOK_EXP )
147
LEX_TOKEN(lex_compl_H1, "~", TOK_EXP)
118
LEX_TOKEN ( lex_div, "/", TOK_NONE )
148
LEX_TOKEN(lex_div, "/", TOK_NONE)
119
LEX_TOKEN ( lex_div_Heq, "/=", TOK_NONE )
149
LEX_TOKEN(lex_div_Heq, "/=", TOK_NONE)
120
LEX_TOKEN ( lex_dot, ".", TOK_NONE )
150
LEX_TOKEN(lex_dot, ".", TOK_NONE)
121
LEX_TOKEN ( lex_ellipsis, "...", TOK_NONE )
151
LEX_TOKEN(lex_ellipsis, "...", TOK_NONE)
122
LEX_TOKEN ( lex_eq, "==", TOK_NONE )
152
LEX_TOKEN(lex_eq, "==", TOK_NONE)
123
LEX_TOKEN ( lex_greater, ">", TOK_NONE )
153
LEX_TOKEN(lex_greater, ">", TOK_NONE)
124
LEX_TOKEN ( lex_greater_Heq, ">=", TOK_NONE )
154
LEX_TOKEN(lex_greater_Heq, ">=", TOK_NONE)
125
LEX_TOKEN ( lex_hash_H1, "#", TOK_NONE )
155
LEX_TOKEN(lex_hash_H1, "#", TOK_NONE)
126
LEX_TOKEN ( lex_hash_Hhash_H1, "##", TOK_NONE )
156
LEX_TOKEN(lex_hash_Hhash_H1, "##", TOK_NONE)
127
LEX_TOKEN ( lex_less, "<", TOK_NONE )
157
LEX_TOKEN(lex_less, "<", TOK_NONE)
128
LEX_TOKEN ( lex_less_Heq, "<=", TOK_NONE )
158
LEX_TOKEN(lex_less_Heq, "<=", TOK_NONE)
129
LEX_TOKEN ( lex_logical_Hand_H1, "&&", TOK_NONE )
159
LEX_TOKEN(lex_logical_Hand_H1, "&&", TOK_NONE)
130
LEX_TOKEN ( lex_logical_Hor_H1, "||", TOK_NONE )
160
LEX_TOKEN(lex_logical_Hor_H1, "||", TOK_NONE)
131
LEX_TOKEN ( lex_lshift, "<<", TOK_NONE )
161
LEX_TOKEN(lex_lshift, "<<", TOK_NONE)
132
LEX_TOKEN ( lex_lshift_Heq, "<<=", TOK_NONE )
162
LEX_TOKEN(lex_lshift_Heq, "<<=", TOK_NONE)
133
LEX_TOKEN ( lex_minus, "-", TOK_EXP )
163
LEX_TOKEN(lex_minus, "-", TOK_EXP)
134
LEX_TOKEN ( lex_minus_Heq, "-=", TOK_NONE )
164
LEX_TOKEN(lex_minus_Heq, "-=", TOK_NONE)
135
LEX_TOKEN ( lex_minus_Hminus, "--", TOK_EXP )
165
LEX_TOKEN(lex_minus_Hminus, "--", TOK_EXP)
136
LEX_TOKEN ( lex_not_H1, "!", TOK_EXP )
166
LEX_TOKEN(lex_not_H1, "!", TOK_EXP)
137
LEX_TOKEN ( lex_not_Heq_H1, "!=", TOK_NONE )
167
LEX_TOKEN(lex_not_Heq_H1, "!=", TOK_NONE)
138
LEX_TOKEN ( lex_open_Hbrace_H1, "{", TOK_NONE )
168
LEX_TOKEN(lex_open_Hbrace_H1, "{", TOK_NONE)
139
LEX_TOKEN ( lex_open_Hround, "(", TOK_NONE )
169
LEX_TOKEN(lex_open_Hround, "(", TOK_NONE)
140
LEX_TOKEN ( lex_open_Hsquare_H1, "[", TOK_NONE )
170
LEX_TOKEN(lex_open_Hsquare_H1, "[", TOK_NONE)
141
LEX_TOKEN ( lex_or_H1, "|", TOK_NONE )
171
LEX_TOKEN(lex_or_H1, "|", TOK_NONE)
142
LEX_TOKEN ( lex_or_Heq_H1, "|=", TOK_NONE )
172
LEX_TOKEN(lex_or_Heq_H1, "|=", TOK_NONE)
143
LEX_TOKEN ( lex_plus, "+", TOK_EXP )
173
LEX_TOKEN(lex_plus, "+", TOK_EXP)
144
LEX_TOKEN ( lex_plus_Heq, "+=", TOK_NONE )
174
LEX_TOKEN(lex_plus_Heq, "+=", TOK_NONE)
145
LEX_TOKEN ( lex_plus_Hplus, "++", TOK_EXP )
175
LEX_TOKEN(lex_plus_Hplus, "++", TOK_EXP)
146
LEX_TOKEN ( lex_question, "?", TOK_NONE )
176
LEX_TOKEN(lex_question, "?", TOK_NONE)
147
LEX_TOKEN ( lex_rem, "%", TOK_NONE )
177
LEX_TOKEN(lex_rem, "%", TOK_NONE)
148
LEX_TOKEN ( lex_rem_Heq, "%=", TOK_NONE )
178
LEX_TOKEN(lex_rem_Heq, "%=", TOK_NONE)
149
LEX_TOKEN ( lex_rshift, ">>", TOK_NONE )
179
LEX_TOKEN(lex_rshift, ">>", TOK_NONE)
150
LEX_TOKEN ( lex_rshift_Heq, ">>=", TOK_NONE )
180
LEX_TOKEN(lex_rshift_Heq, ">>=", TOK_NONE)
151
LEX_TOKEN ( lex_semicolon, ";", TOK_NONE )
181
LEX_TOKEN(lex_semicolon, ";", TOK_NONE)
152
LEX_TOKEN ( lex_star, "*", TOK_EXP )
182
LEX_TOKEN(lex_star, "*", TOK_EXP)
153
LEX_TOKEN ( lex_star_Heq, "*=", TOK_NONE )
183
LEX_TOKEN(lex_star_Heq, "*=", TOK_NONE)
154
LEX_TOKEN ( lex_xor_H1, "^", TOK_NONE )
184
LEX_TOKEN(lex_xor_H1, "^", TOK_NONE)
155
LEX_TOKEN ( lex_xor_Heq_H1, "^=", TOK_NONE )
185
LEX_TOKEN(lex_xor_Heq_H1, "^=", TOK_NONE)
156
 
186
 
157
 
187
 
158
/*
188
/*
159
    ADDITIONAL C++ SYMBOL TOKENS
189
    ADDITIONAL C++ SYMBOL TOKENS
160
 
190
 
161
    These tokens describe the additional C++ symbols.
191
    These tokens describe the additional C++ symbols.
162
*/
192
*/
163
 
193
 
164
LEX_TOKEN ( lex_arrow_Hstar, "->*", TOK_NONE )
194
LEX_TOKEN(lex_arrow_Hstar, "->*", TOK_NONE)
165
LEX_TOKEN ( lex_colon_Hcolon, "::", TOK_FULL_NAME )
195
LEX_TOKEN(lex_colon_Hcolon, "::", TOK_FULL_NAME)
166
LEX_TOKEN ( lex_dot_Hstar, ".*", TOK_NONE )
196
LEX_TOKEN(lex_dot_Hstar, ".*", TOK_NONE)
167
 
197
 
168
 
198
 
169
/*
199
/*
170
    ADDITIONAL SYMBOL TOKENS
200
    ADDITIONAL SYMBOL TOKENS
171
 
201
 
172
    These tokens describe the additional extension symbols.
202
    These tokens describe the additional extension symbols.
173
*/
203
*/
174
 
204
 
175
LEX_TOKEN ( lex_abs, "+?", TOK_EXP )
205
LEX_TOKEN(lex_abs, "+?", TOK_EXP)
176
LEX_TOKEN ( lex_max, ">?", TOK_NONE )
206
LEX_TOKEN(lex_max, ">?", TOK_NONE)
177
LEX_TOKEN ( lex_min, "<?", TOK_NONE )
207
LEX_TOKEN(lex_min, "<?", TOK_NONE)
178
 
208
 
179
 
209
 
180
/*
210
/*
181
    DIGRAPH TOKENS
211
    DIGRAPH TOKENS
182
 
212
 
183
    These tokens describe the digraphs.
213
    These tokens describe the digraphs.
184
*/
214
*/
185
 
215
 
186
LEX_TOKEN ( lex_close_Hbrace_H2, "%>", TOK_NONE )
216
LEX_TOKEN(lex_close_Hbrace_H2, "%>", TOK_NONE)
187
LEX_TOKEN ( lex_close_Hsquare_H2, ":>", TOK_NONE )
217
LEX_TOKEN(lex_close_Hsquare_H2, ":>", TOK_NONE)
188
LEX_TOKEN ( lex_hash_H2, "%:", TOK_NONE )
218
LEX_TOKEN(lex_hash_H2, "%:", TOK_NONE)
189
LEX_TOKEN ( lex_hash_Hhash_H2, "%:%:", TOK_NONE )
219
LEX_TOKEN(lex_hash_Hhash_H2, "%:%:", TOK_NONE)
190
LEX_TOKEN ( lex_open_Hbrace_H2, "<%", TOK_NONE )
220
LEX_TOKEN(lex_open_Hbrace_H2, "<%", TOK_NONE)
191
LEX_TOKEN ( lex_open_Hsquare_H2, "<:", TOK_NONE )
221
LEX_TOKEN(lex_open_Hsquare_H2, "<:", TOK_NONE)
192
 
222
 
193
 
223
 
194
/*
224
/*
195
    C KEYWORD TOKENS
225
    C KEYWORD TOKENS
196
 
226
 
197
    These tokens describe the C keywords.
227
    These tokens describe the C keywords.
198
*/
228
*/
199
 
229
 
200
LEX_TOKEN ( lex_auto, "auto", TOK_DECL_SPEC )
230
LEX_TOKEN(lex_auto, "auto", TOK_DECL_SPEC)
201
LEX_TOKEN ( lex_break, "break", TOK_STATEMENT )
231
LEX_TOKEN(lex_break, "break", TOK_STATEMENT)
202
LEX_TOKEN ( lex_case, "case", TOK_STATEMENT )
232
LEX_TOKEN(lex_case, "case", TOK_STATEMENT)
203
LEX_TOKEN ( lex_char, "char", TOK_SIMPLE_TYPE )
233
LEX_TOKEN(lex_char, "char", TOK_SIMPLE_TYPE)
204
LEX_TOKEN ( lex_const, "const", TOK_TYPE_SPEC )
234
LEX_TOKEN(lex_const, "const", TOK_TYPE_SPEC)
205
LEX_TOKEN ( lex_continue, "continue", TOK_STATEMENT )
235
LEX_TOKEN(lex_continue, "continue", TOK_STATEMENT)
206
LEX_TOKEN ( lex_default, "default", TOK_STATEMENT )
236
LEX_TOKEN(lex_default, "default", TOK_STATEMENT)
207
LEX_TOKEN ( lex_do, "do", TOK_STATEMENT )
237
LEX_TOKEN(lex_do, "do", TOK_STATEMENT)
208
LEX_TOKEN ( lex_double, "double", TOK_SIMPLE_TYPE )
238
LEX_TOKEN(lex_double, "double", TOK_SIMPLE_TYPE)
209
LEX_TOKEN ( lex_else, "else", TOK_STATEMENT )
239
LEX_TOKEN(lex_else, "else", TOK_STATEMENT)
210
LEX_TOKEN ( lex_enum, "enum", TOK_TYPE_KEY )
240
LEX_TOKEN(lex_enum, "enum", TOK_TYPE_KEY)
211
LEX_TOKEN ( lex_extern, "extern", TOK_EXTERN )
241
LEX_TOKEN(lex_extern, "extern", TOK_EXTERN)
212
LEX_TOKEN ( lex_float, "float", TOK_SIMPLE_TYPE )
242
LEX_TOKEN(lex_float, "float", TOK_SIMPLE_TYPE)
213
LEX_TOKEN ( lex_for, "for", TOK_STATEMENT )
243
LEX_TOKEN(lex_for, "for", TOK_STATEMENT)
214
LEX_TOKEN ( lex_goto, "goto", TOK_STATEMENT )
244
LEX_TOKEN(lex_goto, "goto", TOK_STATEMENT)
215
LEX_TOKEN ( lex_if, "if", TOK_STATEMENT )
245
LEX_TOKEN(lex_if, "if", TOK_STATEMENT)
216
LEX_TOKEN ( lex_int, "int", TOK_SIMPLE_TYPE )
246
LEX_TOKEN(lex_int, "int", TOK_SIMPLE_TYPE)
217
LEX_TOKEN ( lex_long, "long", TOK_SIMPLE_TYPE )
247
LEX_TOKEN(lex_long, "long", TOK_SIMPLE_TYPE)
218
LEX_TOKEN ( lex_register, "register", TOK_DECL_SPEC )
248
LEX_TOKEN(lex_register, "register", TOK_DECL_SPEC)
219
LEX_TOKEN ( lex_return, "return", TOK_STATEMENT )
249
LEX_TOKEN(lex_return, "return", TOK_STATEMENT)
220
LEX_TOKEN ( lex_short, "short", TOK_SIMPLE_TYPE )
250
LEX_TOKEN(lex_short, "short", TOK_SIMPLE_TYPE)
221
LEX_TOKEN ( lex_signed, "signed", TOK_SIMPLE_TYPE )
251
LEX_TOKEN(lex_signed, "signed", TOK_SIMPLE_TYPE)
222
LEX_TOKEN ( lex_sizeof, "sizeof", TOK_EXP )
252
LEX_TOKEN(lex_sizeof, "sizeof", TOK_EXP)
223
LEX_TOKEN ( lex_static, "static", TOK_DECL_SPEC )
253
LEX_TOKEN(lex_static, "static", TOK_DECL_SPEC)
224
LEX_TOKEN ( lex_struct, "struct", TOK_TYPE_KEY )
254
LEX_TOKEN(lex_struct, "struct", TOK_TYPE_KEY)
225
LEX_TOKEN ( lex_switch, "switch", TOK_STATEMENT )
255
LEX_TOKEN(lex_switch, "switch", TOK_STATEMENT)
226
LEX_TOKEN ( lex_typedef, "typedef", TOK_DECL_SPEC )
256
LEX_TOKEN(lex_typedef, "typedef", TOK_DECL_SPEC)
227
LEX_TOKEN ( lex_union, "union", TOK_TYPE_KEY )
257
LEX_TOKEN(lex_union, "union", TOK_TYPE_KEY)
228
LEX_TOKEN ( lex_unsigned, "unsigned", TOK_SIMPLE_TYPE )
258
LEX_TOKEN(lex_unsigned, "unsigned", TOK_SIMPLE_TYPE)
229
LEX_TOKEN ( lex_void, "void", TOK_SIMPLE_TYPE )
259
LEX_TOKEN(lex_void, "void", TOK_SIMPLE_TYPE)
230
LEX_TOKEN ( lex_volatile, "volatile", TOK_TYPE_SPEC )
260
LEX_TOKEN(lex_volatile, "volatile", TOK_TYPE_SPEC)
231
LEX_TOKEN ( lex_while, "while", TOK_STATEMENT )
261
LEX_TOKEN(lex_while, "while", TOK_STATEMENT)
232
 
262
 
233
 
263
 
234
/*
264
/*
235
    ADDITIONAL C++ KEYWORD TOKENS
265
    ADDITIONAL C++ KEYWORD TOKENS
236
 
266
 
237
    These tokens describe the additional C++ keywords.
267
    These tokens describe the additional C++ keywords.
238
*/
268
*/
239
 
269
 
240
LEX_TOKEN ( lex_asm, "asm", TOK_ASM )
270
LEX_TOKEN(lex_asm, "asm", TOK_ASM)
241
LEX_TOKEN ( lex_bool, "bool", TOK_SIMPLE_TYPE )
271
LEX_TOKEN(lex_bool, "bool", TOK_SIMPLE_TYPE)
242
LEX_TOKEN ( lex_catch, "catch", TOK_STATEMENT )
272
LEX_TOKEN(lex_catch, "catch", TOK_STATEMENT)
243
LEX_TOKEN ( lex_class, "class", TOK_TYPE_KEY )
273
LEX_TOKEN(lex_class, "class", TOK_TYPE_KEY)
244
LEX_TOKEN ( lex_const_Hcast, "const_cast", TOK_EXP )
274
LEX_TOKEN(lex_const_Hcast, "const_cast", TOK_EXP)
245
LEX_TOKEN ( lex_delete, "delete", TOK_EXP )
275
LEX_TOKEN(lex_delete, "delete", TOK_EXP)
246
LEX_TOKEN ( lex_dynamic_Hcast, "dynamic_cast", TOK_EXP )
276
LEX_TOKEN(lex_dynamic_Hcast, "dynamic_cast", TOK_EXP)
247
LEX_TOKEN ( lex_explicit, "explicit", TOK_DECL_SPEC )
277
LEX_TOKEN(lex_explicit, "explicit", TOK_DECL_SPEC)
248
LEX_TOKEN ( lex_export, "export", TOK_DECLARATION )
278
LEX_TOKEN(lex_export, "export", TOK_DECLARATION)
249
LEX_TOKEN ( lex_false, "false", TOK_EXP )
279
LEX_TOKEN(lex_false, "false", TOK_EXP)
250
LEX_TOKEN ( lex_friend, "friend", TOK_DECL_SPEC )
280
LEX_TOKEN(lex_friend, "friend", TOK_DECL_SPEC)
251
LEX_TOKEN ( lex_inline, "inline", TOK_DECL_SPEC )
281
LEX_TOKEN(lex_inline, "inline", TOK_DECL_SPEC)
252
LEX_TOKEN ( lex_mutable, "mutable", TOK_DECL_SPEC )
282
LEX_TOKEN(lex_mutable, "mutable", TOK_DECL_SPEC)
253
LEX_TOKEN ( lex_namespace, "namespace", TOK_DECLARATION )
283
LEX_TOKEN(lex_namespace, "namespace", TOK_DECLARATION)
254
LEX_TOKEN ( lex_new, "new", TOK_EXP )
284
LEX_TOKEN(lex_new, "new", TOK_EXP)
255
LEX_TOKEN ( lex_operator, "operator", TOK_EXP )
285
LEX_TOKEN(lex_operator, "operator", TOK_EXP)
256
LEX_TOKEN ( lex_private, "private", TOK_NONE )
286
LEX_TOKEN(lex_private, "private", TOK_NONE)
257
LEX_TOKEN ( lex_protected, "protected", TOK_NONE )
287
LEX_TOKEN(lex_protected, "protected", TOK_NONE)
258
LEX_TOKEN ( lex_public, "public", TOK_NONE )
288
LEX_TOKEN(lex_public, "public", TOK_NONE)
259
LEX_TOKEN ( lex_reinterpret_Hcast, "reinterpret_cast", TOK_EXP )
289
LEX_TOKEN(lex_reinterpret_Hcast, "reinterpret_cast", TOK_EXP)
260
LEX_TOKEN ( lex_static_Hcast, "static_cast", TOK_EXP )
290
LEX_TOKEN(lex_static_Hcast, "static_cast", TOK_EXP)
261
LEX_TOKEN ( lex_template, "template", TOK_DECLARATION )
291
LEX_TOKEN(lex_template, "template", TOK_DECLARATION)
262
LEX_TOKEN ( lex_this, "this", TOK_EXP )
292
LEX_TOKEN(lex_this, "this", TOK_EXP)
263
LEX_TOKEN ( lex_throw, "throw", TOK_NONE )
293
LEX_TOKEN(lex_throw, "throw", TOK_NONE)
264
LEX_TOKEN ( lex_true, "true", TOK_EXP )
294
LEX_TOKEN(lex_true, "true", TOK_EXP)
265
LEX_TOKEN ( lex_try, "try", TOK_STATEMENT )
295
LEX_TOKEN(lex_try, "try", TOK_STATEMENT)
266
LEX_TOKEN ( lex_typeid, "typeid", TOK_EXP )
296
LEX_TOKEN(lex_typeid, "typeid", TOK_EXP)
267
LEX_TOKEN ( lex_typename, "typename", TOK_TYPE_KEY )
297
LEX_TOKEN(lex_typename, "typename", TOK_TYPE_KEY)
268
LEX_TOKEN ( lex_using, "using", TOK_DECLARATION )
298
LEX_TOKEN(lex_using, "using", TOK_DECLARATION)
269
LEX_TOKEN ( lex_virtual, "virtual", TOK_DECL_SPEC )
299
LEX_TOKEN(lex_virtual, "virtual", TOK_DECL_SPEC)
270
LEX_TOKEN ( lex_wchar_Ht, "wchar_t", TOK_SIMPLE_TYPE )
300
LEX_TOKEN(lex_wchar_Ht, "wchar_t", TOK_SIMPLE_TYPE)
271
 
301
 
272
 
302
 
273
/*
303
/*
274
    ISO KEYWORD TOKENS
304
    ISO KEYWORD TOKENS
275
 
305
 
276
    These tokens describe the ISO keywords which give alternative
306
    These tokens describe the ISO keywords which give alternative
277
    representations of various symbols.
307
    representations of various symbols.
278
*/
308
*/
279
 
309
 
280
LEX_TOKEN ( lex_and_H2, "bitand", TOK_EXP )
310
LEX_TOKEN(lex_and_H2, "bitand", TOK_EXP)
281
LEX_TOKEN ( lex_and_Heq_H2, "and_eq", TOK_NONE )
311
LEX_TOKEN(lex_and_Heq_H2, "and_eq", TOK_NONE)
282
LEX_TOKEN ( lex_compl_H2, "compl", TOK_EXP )
312
LEX_TOKEN(lex_compl_H2, "compl", TOK_EXP)
283
LEX_TOKEN ( lex_logical_Hand_H2, "and", TOK_NONE )
313
LEX_TOKEN(lex_logical_Hand_H2, "and", TOK_NONE)
284
LEX_TOKEN ( lex_logical_Hor_H2, "or", TOK_NONE )
314
LEX_TOKEN(lex_logical_Hor_H2, "or", TOK_NONE)
285
LEX_TOKEN ( lex_not_H2, "not", TOK_EXP )
315
LEX_TOKEN(lex_not_H2, "not", TOK_EXP)
286
LEX_TOKEN ( lex_not_Heq_H2, "not_eq", TOK_NONE )
316
LEX_TOKEN(lex_not_Heq_H2, "not_eq", TOK_NONE)
287
LEX_TOKEN ( lex_or_H2, "bitor", TOK_NONE )
317
LEX_TOKEN(lex_or_H2, "bitor", TOK_NONE)
288
LEX_TOKEN ( lex_or_Heq_H2, "or_eq", TOK_NONE )
318
LEX_TOKEN(lex_or_Heq_H2, "or_eq", TOK_NONE)
289
LEX_TOKEN ( lex_xor_H2, "xor", TOK_NONE )
319
LEX_TOKEN(lex_xor_H2, "xor", TOK_NONE)
290
LEX_TOKEN ( lex_xor_Heq_H2, "xor_eq", TOK_NONE )
320
LEX_TOKEN(lex_xor_Heq_H2, "xor_eq", TOK_NONE)
291
 
321
 
292
 
322
 
293
/*
323
/*
294
    NON-STANDARD KEYWORD TOKENS
324
    NON-STANDARD KEYWORD TOKENS
295
 
325
 
296
    These keywords represent the non-standard keywords.
326
    These keywords represent the non-standard keywords.
297
*/
327
*/
298
 
328
 
465
 
495
 
466
 
496
 
467
/*
497
/*
468
    MISCELLANEOUS SYMBOLS
498
    MISCELLANEOUS SYMBOLS
469
 
499
 
470
    These tokens describe certain symbols which are used in various
500
    These tokens describe certain symbols which are used in various
471
    circumstances.
501
    circumstances.
472
*/
502
*/
473
 
503
 
474
LEX_TOKEN ( lex_array_Hop, "[]", TOK_NONE )
504
LEX_TOKEN(lex_array_Hop, "[]", TOK_NONE)
475
LEX_TOKEN ( lex_builtin_Hfile, "#file", TOK_NONE )
505
LEX_TOKEN(lex_builtin_Hfile, "#file", TOK_NONE)
476
LEX_TOKEN ( lex_builtin_Hline, "#line", TOK_NONE )
506
LEX_TOKEN(lex_builtin_Hline, "#line", TOK_NONE)
477
LEX_TOKEN ( lex_close_Htemplate, ">", TOK_NONE )
507
LEX_TOKEN(lex_close_Htemplate, ">", TOK_NONE)
478
LEX_TOKEN ( lex_cond_Hop, "?:", TOK_NONE )
508
LEX_TOKEN(lex_cond_Hop, "?:", TOK_NONE)
479
LEX_TOKEN ( lex_delete_Hfull, "::delete", TOK_NONE )
509
LEX_TOKEN(lex_delete_Hfull, "::delete", TOK_NONE)
480
LEX_TOKEN ( lex_delete_Harray, "delete[]", TOK_NONE )
510
LEX_TOKEN(lex_delete_Harray, "delete[]", TOK_NONE)
481
LEX_TOKEN ( lex_delete_Harray_Hfull, "::delete[]", TOK_NONE )
511
LEX_TOKEN(lex_delete_Harray_Hfull, "::delete[]", TOK_NONE)
482
LEX_TOKEN ( lex_func_Hop, "()", TOK_NONE )
512
LEX_TOKEN(lex_func_Hop, "()", TOK_NONE)
483
LEX_TOKEN ( lex_hash_Hop, "#", TOK_NONE )
513
LEX_TOKEN(lex_hash_Hop, "#", TOK_NONE)
484
LEX_TOKEN ( lex_hash_Hhash_Hop, "##", TOK_NONE )
514
LEX_TOKEN(lex_hash_Hhash_Hop, "##", TOK_NONE)
485
LEX_TOKEN ( lex_inset_Hstart, "#pragma", TOK_NONE )
515
LEX_TOKEN(lex_inset_Hstart, "#pragma", TOK_NONE)
486
LEX_TOKEN ( lex_inset_Hend, "<newline>", TOK_NONE )
516
LEX_TOKEN(lex_inset_Hend, "<newline>", TOK_NONE)
487
LEX_TOKEN ( lex_macro_Harg, "<argument>", TOK_NONE )
517
LEX_TOKEN(lex_macro_Harg, "<argument>", TOK_NONE)
488
LEX_TOKEN ( lex_new_Hfull, "::new", TOK_NONE )
518
LEX_TOKEN(lex_new_Hfull, "::new", TOK_NONE)
489
LEX_TOKEN ( lex_new_Harray, "new[]", TOK_NONE )
519
LEX_TOKEN(lex_new_Harray, "new[]", TOK_NONE)
490
LEX_TOKEN ( lex_new_Harray_Hfull, "::new[]", TOK_NONE )
520
LEX_TOKEN(lex_new_Harray_Hfull, "::new[]", TOK_NONE)
491
LEX_TOKEN ( lex_open_Hinit, "(", TOK_NONE )
521
LEX_TOKEN(lex_open_Hinit, "(", TOK_NONE)
492
LEX_TOKEN ( lex_open_Htemplate, "<", TOK_NONE )
522
LEX_TOKEN(lex_open_Htemplate, "<", TOK_NONE)
493
LEX_TOKEN ( lex_zzzzzz, "<dummy>", TOK_NONE )
523
LEX_TOKEN(lex_zzzzzz, "<dummy>", TOK_NONE)
494
 
524
 
495
 
525
 
496
#endif /* LEX_TOKEN */
526
#endif /* LEX_TOKEN */
497
 
527
 
498
 
528