47 |
# define register |
# define register |
48 |
#endif |
#endif |
49 |
|
|
50 |
|
// if compiled for debugging, throw an exception instead of exiting on fatal |
51 |
|
// lexer errors (so the debugger may pause with the appropriate back trace) |
52 |
|
#if DEBUG |
53 |
|
# include <stdexcept> |
54 |
|
# define YY_FATAL_ERROR(msg) throw std::runtime_error(msg) |
55 |
|
#endif |
56 |
|
|
57 |
%} |
%} |
58 |
|
|
59 |
/* generate a reentrant safe scanner */ |
/* generate a reentrant safe scanner */ |
72 |
|
|
73 |
DIGIT [0-9] |
DIGIT [0-9] |
74 |
ID [a-zA-Z0-9_]+ |
ID [a-zA-Z0-9_]+ |
75 |
|
END_ID on|while|if|select|function|synchronized |
76 |
|
|
77 |
%% |
%% |
78 |
|
|
227 |
return yyextra->token.baseType; |
return yyextra->token.baseType; |
228 |
} |
} |
229 |
|
|
230 |
<PREPROC_END_NAME>[ \t]*{ID} { |
<PREPROC_END_NAME>[ \t]*{END_ID}? { |
231 |
yy_pop_state(yyscanner); |
yy_pop_state(yyscanner); |
232 |
yyextra->token = KeywordToken(yytext); |
yyextra->token = KeywordToken(yytext); |
233 |
return yyextra->token.baseType; |
return yyextra->token.baseType; |