/* 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 "c.c" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy4; case '\n': goto yy7; case '!': goto yy9; case '"': goto yy11; case '%': goto yy12; case '&': goto yy14; case '\'': goto yy16; case '(': goto yy17; case ')': goto yy19; case '*': goto yy21; case '+': goto yy23; case ',': goto yy25; case '-': goto yy27; case '.': goto yy29; case '/': goto yy31; case '0': goto yy33; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy35; case ':': goto yy37; case ';': goto yy39; case '<': goto yy41; case '=': goto yy43; case '>': goto yy45; case '?': goto yy47; 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 yy49; case '[': goto yy52; case ']': goto yy54; case '^': goto yy56; case 'a': goto yy58; case 'b': goto yy59; case 'c': goto yy60; case 'd': goto yy61; case 'e': goto yy62; case 'f': goto yy63; case 'g': goto yy64; case 'i': goto yy65; case 'l': goto yy66; case 'r': goto yy67; case 's': goto yy68; case 't': goto yy69; case 'u': goto yy70; case 'v': goto yy71; case 'w': goto yy72; case '{': goto yy73; case '|': goto yy75; case '}': goto yy77; case '~': goto yy79; default: goto yy2; } yy2: ++YYCURSOR; yy3: #line 241 "c.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 241 "c.c" yy4: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy4; default: goto yy6; } yy6: #line 231 "c.re" { goto std; } #line 256 "c.c" yy7: ++YYCURSOR; #line 234 "c.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 265 "c.c" yy9: yych = *++YYCURSOR; switch (yych) { case '=': goto yy81; default: goto yy10; } yy10: #line 217 "c.re" { RET('!'); } #line 275 "c.c" yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy3; default: goto yy84; } yy12: yych = *++YYCURSOR; switch (yych) { case '=': goto yy89; default: goto yy13; } yy13: #line 223 "c.re" { RET('%'); } #line 292 "c.c" yy14: yych = *++YYCURSOR; switch (yych) { case '&': goto yy91; case '=': goto yy93; default: goto yy15; } yy15: #line 216 "c.re" { RET('&'); } #line 303 "c.c" yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy3; default: goto yy96; } yy17: ++YYCURSOR; #line 211 "c.re" { RET('('); } #line 315 "c.c" yy19: ++YYCURSOR; #line 212 "c.re" { RET(')'); } #line 320 "c.c" yy21: yych = *++YYCURSOR; switch (yych) { case '=': goto yy99; default: goto yy22; } yy22: #line 221 "c.re" { RET('*'); } #line 330 "c.c" yy23: yych = *++YYCURSOR; switch (yych) { case '+': goto yy101; case '=': goto yy103; default: goto yy24; } yy24: #line 220 "c.re" { RET('+'); } #line 341 "c.c" yy25: ++YYCURSOR; #line 208 "c.re" { RET(','); } #line 346 "c.c" yy27: yych = *++YYCURSOR; switch (yych) { case '-': goto yy105; case '=': goto yy107; case '>': goto yy109; default: goto yy28; } yy28: #line 219 "c.re" { RET('-'); } #line 358 "c.c" yy29: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy111; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy112; default: goto yy30; } yy30: #line 215 "c.re" { RET('.'); } #line 379 "c.c" yy31: yych = *++YYCURSOR; switch (yych) { case '*': goto yy115; case '=': goto yy117; default: goto yy32; } yy32: #line 222 "c.re" { RET('/'); } #line 390 "c.c" yy33: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'X': case 'x': goto yy122; default: goto yy36; } yy34: #line 175 "c.re" { RET(ICON); } #line 402 "c.c" yy35: yyaccept = 2; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy36: switch (yych) { case '.': goto yy112; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy35; case 'E': case 'e': goto yy119; case 'L': case 'U': case 'l': case 'u': goto yy120; default: goto yy34; } yy37: ++YYCURSOR; #line 209 "c.re" { RET(':'); } #line 433 "c.c" yy39: ++YYCURSOR; #line 205 "c.re" { RET(';'); } #line 438 "c.c" yy41: yych = *++YYCURSOR; switch (yych) { case '<': goto yy123; case '=': goto yy125; default: goto yy42; } yy42: #line 224 "c.re" { RET('<'); } #line 449 "c.c" yy43: yych = *++YYCURSOR; switch (yych) { case '=': goto yy127; default: goto yy44; } yy44: #line 210 "c.re" { RET('='); } #line 459 "c.c" yy45: yych = *++YYCURSOR; switch (yych) { case '=': goto yy129; case '>': goto yy131; default: goto yy46; } yy46: #line 225 "c.re" { RET('>'); } #line 470 "c.c" yy47: ++YYCURSOR; #line 228 "c.re" { RET('?'); } #line 475 "c.c" yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy50: 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 yy49; default: goto yy51; } yy51: #line 171 "c.re" { RET(ID); } #line 550 "c.c" yy52: ++YYCURSOR; #line 213 "c.re" { RET('['); } #line 555 "c.c" yy54: ++YYCURSOR; #line 214 "c.re" { RET(']'); } #line 560 "c.c" yy56: yych = *++YYCURSOR; switch (yych) { case '=': goto yy133; default: goto yy57; } yy57: #line 226 "c.re" { RET('^'); } #line 570 "c.c" yy58: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy135; default: goto yy50; } yy59: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy136; default: goto yy50; } yy60: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy137; case 'h': goto yy138; case 'o': goto yy139; default: goto yy50; } yy61: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy140; case 'o': goto yy141; default: goto yy50; } yy62: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy143; case 'n': goto yy144; case 'x': goto yy145; default: goto yy50; } yy63: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy146; case 'o': goto yy147; default: goto yy50; } yy64: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy148; default: goto yy50; } yy65: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy149; case 'n': goto yy151; default: goto yy50; } yy66: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy152; default: goto yy50; } yy67: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy153; default: goto yy50; } yy68: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy154; case 'i': goto yy155; case 't': goto yy156; case 'w': goto yy157; default: goto yy50; } yy69: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy158; default: goto yy50; } yy70: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy159; default: goto yy50; } yy71: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy160; default: goto yy50; } yy72: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy161; default: goto yy50; } yy73: ++YYCURSOR; #line 206 "c.re" { RET('{'); } #line 675 "c.c" yy75: yych = *++YYCURSOR; switch (yych) { case '=': goto yy162; case '|': goto yy164; default: goto yy76; } yy76: #line 227 "c.re" { RET('|'); } #line 686 "c.c" yy77: ++YYCURSOR; #line 207 "c.re" { RET('}'); } #line 691 "c.c" yy79: ++YYCURSOR; #line 218 "c.re" { RET('~'); } #line 696 "c.c" yy81: ++YYCURSOR; #line 204 "c.re" { RET(NEQ); } #line 701 "c.c" yy83: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy84: switch (yych) { case '\n': goto yy85; case '"': goto yy86; case '\\': goto yy88; default: goto yy83; } yy85: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy3; case 1: goto yy30; case 2: goto yy34; default: goto yy114; } yy86: ++YYCURSOR; #line 181 "c.re" { RET(SCON); } #line 725 "c.c" yy88: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy83; case 'x': goto yy166; default: goto yy85; } yy89: ++YYCURSOR; #line 190 "c.re" { RET(MODEQ); } #line 757 "c.c" yy91: ++YYCURSOR; #line 199 "c.re" { RET(ANDAND); } #line 762 "c.c" yy93: ++YYCURSOR; #line 191 "c.re" { RET(ANDEQ); } #line 767 "c.c" yy95: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy96: switch (yych) { case '\n': goto yy85; case '\'': goto yy97; case '\\': goto yy98; default: goto yy95; } yy97: ++YYCURSOR; goto yy34; yy98: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy95; case 'x': goto yy167; default: goto yy85; } yy99: ++YYCURSOR; #line 188 "c.re" { RET(MULEQ); } #line 813 "c.c" yy101: ++YYCURSOR; #line 196 "c.re" { RET(INCR); } #line 818 "c.c" yy103: ++YYCURSOR; #line 186 "c.re" { RET(ADDEQ); } #line 823 "c.c" yy105: ++YYCURSOR; #line 197 "c.re" { RET(DECR); } #line 828 "c.c" yy107: ++YYCURSOR; #line 187 "c.re" { RET(SUBEQ); } #line 833 "c.c" yy109: ++YYCURSOR; #line 198 "c.re" { RET(DEREF); } #line 838 "c.c" yy111: yych = *++YYCURSOR; switch (yych) { case '.': goto yy168; default: goto yy85; } yy112: 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 yy112; case 'E': case 'e': goto yy119; case 'F': case 'L': case 'f': case 'l': goto yy170; default: goto yy114; } yy114: #line 178 "c.re" { RET(FCON); } #line 872 "c.c" yy115: ++YYCURSOR; #line 136 "c.re" { goto comment; } #line 877 "c.c" yy117: ++YYCURSOR; #line 189 "c.re" { RET(DIVEQ); } #line 882 "c.c" yy119: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy171; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy172; default: goto yy85; } yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy120; default: goto yy34; } yy122: 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 yy174; default: goto yy85; } yy123: yych = *++YYCURSOR; switch (yych) { case '=': goto yy176; default: goto yy124; } yy124: #line 195 "c.re" { RET(LSHIFT); } #line 947 "c.c" yy125: ++YYCURSOR; #line 201 "c.re" { RET(LEQ); } #line 952 "c.c" yy127: ++YYCURSOR; #line 203 "c.re" { RET(EQL); } #line 957 "c.c" yy129: ++YYCURSOR; #line 202 "c.re" { RET(GEQ); } #line 962 "c.c" yy131: yych = *++YYCURSOR; switch (yych) { case '=': goto yy178; default: goto yy132; } yy132: #line 194 "c.re" { RET(RSHIFT); } #line 972 "c.c" yy133: ++YYCURSOR; #line 192 "c.re" { RET(XOREQ); } #line 977 "c.c" yy135: yych = *++YYCURSOR; switch (yych) { case 't': goto yy180; default: goto yy50; } yy136: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy181; default: goto yy50; } yy137: yych = *++YYCURSOR; switch (yych) { case 's': goto yy182; default: goto yy50; } yy138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy183; default: goto yy50; } yy139: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy184; default: goto yy50; } yy140: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy185; default: goto yy50; } yy141: 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 '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 yy49; case 'u': goto yy186; default: goto yy142; } yy142: #line 145 "c.re" { RET(DO); } #line 1085 "c.c" yy143: yych = *++YYCURSOR; switch (yych) { case 's': goto yy187; default: goto yy50; } yy144: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy188; default: goto yy50; } yy145: yych = *++YYCURSOR; switch (yych) { case 't': goto yy189; default: goto yy50; } yy146: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy190; default: goto yy50; } yy147: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy191; default: goto yy50; } yy148: yych = *++YYCURSOR; switch (yych) { case 't': goto yy193; default: goto yy50; } yy149: 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 '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 yy49; default: goto yy150; } yy150: #line 153 "c.re" { RET(IF); } #line 1193 "c.c" yy151: yych = *++YYCURSOR; switch (yych) { case 't': goto yy194; default: goto yy50; } yy152: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy196; default: goto yy50; } yy153: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy197; case 't': goto yy198; default: goto yy50; } yy154: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy199; default: goto yy50; } yy155: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy200; case 'z': goto yy201; default: goto yy50; } yy156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy202; case 'r': goto yy203; default: goto yy50; } yy157: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy204; default: goto yy50; } yy158: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy205; default: goto yy50; } yy159: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy206; case 's': goto yy207; default: goto yy50; } yy160: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy208; case 'l': goto yy209; default: goto yy50; } yy161: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy210; default: goto yy50; } yy162: ++YYCURSOR; #line 193 "c.re" { RET(OREQ); } #line 1269 "c.c" yy164: ++YYCURSOR; #line 200 "c.re" { RET(OROR); } #line 1274 "c.c" yy166: ++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 yy83; default: goto yy85; } yy167: ++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 yy95; default: goto yy85; } yy168: ++YYCURSOR; #line 183 "c.re" { RET(ELLIPSIS); } #line 1337 "c.c" yy170: ++YYCURSOR; goto yy114; yy171: 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 yy172; default: goto yy85; } yy172: ++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 yy172; case 'F': case 'L': case 'f': case 'l': goto yy170; default: goto yy114; } yy174: ++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 yy174; case 'L': case 'U': case 'l': case 'u': goto yy120; default: goto yy34; } yy176: ++YYCURSOR; #line 185 "c.re" { RET(LSHIFTEQ); } #line 1414 "c.c" yy178: ++YYCURSOR; #line 184 "c.re" { RET(RSHIFTEQ); } #line 1419 "c.c" yy180: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy211; default: goto yy50; } yy181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy213; default: goto yy50; } yy182: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy214; default: goto yy50; } yy183: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy216; default: goto yy50; } yy184: yych = *++YYCURSOR; switch (yych) { case 's': goto yy218; case 't': goto yy219; default: goto yy50; } yy185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy220; default: goto yy50; } yy186: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy221; default: goto yy50; } yy187: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy222; default: goto yy50; } yy188: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy224; default: goto yy50; } yy189: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy226; default: goto yy50; } yy190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy227; default: goto yy50; } yy191: 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 '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 yy49; default: goto yy192; } yy192: #line 151 "c.re" { RET(FOR); } #line 1558 "c.c" yy193: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy228; default: goto yy50; } yy194: 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 '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 yy49; default: goto yy195; } yy195: #line 154 "c.re" { RET(INT); } #line 1636 "c.c" yy196: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy230; default: goto yy50; } yy197: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy232; default: goto yy50; } yy198: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy233; default: goto yy50; } yy199: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy234; default: goto yy50; } yy200: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy235; default: goto yy50; } yy201: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy236; default: goto yy50; } yy202: yych = *++YYCURSOR; switch (yych) { case 't': goto yy237; default: goto yy50; } yy203: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy238; default: goto yy50; } yy204: yych = *++YYCURSOR; switch (yych) { case 't': goto yy239; default: goto yy50; } yy205: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy240; default: goto yy50; } yy206: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy241; default: goto yy50; } yy207: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy242; default: goto yy50; } yy208: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy243; default: goto yy50; } yy209: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy245; default: goto yy50; } yy210: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy246; default: goto yy50; } yy211: 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 '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 yy49; default: goto yy212; } yy212: #line 138 "c.re" { RET(AUTO); } #line 1798 "c.c" yy213: yych = *++YYCURSOR; switch (yych) { case 'k': goto yy247; default: goto yy50; } yy214: 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 '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 yy49; default: goto yy215; } yy215: #line 140 "c.re" { RET(CASE); } #line 1876 "c.c" yy216: 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 '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 yy49; default: goto yy217; } yy217: #line 141 "c.re" { RET(CHAR); } #line 1948 "c.c" yy218: yych = *++YYCURSOR; switch (yych) { case 't': goto yy249; default: goto yy50; } yy219: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy251; default: goto yy50; } yy220: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy252; default: goto yy50; } yy221: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy253; default: goto yy50; } yy222: 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 '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 yy49; default: goto yy223; } yy223: #line 147 "c.re" { RET(ELSE); } #line 2044 "c.c" yy224: 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 '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 yy49; default: goto yy225; } yy225: #line 148 "c.re" { RET(ENUM); } #line 2116 "c.c" yy226: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy254; default: goto yy50; } yy227: yych = *++YYCURSOR; switch (yych) { case 't': goto yy255; default: goto yy50; } yy228: 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 '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 yy49; default: goto yy229; } yy229: #line 152 "c.re" { RET(GOTO); } #line 2200 "c.c" yy230: 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 '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 yy49; default: goto yy231; } yy231: #line 155 "c.re" { RET(LONG); } #line 2272 "c.c" yy232: yych = *++YYCURSOR; switch (yych) { case 's': goto yy257; default: goto yy50; } yy233: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy258; default: goto yy50; } yy234: yych = *++YYCURSOR; switch (yych) { case 't': goto yy259; default: goto yy50; } yy235: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy261; default: goto yy50; } yy236: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy262; default: goto yy50; } yy237: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy263; default: goto yy50; } yy238: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy264; default: goto yy50; } yy239: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy265; default: goto yy50; } yy240: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy266; default: goto yy50; } yy241: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy267; default: goto yy50; } yy242: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy269; default: goto yy50; } yy243: 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 '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 yy49; default: goto yy244; } yy244: #line 167 "c.re" { RET(VOID); } #line 2410 "c.c" yy245: yych = *++YYCURSOR; switch (yych) { case 't': goto yy270; default: goto yy50; } yy246: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy271; default: goto yy50; } yy247: 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 '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 yy49; default: goto yy248; } yy248: #line 139 "c.re" { RET(BREAK); } #line 2494 "c.c" yy249: 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 '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 yy49; default: goto yy250; } yy250: #line 142 "c.re" { RET(CONST); } #line 2566 "c.c" yy251: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy273; default: goto yy50; } yy252: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy274; default: goto yy50; } yy253: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy275; default: goto yy50; } yy254: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy277; default: goto yy50; } yy255: 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 '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 yy49; default: goto yy256; } yy256: #line 150 "c.re" { RET(FLOAT); } #line 2662 "c.c" yy257: yych = *++YYCURSOR; switch (yych) { case 't': goto yy279; default: goto yy50; } yy258: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy280; default: goto yy50; } yy259: 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 '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 yy49; default: goto yy260; } yy260: #line 158 "c.re" { RET(SHORT); } #line 2746 "c.c" yy261: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy282; default: goto yy50; } yy262: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy284; default: goto yy50; } yy263: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy286; default: goto yy50; } yy264: yych = *++YYCURSOR; switch (yych) { case 't': goto yy288; default: goto yy50; } yy265: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy290; default: goto yy50; } yy266: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy292; default: goto yy50; } yy267: 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 '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 yy49; default: goto yy268; } yy268: #line 165 "c.re" { RET(UNION); } #line 2854 "c.c" yy269: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy293; default: goto yy50; } yy270: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy294; default: goto yy50; } yy271: 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 '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 yy49; default: goto yy272; } yy272: #line 169 "c.re" { RET(WHILE); } #line 2938 "c.c" yy273: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy295; default: goto yy50; } yy274: yych = *++YYCURSOR; switch (yych) { case 't': goto yy296; default: goto yy50; } yy275: 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 '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 yy49; default: goto yy276; } yy276: #line 146 "c.re" { RET(DOUBLE); } #line 3022 "c.c" yy277: 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 '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 yy49; default: goto yy278; } yy278: #line 149 "c.re" { RET(EXTERN); } #line 3094 "c.c" yy279: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy298; default: goto yy50; } yy280: 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 '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 yy49; default: goto yy281; } yy281: #line 157 "c.re" { RET(RETURN); } #line 3172 "c.c" yy282: 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 '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 yy49; default: goto yy283; } yy283: #line 159 "c.re" { RET(SIGNED); } #line 3244 "c.c" yy284: 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 '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 yy49; default: goto yy285; } yy285: #line 160 "c.re" { RET(SIZEOF); } #line 3316 "c.c" yy286: 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 '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 yy49; default: goto yy287; } yy287: #line 161 "c.re" { RET(STATIC); } #line 3388 "c.c" yy288: 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 '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 yy49; default: goto yy289; } yy289: #line 162 "c.re" { RET(STRUCT); } #line 3460 "c.c" yy290: 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 '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 yy49; default: goto yy291; } yy291: #line 163 "c.re" { RET(SWITCH); } #line 3532 "c.c" yy292: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy299; default: goto yy50; } yy293: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy301; default: goto yy50; } yy294: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy302; default: goto yy50; } yy295: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy303; default: goto yy50; } yy296: 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 '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 yy49; default: goto yy297; } yy297: #line 144 "c.re" { RET(DEFAULT); } #line 3628 "c.c" yy298: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy305; default: goto yy50; } yy299: 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 '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 yy49; default: goto yy300; } yy300: #line 164 "c.re" { RET(TYPEDEF); } #line 3706 "c.c" yy301: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy307; default: goto yy50; } yy302: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy309; default: goto yy50; } yy303: 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 '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 yy49; default: goto yy304; } yy304: #line 143 "c.re" { RET(CONTINUE); } #line 3790 "c.c" yy305: 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 '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 yy49; default: goto yy306; } yy306: #line 156 "c.re" { RET(REGISTER); } #line 3862 "c.c" yy307: 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 '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 yy49; default: goto yy308; } yy308: #line 166 "c.re" { RET(UNSIGNED); } #line 3934 "c.c" yy309: 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 '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 yy49; default: goto yy310; } yy310: #line 168 "c.re" { RET(VOLATILE); } #line 4006 "c.c" } #line 245 "c.re" comment: #line 4013 "c.c" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy315; case '*': goto yy317; default: goto yy313; } yy313: ++YYCURSOR; yy314: #line 256 "c.re" { goto comment; } #line 4028 "c.c" yy315: ++YYCURSOR; #line 251 "c.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 4037 "c.c" yy317: yych = *++YYCURSOR; switch (yych) { case '/': goto yy318; default: goto yy314; } yy318: ++YYCURSOR; #line 249 "c.re" { goto std; } #line 4048 "c.c" } #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); }