Lines Matching +full:1 +full:- +full:9 +full:a +full:- +full:e

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
23 /* We've got a two-level lexer here. We let flex do basic tokenization
29 IDENT [A-Za-z_\$][A-Za-z0-9_\$]*
31 O_INT 0[0-7]*
32 D_INT [1-9][0-9]*
33 X_INT 0[Xx][0-9A-Fa-f]+
37 FRAC ([0-9]*\.[0-9]+)|([0-9]+\.)
38 EXP [Ee][+-]?[0-9]+
40 REAL ({FRAC}{EXP}?{F_SUF}?)|([0-9]+{EXP}{F_SUF}?)
45 MC_TOKEN ([~%^&*+=|<>/-]=)|(&&)|("||")|(->)|(<<)|(>>)
54 u?int(8|16|32|64)x(1|2|4|8|16)_t return BUILTIN_INT_KEYW;
69 /* The Pedant requires that the other C multi-character tokens be
93 * We mark any token, that that equals to a known enumerator, as
96 * enum e { a, b }; struct s { int a, b; }
104 next_node->next = cur_node; \
105 cur_node->string = memcpy(xmalloc(L+1), T, L+1); \
106 cur_node->tag = \
107 find_symbol(cur_node->string, SYM_ENUM_CONST, 1)?\
109 cur_node->in_source_file = in_source_file; \
119 * The lexer cannot distinguish whether a typedef'ed string is a TYPE or an
120 * IDENT. We need a hint from the parser to handle this accurately.
142 next_node->next = NULL;
153 char *file, *e;
160 file = strchr(yytext, '\"')+1;
161 e = strchr(file, '\"');
162 *e = '\0';
163 cur_filename = memcpy(xmalloc(e-file+1), file, e-file+1);
168 in_source_file = 1;
220 if (find_symbol(yytext, SYM_TYPEDEF, 1))
229 count = 1;
237 count = 1;
259 if (--count == 0)
279 if (--count == 0)
295 || find_symbol(yytext, SYM_TYPEDEF, 1))
303 _APP("(", 1);
312 if ( ++count == 1 )
319 if (--count == 0)
340 if (--count == 0)
360 if (--count == 0)
393 --count;
423 if (--count == 0)
436 exit(1);
441 --suppress_type_lookup;
445 * e.g.) struct __attribute__((__packed__)) foo { ... };
448 --dont_want_brace_phrase;
450 yylval = &next_node->next;