/* Generated by re2c */ #line 1 "c.re" #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; #line 133 "c.re" #line 130 "" { YYCTYPE yych; unsigned int yyaccept = 0; if((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; switch(yych) { case 0x09: case 0x0B: case 0x0C: case ' ': goto yy73; case 0x0A: goto yy75; case '!': goto yy49; case '"': goto yy28; case '%': goto yy39; case '&': goto yy41; case '\'': goto yy24; case '(': goto yy61; case ')': goto yy63; case '*': goto yy37; case '+': goto yy33; case ',': goto yy57; case '-': goto yy35; case '.': goto yy26; case '/': goto yy2; case '0': goto yy21; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy23; case ':': goto yy59; case ';': goto yy51; case '<': goto yy31; case '=': goto yy47; case '>': goto yy29; case '?': goto yy71; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'h': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'x': case 'y': case 'z': goto yy20; case '[': goto yy65; case ']': goto yy67; case '^': goto yy43; case 'a': goto yy4; case 'b': goto yy6; case 'c': goto yy7; case 'd': goto yy8; case 'e': goto yy9; case 'f': goto yy10; case 'g': goto yy11; case 'i': goto yy12; case 'l': goto yy13; case 'r': goto yy14; case 's': goto yy15; case 't': goto yy16; case 'u': goto yy17; case 'v': goto yy18; case 'w': goto yy19; case '{': goto yy53; case '|': goto yy45; case '}': goto yy55; case '~': goto yy69; default: goto yy77; } yy2: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy341; case '=': goto yy339; default: goto yy3; } yy3: #line 222 "c.re" { RET('/'); } #line 244 "" yy4: ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'u': goto yy335; default: goto yy180; } yy5: #line 171 "c.re" { RET(ID); } #line 254 "" yy6: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy330; default: goto yy180; } yy7: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy311; case 'h': goto yy312; case 'o': goto yy313; default: goto yy180; } yy8: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy297; case 'o': goto yy298; default: goto yy180; } yy9: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy283; case 'n': goto yy284; case 'x': goto yy285; default: goto yy180; } yy10: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy275; case 'o': goto yy276; default: goto yy180; } yy11: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy271; default: goto yy180; } yy12: yych = *++YYCURSOR; switch(yych) { case 'f': goto yy266; case 'n': goto yy268; default: goto yy180; } yy13: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy262; default: goto yy180; } yy14: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy249; default: goto yy180; } yy15: yych = *++YYCURSOR; switch(yych) { case 'h': goto yy216; case 'i': goto yy217; case 't': goto yy218; case 'w': goto yy219; default: goto yy180; } yy16: yych = *++YYCURSOR; switch(yych) { case 'y': goto yy209; default: goto yy180; } yy17: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy197; default: goto yy180; } yy18: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy186; default: goto yy180; } yy19: yych = *++YYCURSOR; switch(yych) { case 'h': goto yy181; default: goto yy180; } yy20: yych = *++YYCURSOR; goto yy180; yy21: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; case 'X': case 'x': goto yy172; default: goto yy171; } yy22: #line 175 "c.re" { RET(ICON); } #line 367 "" yy23: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy153; yy24: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych) { case 0x0A: goto yy25; default: goto yy143; } yy25: #line 241 "c.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 385 "" yy26: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych) { case '.': goto yy131; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; default: goto yy27; } yy27: #line 215 "c.re" { RET('.'); } #line 406 "" yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych) { case 0x0A: goto yy25; default: goto yy121; } yy29: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy114; case '>': goto yy116; default: goto yy30; } yy30: #line 225 "c.re" { RET('>'); } #line 424 "" yy31: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '<': goto yy110; case '=': goto yy108; default: goto yy32; } yy32: #line 224 "c.re" { RET('<'); } #line 435 "" yy33: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '+': goto yy104; case '=': goto yy106; default: goto yy34; } yy34: #line 220 "c.re" { RET('+'); } #line 446 "" yy35: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '-': goto yy100; case '=': goto yy102; case '>': goto yy98; default: goto yy36; } yy36: #line 219 "c.re" { RET('-'); } #line 458 "" yy37: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy96; default: goto yy38; } yy38: #line 221 "c.re" { RET('*'); } #line 468 "" yy39: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy94; default: goto yy40; } yy40: #line 223 "c.re" { RET('%'); } #line 478 "" yy41: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '&': goto yy90; case '=': goto yy92; default: goto yy42; } yy42: #line 216 "c.re" { RET('&'); } #line 489 "" yy43: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy88; default: goto yy44; } yy44: #line 226 "c.re" { RET('^'); } #line 499 "" yy45: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy86; case '|': goto yy84; default: goto yy46; } yy46: #line 227 "c.re" { RET('|'); } #line 510 "" yy47: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy82; default: goto yy48; } yy48: #line 210 "c.re" { RET('='); } #line 520 "" yy49: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy80; default: goto yy50; } yy50: #line 217 "c.re" { RET('!'); } #line 530 "" yy51: ++YYCURSOR; #line 205 "c.re" { RET(';'); } #line 535 "" yy53: ++YYCURSOR; #line 206 "c.re" { RET('{'); } #line 540 "" yy55: ++YYCURSOR; #line 207 "c.re" { RET('}'); } #line 545 "" yy57: ++YYCURSOR; #line 208 "c.re" { RET(','); } #line 550 "" yy59: ++YYCURSOR; #line 209 "c.re" { RET(':'); } #line 555 "" yy61: ++YYCURSOR; #line 211 "c.re" { RET('('); } #line 560 "" yy63: ++YYCURSOR; #line 212 "c.re" { RET(')'); } #line 565 "" yy65: ++YYCURSOR; #line 213 "c.re" { RET('['); } #line 570 "" yy67: ++YYCURSOR; #line 214 "c.re" { RET(']'); } #line 575 "" yy69: ++YYCURSOR; #line 218 "c.re" { RET('~'); } #line 580 "" yy71: ++YYCURSOR; #line 228 "c.re" { RET('?'); } #line 585 "" yy73: ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 231 "c.re" { goto std; } #line 593 "" yy75: ++YYCURSOR; #line 234 "c.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 602 "" yy77: yych = *++YYCURSOR; goto yy25; yy78: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy79: switch(yych) { case 0x09: case 0x0B: case 0x0C: case ' ': goto yy78; default: goto yy74; } yy80: ++YYCURSOR; #line 204 "c.re" { RET(NEQ); } #line 622 "" yy82: ++YYCURSOR; #line 203 "c.re" { RET(EQL); } #line 627 "" yy84: ++YYCURSOR; #line 200 "c.re" { RET(OROR); } #line 632 "" yy86: ++YYCURSOR; #line 193 "c.re" { RET(OREQ); } #line 637 "" yy88: ++YYCURSOR; #line 192 "c.re" { RET(XOREQ); } #line 642 "" yy90: ++YYCURSOR; #line 199 "c.re" { RET(ANDAND); } #line 647 "" yy92: ++YYCURSOR; #line 191 "c.re" { RET(ANDEQ); } #line 652 "" yy94: ++YYCURSOR; #line 190 "c.re" { RET(MODEQ); } #line 657 "" yy96: ++YYCURSOR; #line 188 "c.re" { RET(MULEQ); } #line 662 "" yy98: ++YYCURSOR; #line 198 "c.re" { RET(DEREF); } #line 667 "" yy100: ++YYCURSOR; #line 197 "c.re" { RET(DECR); } #line 672 "" yy102: ++YYCURSOR; #line 187 "c.re" { RET(SUBEQ); } #line 677 "" yy104: ++YYCURSOR; #line 196 "c.re" { RET(INCR); } #line 682 "" yy106: ++YYCURSOR; #line 186 "c.re" { RET(ADDEQ); } #line 687 "" yy108: ++YYCURSOR; #line 201 "c.re" { RET(LEQ); } #line 692 "" yy110: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy112; default: goto yy111; } yy111: #line 195 "c.re" { RET(LSHIFT); } #line 702 "" yy112: ++YYCURSOR; #line 185 "c.re" { RET(LSHIFTEQ); } #line 707 "" yy114: ++YYCURSOR; #line 202 "c.re" { RET(GEQ); } #line 712 "" yy116: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy118; default: goto yy117; } yy117: #line 194 "c.re" { RET(RSHIFT); } #line 722 "" yy118: ++YYCURSOR; #line 184 "c.re" { RET(RSHIFTEQ); } #line 727 "" yy120: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy121: switch(yych) { case 0x0A: goto yy122; case '"': goto yy124; case '\\': goto yy123; default: goto yy120; } yy122: YYCURSOR = YYMARKER; switch(yyaccept) { case 0: goto yy22; case 1: goto yy25; case 2: goto yy27; case 3: goto yy134; } yy123: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy120; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case 'x': goto yy126; default: goto yy122; } yy124: ++YYCURSOR; #line 181 "c.re" { RET(SCON); } #line 778 "" yy126: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; default: goto yy122; } yy127: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 0x0A: goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case '\\': goto yy123; default: goto yy120; } yy129: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 0x0A: goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; case '\\': goto yy123; default: goto yy120; } yy131: yych = *++YYCURSOR; switch(yych) { case '.': goto yy140; default: goto yy122; } yy132: yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; case 'E': case 'e': goto yy135; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy134: #line 178 "c.re" { RET(FCON); } #line 891 "" yy135: yych = *++YYCURSOR; switch(yych) { case '+': case '-': goto yy137; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy136: yych = *++YYCURSOR; goto yy134; yy137: yych = *++YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy138: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy140: ++YYCURSOR; #line 183 "c.re" { RET(ELLIPSIS); } #line 952 "" yy142: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy143: switch(yych) { case 0x0A: goto yy122; case '\'': goto yy145; case '\\': goto yy144; default: goto yy142; } yy144: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy142; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case 'x': goto yy146; default: goto yy122; } yy145: yych = *++YYCURSOR; goto yy22; yy146: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; default: goto yy122; } yy147: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 0x0A: goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case '\\': goto yy144; default: goto yy142; } yy149: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 0x0A: goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; case '\\': goto yy144; default: goto yy142; } yy151: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych) { case 'E': case 'e': goto yy162; default: goto yy161; } yy152: yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy153: switch(yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy152; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy154: yych = *++YYCURSOR; switch(yych) { case '+': case '-': goto yy157; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy155: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy157: yych = *++YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy158: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy160: yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy161: switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; case 'E': case 'e': goto yy166; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy162: yych = *++YYCURSOR; switch(yych) { case '+': case '-': goto yy163; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy163: yych = *++YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy164: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy166: yych = *++YYCURSOR; switch(yych) { case '+': case '-': goto yy167; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy167: yych = *++YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy168: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy170: yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy171: switch(yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy170; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy172: yych = *++YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; default: goto yy122; } yy173: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy175: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy177: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych) { case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy179: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy180: switch(yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy5; } yy181: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy182; default: goto yy180; } yy182: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy183; default: goto yy180; } yy183: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy184; default: goto yy180; } yy184: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy185; } yy185: #line 169 "c.re" { RET(WHILE); } #line 1570 "" yy186: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy187; case 'l': goto yy188; default: goto yy180; } yy187: yych = *++YYCURSOR; switch(yych) { case 'd': goto yy195; default: goto yy180; } yy188: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy189; default: goto yy180; } yy189: yych = *++YYCURSOR; switch(yych) { case 't': goto yy190; default: goto yy180; } yy190: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy191; default: goto yy180; } yy191: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy192; default: goto yy180; } yy192: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy193; default: goto yy180; } yy193: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy194; } yy194: #line 168 "c.re" { RET(VOLATILE); } #line 1685 "" yy195: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy196; } yy196: #line 167 "c.re" { RET(VOID); } #line 1757 "" yy197: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy198; case 's': goto yy199; default: goto yy180; } yy198: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy206; default: goto yy180; } yy199: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy200; default: goto yy180; } yy200: yych = *++YYCURSOR; switch(yych) { case 'g': goto yy201; default: goto yy180; } yy201: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy202; default: goto yy180; } yy202: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy203; default: goto yy180; } yy203: yych = *++YYCURSOR; switch(yych) { case 'd': goto yy204; default: goto yy180; } yy204: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy205; } yy205: #line 166 "c.re" { RET(UNSIGNED); } #line 1872 "" yy206: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy207; default: goto yy180; } yy207: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy208; } yy208: #line 165 "c.re" { RET(UNION); } #line 1950 "" yy209: yych = *++YYCURSOR; switch(yych) { case 'p': goto yy210; default: goto yy180; } yy210: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy211; default: goto yy180; } yy211: yych = *++YYCURSOR; switch(yych) { case 'd': goto yy212; default: goto yy180; } yy212: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy213; default: goto yy180; } yy213: yych = *++YYCURSOR; switch(yych) { case 'f': goto yy214; default: goto yy180; } yy214: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy215; } yy215: #line 164 "c.re" { RET(TYPEDEF); } #line 2052 "" yy216: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy245; default: goto yy180; } yy217: yych = *++YYCURSOR; switch(yych) { case 'g': goto yy235; case 'z': goto yy236; default: goto yy180; } yy218: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy225; case 'r': goto yy226; default: goto yy180; } yy219: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy220; default: goto yy180; } yy220: yych = *++YYCURSOR; switch(yych) { case 't': goto yy221; default: goto yy180; } yy221: yych = *++YYCURSOR; switch(yych) { case 'c': goto yy222; default: goto yy180; } yy222: yych = *++YYCURSOR; switch(yych) { case 'h': goto yy223; default: goto yy180; } yy223: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy224; } yy224: #line 163 "c.re" { RET(SWITCH); } #line 2168 "" yy225: yych = *++YYCURSOR; switch(yych) { case 't': goto yy231; default: goto yy180; } yy226: yych = *++YYCURSOR; switch(yych) { case 'u': goto yy227; default: goto yy180; } yy227: yych = *++YYCURSOR; switch(yych) { case 'c': goto yy228; default: goto yy180; } yy228: yych = *++YYCURSOR; switch(yych) { case 't': goto yy229; default: goto yy180; } yy229: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy230; } yy230: #line 162 "c.re" { RET(STRUCT); } #line 2264 "" yy231: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy232; default: goto yy180; } yy232: yych = *++YYCURSOR; switch(yych) { case 'c': goto yy233; default: goto yy180; } yy233: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy234; } yy234: #line 161 "c.re" { RET(STATIC); } #line 2348 "" yy235: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy241; default: goto yy180; } yy236: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy237; default: goto yy180; } yy237: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy238; default: goto yy180; } yy238: yych = *++YYCURSOR; switch(yych) { case 'f': goto yy239; default: goto yy180; } yy239: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy240; } yy240: #line 160 "c.re" { RET(SIZEOF); } #line 2444 "" yy241: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy242; default: goto yy180; } yy242: yych = *++YYCURSOR; switch(yych) { case 'd': goto yy243; default: goto yy180; } yy243: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy244; } yy244: #line 159 "c.re" { RET(SIGNED); } #line 2528 "" yy245: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy246; default: goto yy180; } yy246: yych = *++YYCURSOR; switch(yych) { case 't': goto yy247; default: goto yy180; } yy247: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy248; } yy248: #line 158 "c.re" { RET(SHORT); } #line 2612 "" yy249: yych = *++YYCURSOR; switch(yych) { case 'g': goto yy250; case 't': goto yy251; default: goto yy180; } yy250: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy256; default: goto yy180; } yy251: yych = *++YYCURSOR; switch(yych) { case 'u': goto yy252; default: goto yy180; } yy252: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy253; default: goto yy180; } yy253: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy254; default: goto yy180; } yy254: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy255; } yy255: #line 157 "c.re" { RET(RETURN); } #line 2715 "" yy256: yych = *++YYCURSOR; switch(yych) { case 's': goto yy257; default: goto yy180; } yy257: yych = *++YYCURSOR; switch(yych) { case 't': goto yy258; default: goto yy180; } yy258: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy259; default: goto yy180; } yy259: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy260; default: goto yy180; } yy260: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy261; } yy261: #line 156 "c.re" { RET(REGISTER); } #line 2811 "" yy262: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy263; default: goto yy180; } yy263: yych = *++YYCURSOR; switch(yych) { case 'g': goto yy264; default: goto yy180; } yy264: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy265; } yy265: #line 155 "c.re" { RET(LONG); } #line 2895 "" yy266: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy267; } yy267: #line 153 "c.re" { RET(IF); } #line 2967 "" yy268: yych = *++YYCURSOR; switch(yych) { case 't': goto yy269; default: goto yy180; } yy269: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy270; } yy270: #line 154 "c.re" { RET(INT); } #line 3045 "" yy271: yych = *++YYCURSOR; switch(yych) { case 't': goto yy272; default: goto yy180; } yy272: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy273; default: goto yy180; } yy273: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy274; } yy274: #line 152 "c.re" { RET(GOTO); } #line 3129 "" yy275: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy279; default: goto yy180; } yy276: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy277; default: goto yy180; } yy277: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy278; } yy278: #line 151 "c.re" { RET(FOR); } #line 3213 "" yy279: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy280; default: goto yy180; } yy280: yych = *++YYCURSOR; switch(yych) { case 't': goto yy281; default: goto yy180; } yy281: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy282; } yy282: #line 150 "c.re" { RET(FLOAT); } #line 3297 "" yy283: yych = *++YYCURSOR; switch(yych) { case 's': goto yy294; default: goto yy180; } yy284: yych = *++YYCURSOR; switch(yych) { case 'u': goto yy291; default: goto yy180; } yy285: yych = *++YYCURSOR; switch(yych) { case 't': goto yy286; default: goto yy180; } yy286: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy287; default: goto yy180; } yy287: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy288; default: goto yy180; } yy288: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy289; default: goto yy180; } yy289: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy290; } yy290: #line 149 "c.re" { RET(EXTERN); } #line 3405 "" yy291: yych = *++YYCURSOR; switch(yych) { case 'm': goto yy292; default: goto yy180; } yy292: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy293; } yy293: #line 148 "c.re" { RET(ENUM); } #line 3483 "" yy294: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy295; default: goto yy180; } yy295: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy296; } yy296: #line 147 "c.re" { RET(ELSE); } #line 3561 "" yy297: yych = *++YYCURSOR; switch(yych) { case 'f': goto yy305; default: goto yy180; } yy298: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; case 'u': goto yy300; default: goto yy299; } yy299: #line 145 "c.re" { RET(DO); } #line 3639 "" yy300: yych = *++YYCURSOR; switch(yych) { case 'b': goto yy301; default: goto yy180; } yy301: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy302; default: goto yy180; } yy302: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy303; default: goto yy180; } yy303: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy304; } yy304: #line 146 "c.re" { RET(DOUBLE); } #line 3729 "" yy305: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy306; default: goto yy180; } yy306: yych = *++YYCURSOR; switch(yych) { case 'u': goto yy307; default: goto yy180; } yy307: yych = *++YYCURSOR; switch(yych) { case 'l': goto yy308; default: goto yy180; } yy308: yych = *++YYCURSOR; switch(yych) { case 't': goto yy309; default: goto yy180; } yy309: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy310; } yy310: #line 144 "c.re" { RET(DEFAULT); } #line 3825 "" yy311: yych = *++YYCURSOR; switch(yych) { case 's': goto yy327; default: goto yy180; } yy312: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy324; default: goto yy180; } yy313: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy314; default: goto yy180; } yy314: yych = *++YYCURSOR; switch(yych) { case 's': goto yy315; case 't': goto yy316; default: goto yy180; } yy315: yych = *++YYCURSOR; switch(yych) { case 't': goto yy322; default: goto yy180; } yy316: yych = *++YYCURSOR; switch(yych) { case 'i': goto yy317; default: goto yy180; } yy317: yych = *++YYCURSOR; switch(yych) { case 'n': goto yy318; default: goto yy180; } yy318: yych = *++YYCURSOR; switch(yych) { case 'u': goto yy319; default: goto yy180; } yy319: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy320; default: goto yy180; } yy320: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy321; } yy321: #line 143 "c.re" { RET(CONTINUE); } #line 3952 "" yy322: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy323; } yy323: #line 142 "c.re" { RET(CONST); } #line 4024 "" yy324: yych = *++YYCURSOR; switch(yych) { case 'r': goto yy325; default: goto yy180; } yy325: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy326; } yy326: #line 141 "c.re" { RET(CHAR); } #line 4102 "" yy327: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy328; default: goto yy180; } yy328: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy329; } yy329: #line 140 "c.re" { RET(CASE); } #line 4180 "" yy330: yych = *++YYCURSOR; switch(yych) { case 'e': goto yy331; default: goto yy180; } yy331: yych = *++YYCURSOR; switch(yych) { case 'a': goto yy332; default: goto yy180; } yy332: yych = *++YYCURSOR; switch(yych) { case 'k': goto yy333; default: goto yy180; } yy333: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy334; } yy334: #line 139 "c.re" { RET(BREAK); } #line 4270 "" yy335: yych = *++YYCURSOR; switch(yych) { case 't': goto yy336; default: goto yy180; } yy336: yych = *++YYCURSOR; switch(yych) { case 'o': goto yy337; default: goto yy180; } yy337: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy338; } yy338: #line 138 "c.re" { RET(AUTO); } #line 4354 "" yy339: ++YYCURSOR; #line 189 "c.re" { RET(DIVEQ); } #line 4359 "" yy341: ++YYCURSOR; #line 136 "c.re" { goto comment; } #line 4364 "" } #line 245 "c.re" comment: #line 4371 "" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych) { case 0x0A: goto yy347; case '*': goto yy345; default: goto yy349; } yy345: ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy350; default: goto yy346; } yy346: #line 256 "c.re" { goto comment; } #line 4390 "" yy347: ++YYCURSOR; #line 251 "c.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 4399 "" yy349: yych = *++YYCURSOR; goto yy346; yy350: ++YYCURSOR; #line 249 "c.re" { goto std; } #line 4407 "" } #line 257 "c.re" } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); }