/* Generated by re2c */
#line 1 "real_world/c.re"
// re2c $INPUT -o $OUTPUT 
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#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 134 "real_world/c.re"



#line 131 "real_world/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 yy3;
		case '\n': goto yy5;
		case '!': goto yy6;
		case '"': goto yy8;
		case '%': goto yy9;
		case '&': goto yy11;
		case '\'': goto yy13;
		case '(': goto yy14;
		case ')': goto yy15;
		case '*': goto yy16;
		case '+': goto yy18;
		case ',': goto yy20;
		case '-': goto yy21;
		case '.': goto yy23;
		case '/': goto yy25;
		case '0': goto yy27;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy29;
		case ':': goto yy31;
		case ';': goto yy32;
		case '<': goto yy33;
		case '=': goto yy35;
		case '>': goto yy37;
		case '?': goto yy39;
		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 yy40;
		case '[': goto yy43;
		case ']': goto yy44;
		case '^': goto yy45;
		case 'a': goto yy47;
		case 'b': goto yy48;
		case 'c': goto yy49;
		case 'd': goto yy50;
		case 'e': goto yy51;
		case 'f': goto yy52;
		case 'g': goto yy53;
		case 'i': goto yy54;
		case 'l': goto yy55;
		case 'r': goto yy56;
		case 's': goto yy57;
		case 't': goto yy58;
		case 'u': goto yy59;
		case 'v': goto yy60;
		case 'w': goto yy61;
		case '{': goto yy62;
		case '|': goto yy63;
		case '}': goto yy65;
		case '~': goto yy66;
		default: goto yy1;
	}
yy1:
	++YYCURSOR;
yy2:
#line 242 "real_world/c.re"
	{
		printf("unexpected character: %c\n", *s->tok);
		goto std;
	    }
#line 242 "real_world/c.c"
yy3:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case '\t':
		case '\v':
		case '\f':
		case ' ': goto yy3;
		default: goto yy4;
	}
yy4:
#line 232 "real_world/c.re"
	{ goto std; }
#line 257 "real_world/c.c"
yy5:
	++YYCURSOR;
#line 235 "real_world/c.re"
	{
		if(cursor == s->eof) RET(EOI);
		s->pos = cursor; s->line++;
		goto std;
	    }
#line 266 "real_world/c.c"
yy6:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy67;
		default: goto yy7;
	}
yy7:
#line 218 "real_world/c.re"
	{ RET('!'); }
#line 276 "real_world/c.c"
yy8:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case '\n': goto yy2;
		default: goto yy69;
	}
yy9:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy73;
		default: goto yy10;
	}
yy10:
#line 224 "real_world/c.re"
	{ RET('%'); }
#line 293 "real_world/c.c"
yy11:
	yych = *++YYCURSOR;
	switch (yych) {
		case '&': goto yy74;
		case '=': goto yy75;
		default: goto yy12;
	}
yy12:
#line 217 "real_world/c.re"
	{ RET('&'); }
#line 304 "real_world/c.c"
yy13:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case '\n': goto yy2;
		default: goto yy77;
	}
yy14:
	++YYCURSOR;
#line 212 "real_world/c.re"
	{ RET('('); }
#line 316 "real_world/c.c"
yy15:
	++YYCURSOR;
#line 213 "real_world/c.re"
	{ RET(')'); }
#line 321 "real_world/c.c"
yy16:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy80;
		default: goto yy17;
	}
yy17:
#line 222 "real_world/c.re"
	{ RET('*'); }
#line 331 "real_world/c.c"
yy18:
	yych = *++YYCURSOR;
	switch (yych) {
		case '+': goto yy81;
		case '=': goto yy82;
		default: goto yy19;
	}
yy19:
#line 221 "real_world/c.re"
	{ RET('+'); }
#line 342 "real_world/c.c"
yy20:
	++YYCURSOR;
#line 209 "real_world/c.re"
	{ RET(','); }
#line 347 "real_world/c.c"
yy21:
	yych = *++YYCURSOR;
	switch (yych) {
		case '-': goto yy83;
		case '=': goto yy84;
		case '>': goto yy85;
		default: goto yy22;
	}
yy22:
#line 220 "real_world/c.re"
	{ RET('-'); }
#line 359 "real_world/c.c"
yy23:
	yyaccept = 1;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case '.': goto yy86;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy87;
		default: goto yy24;
	}
yy24:
#line 216 "real_world/c.re"
	{ RET('.'); }
#line 380 "real_world/c.c"
yy25:
	yych = *++YYCURSOR;
	switch (yych) {
		case '*': goto yy89;
		case '=': goto yy90;
		default: goto yy26;
	}
yy26:
#line 223 "real_world/c.re"
	{ RET('/'); }
#line 391 "real_world/c.c"
yy27:
	yyaccept = 2;
	yych = *(YYMARKER = ++YYCURSOR);
	switch (yych) {
		case 'X':
		case 'x': goto yy93;
		default: goto yy30;
	}
yy28:
#line 176 "real_world/c.re"
	{ RET(ICON); }
#line 403 "real_world/c.c"
yy29:
	yyaccept = 2;
	YYMARKER = ++YYCURSOR;
	if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
	yych = *YYCURSOR;
yy30:
	switch (yych) {
		case '.': goto yy87;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy29;
		case 'E':
		case 'e': goto yy91;
		case 'L':
		case 'U':
		case 'l':
		case 'u': goto yy92;
		default: goto yy28;
	}
yy31:
	++YYCURSOR;
#line 210 "real_world/c.re"
	{ RET(':'); }
#line 434 "real_world/c.c"
yy32:
	++YYCURSOR;
#line 206 "real_world/c.re"
	{ RET(';'); }
#line 439 "real_world/c.c"
yy33:
	yych = *++YYCURSOR;
	switch (yych) {
		case '<': goto yy94;
		case '=': goto yy96;
		default: goto yy34;
	}
yy34:
#line 225 "real_world/c.re"
	{ RET('<'); }
#line 450 "real_world/c.c"
yy35:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy97;
		default: goto yy36;
	}
yy36:
#line 211 "real_world/c.re"
	{ RET('='); }
#line 460 "real_world/c.c"
yy37:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy98;
		case '>': goto yy99;
		default: goto yy38;
	}
yy38:
#line 226 "real_world/c.re"
	{ RET('>'); }
#line 471 "real_world/c.c"
yy39:
	++YYCURSOR;
#line 229 "real_world/c.re"
	{ RET('?'); }
#line 476 "real_world/c.c"
yy40:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy41:
	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 yy40;
		default: goto yy42;
	}
yy42:
#line 172 "real_world/c.re"
	{ RET(ID); }
#line 551 "real_world/c.c"
yy43:
	++YYCURSOR;
#line 214 "real_world/c.re"
	{ RET('['); }
#line 556 "real_world/c.c"
yy44:
	++YYCURSOR;
#line 215 "real_world/c.re"
	{ RET(']'); }
#line 561 "real_world/c.c"
yy45:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy101;
		default: goto yy46;
	}
yy46:
#line 227 "real_world/c.re"
	{ RET('^'); }
#line 571 "real_world/c.c"
yy47:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy102;
		default: goto yy41;
	}
yy48:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy103;
		default: goto yy41;
	}
yy49:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy104;
		case 'h': goto yy105;
		case 'o': goto yy106;
		default: goto yy41;
	}
yy50:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy107;
		case 'o': goto yy108;
		default: goto yy41;
	}
yy51:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy110;
		case 'n': goto yy111;
		case 'x': goto yy112;
		default: goto yy41;
	}
yy52:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy113;
		case 'o': goto yy114;
		default: goto yy41;
	}
yy53:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy115;
		default: goto yy41;
	}
yy54:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'f': goto yy116;
		case 'n': goto yy118;
		default: goto yy41;
	}
yy55:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy119;
		default: goto yy41;
	}
yy56:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy120;
		default: goto yy41;
	}
yy57:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'h': goto yy121;
		case 'i': goto yy122;
		case 't': goto yy123;
		case 'w': goto yy124;
		default: goto yy41;
	}
yy58:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'y': goto yy125;
		default: goto yy41;
	}
yy59:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy126;
		default: goto yy41;
	}
yy60:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy127;
		default: goto yy41;
	}
yy61:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'h': goto yy128;
		default: goto yy41;
	}
yy62:
	++YYCURSOR;
#line 207 "real_world/c.re"
	{ RET('{'); }
#line 676 "real_world/c.c"
yy63:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy129;
		case '|': goto yy130;
		default: goto yy64;
	}
yy64:
#line 228 "real_world/c.re"
	{ RET('|'); }
#line 687 "real_world/c.c"
yy65:
	++YYCURSOR;
#line 208 "real_world/c.re"
	{ RET('}'); }
#line 692 "real_world/c.c"
yy66:
	++YYCURSOR;
#line 219 "real_world/c.re"
	{ RET('~'); }
#line 697 "real_world/c.c"
yy67:
	++YYCURSOR;
#line 205 "real_world/c.re"
	{ RET(NEQ); }
#line 702 "real_world/c.c"
yy68:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy69:
	switch (yych) {
		case '\n': goto yy70;
		case '"': goto yy71;
		case '\\': goto yy72;
		default: goto yy68;
	}
yy70:
	YYCURSOR = YYMARKER;
	switch (yyaccept) {
		case 0: goto yy2;
		case 1: goto yy24;
		case 2: goto yy28;
		default: goto yy88;
	}
yy71:
	++YYCURSOR;
#line 182 "real_world/c.re"
	{ RET(SCON); }
#line 726 "real_world/c.c"
yy72:
	++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 yy68;
		case 'x': goto yy131;
		default: goto yy70;
	}
yy73:
	++YYCURSOR;
#line 191 "real_world/c.re"
	{ RET(MODEQ); }
#line 758 "real_world/c.c"
yy74:
	++YYCURSOR;
#line 200 "real_world/c.re"
	{ RET(ANDAND); }
#line 763 "real_world/c.c"
yy75:
	++YYCURSOR;
#line 192 "real_world/c.re"
	{ RET(ANDEQ); }
#line 768 "real_world/c.c"
yy76:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy77:
	switch (yych) {
		case '\n': goto yy70;
		case '\'': goto yy78;
		case '\\': goto yy79;
		default: goto yy76;
	}
yy78:
	++YYCURSOR;
	goto yy28;
yy79:
	++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 yy76;
		case 'x': goto yy132;
		default: goto yy70;
	}
yy80:
	++YYCURSOR;
#line 189 "real_world/c.re"
	{ RET(MULEQ); }
#line 814 "real_world/c.c"
yy81:
	++YYCURSOR;
#line 197 "real_world/c.re"
	{ RET(INCR); }
#line 819 "real_world/c.c"
yy82:
	++YYCURSOR;
#line 187 "real_world/c.re"
	{ RET(ADDEQ); }
#line 824 "real_world/c.c"
yy83:
	++YYCURSOR;
#line 198 "real_world/c.re"
	{ RET(DECR); }
#line 829 "real_world/c.c"
yy84:
	++YYCURSOR;
#line 188 "real_world/c.re"
	{ RET(SUBEQ); }
#line 834 "real_world/c.c"
yy85:
	++YYCURSOR;
#line 199 "real_world/c.re"
	{ RET(DEREF); }
#line 839 "real_world/c.c"
yy86:
	yych = *++YYCURSOR;
	switch (yych) {
		case '.': goto yy133;
		default: goto yy70;
	}
yy87:
	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 yy87;
		case 'E':
		case 'e': goto yy91;
		case 'F':
		case 'L':
		case 'f':
		case 'l': goto yy134;
		default: goto yy88;
	}
yy88:
#line 179 "real_world/c.re"
	{ RET(FCON); }
#line 873 "real_world/c.c"
yy89:
	++YYCURSOR;
#line 137 "real_world/c.re"
	{ goto comment; }
#line 878 "real_world/c.c"
yy90:
	++YYCURSOR;
#line 190 "real_world/c.re"
	{ RET(DIVEQ); }
#line 883 "real_world/c.c"
yy91:
	yych = *++YYCURSOR;
	switch (yych) {
		case '+':
		case '-': goto yy135;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy136;
		default: goto yy70;
	}
yy92:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'L':
		case 'U':
		case 'l':
		case 'u': goto yy92;
		default: goto yy28;
	}
yy93:
	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 yy137;
		default: goto yy70;
	}
yy94:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy138;
		default: goto yy95;
	}
yy95:
#line 196 "real_world/c.re"
	{ RET(LSHIFT); }
#line 948 "real_world/c.c"
yy96:
	++YYCURSOR;
#line 202 "real_world/c.re"
	{ RET(LEQ); }
#line 953 "real_world/c.c"
yy97:
	++YYCURSOR;
#line 204 "real_world/c.re"
	{ RET(EQL); }
#line 958 "real_world/c.c"
yy98:
	++YYCURSOR;
#line 203 "real_world/c.re"
	{ RET(GEQ); }
#line 963 "real_world/c.c"
yy99:
	yych = *++YYCURSOR;
	switch (yych) {
		case '=': goto yy139;
		default: goto yy100;
	}
yy100:
#line 195 "real_world/c.re"
	{ RET(RSHIFT); }
#line 973 "real_world/c.c"
yy101:
	++YYCURSOR;
#line 193 "real_world/c.re"
	{ RET(XOREQ); }
#line 978 "real_world/c.c"
yy102:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy140;
		default: goto yy41;
	}
yy103:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy141;
		default: goto yy41;
	}
yy104:
	yych = *++YYCURSOR;
	switch (yych) {
		case 's': goto yy142;
		default: goto yy41;
	}
yy105:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy143;
		default: goto yy41;
	}
yy106:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy144;
		default: goto yy41;
	}
yy107:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'f': goto yy145;
		default: goto yy41;
	}
yy108:
	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 yy40;
		case 'u': goto yy146;
		default: goto yy109;
	}
yy109:
#line 146 "real_world/c.re"
	{ RET(DO); }
#line 1086 "real_world/c.c"
yy110:
	yych = *++YYCURSOR;
	switch (yych) {
		case 's': goto yy147;
		default: goto yy41;
	}
yy111:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy148;
		default: goto yy41;
	}
yy112:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy149;
		default: goto yy41;
	}
yy113:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy150;
		default: goto yy41;
	}
yy114:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy151;
		default: goto yy41;
	}
yy115:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy153;
		default: goto yy41;
	}
yy116:
	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 yy40;
		default: goto yy117;
	}
yy117:
#line 154 "real_world/c.re"
	{ RET(IF); }
#line 1194 "real_world/c.c"
yy118:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy154;
		default: goto yy41;
	}
yy119:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy156;
		default: goto yy41;
	}
yy120:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'g': goto yy157;
		case 't': goto yy158;
		default: goto yy41;
	}
yy121:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy159;
		default: goto yy41;
	}
yy122:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'g': goto yy160;
		case 'z': goto yy161;
		default: goto yy41;
	}
yy123:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy162;
		case 'r': goto yy163;
		default: goto yy41;
	}
yy124:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy164;
		default: goto yy41;
	}
yy125:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'p': goto yy165;
		default: goto yy41;
	}
yy126:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy166;
		case 's': goto yy167;
		default: goto yy41;
	}
yy127:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy168;
		case 'l': goto yy169;
		default: goto yy41;
	}
yy128:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy170;
		default: goto yy41;
	}
yy129:
	++YYCURSOR;
#line 194 "real_world/c.re"
	{ RET(OREQ); }
#line 1270 "real_world/c.c"
yy130:
	++YYCURSOR;
#line 201 "real_world/c.re"
	{ RET(OROR); }
#line 1275 "real_world/c.c"
yy131:
	++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 yy68;
		default: goto yy70;
	}
yy132:
	++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 yy76;
		default: goto yy70;
	}
yy133:
	++YYCURSOR;
#line 184 "real_world/c.re"
	{ RET(ELLIPSIS); }
#line 1338 "real_world/c.c"
yy134:
	++YYCURSOR;
	goto yy88;
yy135:
	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 yy136;
		default: goto yy70;
	}
yy136:
	++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 yy136;
		case 'F':
		case 'L':
		case 'f':
		case 'l': goto yy134;
		default: goto yy88;
	}
yy137:
	++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 yy137;
		case 'L':
		case 'U':
		case 'l':
		case 'u': goto yy92;
		default: goto yy28;
	}
yy138:
	++YYCURSOR;
#line 186 "real_world/c.re"
	{ RET(LSHIFTEQ); }
#line 1415 "real_world/c.c"
yy139:
	++YYCURSOR;
#line 185 "real_world/c.re"
	{ RET(RSHIFTEQ); }
#line 1420 "real_world/c.c"
yy140:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy171;
		default: goto yy41;
	}
yy141:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy173;
		default: goto yy41;
	}
yy142:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy174;
		default: goto yy41;
	}
yy143:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy176;
		default: goto yy41;
	}
yy144:
	yych = *++YYCURSOR;
	switch (yych) {
		case 's': goto yy178;
		case 't': goto yy179;
		default: goto yy41;
	}
yy145:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy180;
		default: goto yy41;
	}
yy146:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'b': goto yy181;
		default: goto yy41;
	}
yy147:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy182;
		default: goto yy41;
	}
yy148:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'm': goto yy184;
		default: goto yy41;
	}
yy149:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy186;
		default: goto yy41;
	}
yy150:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy187;
		default: goto yy41;
	}
yy151:
	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 yy40;
		default: goto yy152;
	}
yy152:
#line 152 "real_world/c.re"
	{ RET(FOR); }
#line 1559 "real_world/c.c"
yy153:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy188;
		default: goto yy41;
	}
yy154:
	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 yy40;
		default: goto yy155;
	}
yy155:
#line 155 "real_world/c.re"
	{ RET(INT); }
#line 1637 "real_world/c.c"
yy156:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'g': goto yy190;
		default: goto yy41;
	}
yy157:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy192;
		default: goto yy41;
	}
yy158:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy193;
		default: goto yy41;
	}
yy159:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy194;
		default: goto yy41;
	}
yy160:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy195;
		default: goto yy41;
	}
yy161:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy196;
		default: goto yy41;
	}
yy162:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy197;
		default: goto yy41;
	}
yy163:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy198;
		default: goto yy41;
	}
yy164:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy199;
		default: goto yy41;
	}
yy165:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy200;
		default: goto yy41;
	}
yy166:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy201;
		default: goto yy41;
	}
yy167:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy202;
		default: goto yy41;
	}
yy168:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'd': goto yy203;
		default: goto yy41;
	}
yy169:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'a': goto yy205;
		default: goto yy41;
	}
yy170:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy206;
		default: goto yy41;
	}
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':
		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 yy40;
		default: goto yy172;
	}
yy172:
#line 139 "real_world/c.re"
	{ RET(AUTO); }
#line 1799 "real_world/c.c"
yy173:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'k': goto yy207;
		default: goto yy41;
	}
yy174:
	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 yy40;
		default: goto yy175;
	}
yy175:
#line 141 "real_world/c.re"
	{ RET(CASE); }
#line 1877 "real_world/c.c"
yy176:
	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 yy40;
		default: goto yy177;
	}
yy177:
#line 142 "real_world/c.re"
	{ RET(CHAR); }
#line 1949 "real_world/c.c"
yy178:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy209;
		default: goto yy41;
	}
yy179:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy211;
		default: goto yy41;
	}
yy180:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy212;
		default: goto yy41;
	}
yy181:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy213;
		default: goto yy41;
	}
yy182:
	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 yy40;
		default: goto yy183;
	}
yy183:
#line 148 "real_world/c.re"
	{ RET(ELSE); }
#line 2045 "real_world/c.c"
yy184:
	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 yy40;
		default: goto yy185;
	}
yy185:
#line 149 "real_world/c.re"
	{ RET(ENUM); }
#line 2117 "real_world/c.c"
yy186:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy214;
		default: goto yy41;
	}
yy187:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy215;
		default: goto yy41;
	}
yy188:
	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 yy40;
		default: goto yy189;
	}
yy189:
#line 153 "real_world/c.re"
	{ RET(GOTO); }
#line 2201 "real_world/c.c"
yy190:
	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 yy40;
		default: goto yy191;
	}
yy191:
#line 156 "real_world/c.re"
	{ RET(LONG); }
#line 2273 "real_world/c.c"
yy192:
	yych = *++YYCURSOR;
	switch (yych) {
		case 's': goto yy217;
		default: goto yy41;
	}
yy193:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy218;
		default: goto yy41;
	}
yy194:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy219;
		default: goto yy41;
	}
yy195:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy221;
		default: goto yy41;
	}
yy196:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'o': goto yy222;
		default: goto yy41;
	}
yy197:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy223;
		default: goto yy41;
	}
yy198:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'c': goto yy224;
		default: goto yy41;
	}
yy199:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'c': goto yy225;
		default: goto yy41;
	}
yy200:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'd': goto yy226;
		default: goto yy41;
	}
yy201:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy227;
		default: goto yy41;
	}
yy202:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'g': goto yy229;
		default: goto yy41;
	}
yy203:
	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 yy40;
		default: goto yy204;
	}
yy204:
#line 168 "real_world/c.re"
	{ RET(VOID); }
#line 2411 "real_world/c.c"
yy205:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy230;
		default: goto yy41;
	}
yy206:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy231;
		default: goto yy41;
	}
yy207:
	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 yy40;
		default: goto yy208;
	}
yy208:
#line 140 "real_world/c.re"
	{ RET(BREAK); }
#line 2495 "real_world/c.c"
yy209:
	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 yy40;
		default: goto yy210;
	}
yy210:
#line 143 "real_world/c.re"
	{ RET(CONST); }
#line 2567 "real_world/c.c"
yy211:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy233;
		default: goto yy41;
	}
yy212:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy234;
		default: goto yy41;
	}
yy213:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy235;
		default: goto yy41;
	}
yy214:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy237;
		default: goto yy41;
	}
yy215:
	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 yy40;
		default: goto yy216;
	}
yy216:
#line 151 "real_world/c.re"
	{ RET(FLOAT); }
#line 2663 "real_world/c.c"
yy217:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy239;
		default: goto yy41;
	}
yy218:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy240;
		default: goto yy41;
	}
yy219:
	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 yy40;
		default: goto yy220;
	}
yy220:
#line 159 "real_world/c.re"
	{ RET(SHORT); }
#line 2747 "real_world/c.c"
yy221:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'd': goto yy242;
		default: goto yy41;
	}
yy222:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'f': goto yy244;
		default: goto yy41;
	}
yy223:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'c': goto yy246;
		default: goto yy41;
	}
yy224:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy248;
		default: goto yy41;
	}
yy225:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'h': goto yy250;
		default: goto yy41;
	}
yy226:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy252;
		default: goto yy41;
	}
yy227:
	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 yy40;
		default: goto yy228;
	}
yy228:
#line 166 "real_world/c.re"
	{ RET(UNION); }
#line 2855 "real_world/c.c"
yy229:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'n': goto yy253;
		default: goto yy41;
	}
yy230:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'i': goto yy254;
		default: goto yy41;
	}
yy231:
	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 yy40;
		default: goto yy232;
	}
yy232:
#line 170 "real_world/c.re"
	{ RET(WHILE); }
#line 2939 "real_world/c.c"
yy233:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'u': goto yy255;
		default: goto yy41;
	}
yy234:
	yych = *++YYCURSOR;
	switch (yych) {
		case 't': goto yy256;
		default: goto yy41;
	}
yy235:
	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 yy40;
		default: goto yy236;
	}
yy236:
#line 147 "real_world/c.re"
	{ RET(DOUBLE); }
#line 3023 "real_world/c.c"
yy237:
	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 yy40;
		default: goto yy238;
	}
yy238:
#line 150 "real_world/c.re"
	{ RET(EXTERN); }
#line 3095 "real_world/c.c"
yy239:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy258;
		default: goto yy41;
	}
yy240:
	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 yy40;
		default: goto yy241;
	}
yy241:
#line 158 "real_world/c.re"
	{ RET(RETURN); }
#line 3173 "real_world/c.c"
yy242:
	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 yy40;
		default: goto yy243;
	}
yy243:
#line 160 "real_world/c.re"
	{ RET(SIGNED); }
#line 3245 "real_world/c.c"
yy244:
	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 yy40;
		default: goto yy245;
	}
yy245:
#line 161 "real_world/c.re"
	{ RET(SIZEOF); }
#line 3317 "real_world/c.c"
yy246:
	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 yy40;
		default: goto yy247;
	}
yy247:
#line 162 "real_world/c.re"
	{ RET(STATIC); }
#line 3389 "real_world/c.c"
yy248:
	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 yy40;
		default: goto yy249;
	}
yy249:
#line 163 "real_world/c.re"
	{ RET(STRUCT); }
#line 3461 "real_world/c.c"
yy250:
	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 yy40;
		default: goto yy251;
	}
yy251:
#line 164 "real_world/c.re"
	{ RET(SWITCH); }
#line 3533 "real_world/c.c"
yy252:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'f': goto yy259;
		default: goto yy41;
	}
yy253:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy261;
		default: goto yy41;
	}
yy254:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'l': goto yy262;
		default: goto yy41;
	}
yy255:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy263;
		default: goto yy41;
	}
yy256:
	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 yy40;
		default: goto yy257;
	}
yy257:
#line 145 "real_world/c.re"
	{ RET(DEFAULT); }
#line 3629 "real_world/c.c"
yy258:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'r': goto yy265;
		default: goto yy41;
	}
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 yy40;
		default: goto yy260;
	}
yy260:
#line 165 "real_world/c.re"
	{ RET(TYPEDEF); }
#line 3707 "real_world/c.c"
yy261:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'd': goto yy267;
		default: goto yy41;
	}
yy262:
	yych = *++YYCURSOR;
	switch (yych) {
		case 'e': goto yy269;
		default: goto yy41;
	}
yy263:
	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 yy40;
		default: goto yy264;
	}
yy264:
#line 144 "real_world/c.re"
	{ RET(CONTINUE); }
#line 3791 "real_world/c.c"
yy265:
	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 yy40;
		default: goto yy266;
	}
yy266:
#line 157 "real_world/c.re"
	{ RET(REGISTER); }
#line 3863 "real_world/c.c"
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 yy40;
		default: goto yy268;
	}
yy268:
#line 167 "real_world/c.re"
	{ RET(UNSIGNED); }
#line 3935 "real_world/c.c"
yy269:
	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 yy40;
		default: goto yy270;
	}
yy270:
#line 169 "real_world/c.re"
	{ RET(VOLATILE); }
#line 4007 "real_world/c.c"
}
#line 246 "real_world/c.re"


comment:

#line 4014 "real_world/c.c"
{
	YYCTYPE yych;
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
		case '\n': goto yy274;
		case '*': goto yy275;
		default: goto yy272;
	}
yy272:
	++YYCURSOR;
yy273:
#line 257 "real_world/c.re"
	{ goto comment; }
#line 4029 "real_world/c.c"
yy274:
	++YYCURSOR;
#line 252 "real_world/c.re"
	{
		if(cursor == s->eof) RET(EOI);
		s->tok = s->pos = cursor; s->line++;
		goto comment;
	    }
#line 4038 "real_world/c.c"
yy275:
	yych = *++YYCURSOR;
	switch (yych) {
		case '/': goto yy276;
		default: goto yy273;
	}
yy276:
	++YYCURSOR;
#line 250 "real_world/c.re"
	{ goto std; }
#line 4049 "real_world/c.c"
}
#line 258 "real_world/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);
}
