Lines Matching +full:0 +full:- +full:9 +full:a +full:- +full:e
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
22 /* We've got a two-level lexer here. We let flex do basic tokenization
28 IDENT [A-Za-z_\$][A-Za-z0-9_\$]*
30 O_INT 0[0-7]*
31 D_INT [1-9][0-9]*
32 X_INT 0[Xx][0-9A-Fa-f]+
36 FRAC ([0-9]*\.[0-9]+)|([0-9]+\.)
37 EXP [Ee][+-]?[0-9]+
39 REAL ({FRAC}{EXP}?{F_SUF}?)|([0-9]+{EXP}{F_SUF}?)
44 MC_TOKEN ([~%^&*+=|<>/-]=)|(&&)|("||")|(->)|(<<)|(>>)
67 /* The Pedant requires that the other C multi-character tokens be
78 . return yytext[0];
91 * We mark any token, that that equals to a known enumerator, as
94 * enum e { a, b }; struct s { int a, b; }
102 next_node->next = cur_node; \
103 cur_node->string = memcpy(xmalloc(L+1), T, L+1); \
104 cur_node->tag = \
105 find_symbol(cur_node->string, SYM_ENUM_CONST, 1)?\
107 cur_node->in_source_file = in_source_file; \
108 } while (0)
129 int token, count = 0;
135 next_node->next = NULL;
142 if (token == 0)
143 return 0;
146 char *file, *e;
154 e = strchr(file, '\"');
155 *e = '\0';
156 cur_filename = memcpy(xmalloc(e-file+1), file, e-file+1);
163 in_source_file = (strcmp(cur_filename, source_file) == 0);
178 if (r >= 0)
184 count = 0;
188 count = 0;
192 count = 0;
248 if (--count == 0)
268 if (--count == 0)
283 if (is_reserved_word(yytext, yyleng) >= 0
286 yyless(0);
308 if (--count == 0)
329 if (--count == 0)
349 if (--count == 0)
370 if (count == 0)
382 --count;
386 if (count == 0)
408 if (token == IDENT && yyleng == 1 && yytext[0] == 'X')
425 --count;
428 if (count == 0)
461 if (suppress_type_lookup > 0)
462 --suppress_type_lookup;
463 if (dont_want_brace_phrase > 0)
464 --dont_want_brace_phrase;
466 yylval = &next_node->next;