int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; #line 69 "<stdout>" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *YYCURSOR; if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x00) goto yy11; if (yych <= 0x08) goto yy13; } else { if (yych != ' ') goto yy13; } } else { if (yych <= '-') { if (yych <= '+') goto yy7; if (yych <= ',') goto yy13; goto yy9; } else { if (yych <= '/') goto yy13; if (yych <= '0') goto yy4; if (yych <= '9') goto yy6; goto yy13; } } ++YYCURSOR; yych = *YYCURSOR; goto yy21; yy3: #line 80 "calc_007.b.re" { continue; } #line 133 "<stdout>" yy4: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy5; if (yych <= '9') goto yy17; yy5: #line 82 "calc_007.b.re" { res = push_num(t, p, 10); continue; } #line 141 "<stdout>" yy6: yych = *++YYCURSOR; goto yy16; yy7: ++YYCURSOR; #line 83 "calc_007.b.re" { res = stack_add(); continue; } #line 149 "<stdout>" yy9: ++YYCURSOR; #line 84 "calc_007.b.re" { res = stack_sub(); continue; } #line 154 "<stdout>" yy11: ++YYCURSOR; #line 85 "calc_007.b.re" { res = depth == 1 ? 0 : 2; break; } #line 159 "<stdout>" yy13: ++YYCURSOR; #line 86 "calc_007.b.re" { res = 1; continue; } #line 164 "<stdout>" yy15: ++YYCURSOR; yych = *YYCURSOR; yy16: if (yybm[0+yych] & 64) { goto yy15; } goto yy5; yy17: ++YYCURSOR; yych = *YYCURSOR; if (yych <= '/') goto yy19; if (yych <= '9') goto yy17; yy19: #line 81 "calc_007.b.re" { res = push_num(t, p, 8); continue; } #line 181 "<stdout>" yy20: ++YYCURSOR; yych = *YYCURSOR; yy21: if (yybm[0+yych] & 128) { goto yy20; } goto yy3; } #line 87 "calc_007.b.re" } return res; }
int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; #line 69 "main.c" { YYCTYPE yych; yych = *YYCURSOR; switch (yych) { case 0x00: goto yy11; case '\t': case ' ': goto yy2; case '+': goto yy7; case '-': goto yy9; case '0': goto yy4; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy13; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy21; yy3: #line 80 "main.re" { continue; } #line 99 "main.c" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy17; default: goto yy5; } yy5: #line 82 "main.re" { res = push_num(t, p, 10); continue; } #line 118 "main.c" yy6: yych = *++YYCURSOR; goto yy16; yy7: ++YYCURSOR; #line 83 "main.re" { res = stack_add(); continue; } #line 126 "main.c" yy9: ++YYCURSOR; #line 84 "main.re" { res = stack_sub(); continue; } #line 131 "main.c" yy11: ++YYCURSOR; #line 85 "main.re" { res = depth == 1 ? 0 : 2; break; } #line 136 "main.c" yy13: ++YYCURSOR; #line 86 "main.re" { res = 1; continue; } #line 141 "main.c" yy15: ++YYCURSOR; yych = *YYCURSOR; yy16: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy5; } yy17: ++YYCURSOR; 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 yy17; default: goto yy19; } yy19: #line 81 "main.re" { res = push_num(t, p, 8); continue; } #line 178 "main.c" yy20: ++YYCURSOR; yych = *YYCURSOR; yy21: switch (yych) { case '\t': case ' ': goto yy20; default: goto yy3; } } #line 87 "main.re" } return res; }
int scan(char *s, int l) { char *p = s; char *q = 0; char *t; int res = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+1) #define YYMARKER q #define YYFILL(n) { return depth == 1 ? 0 : 2; } while(!res) { t = p; #line 71 "calc_005.c" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy2; case '+': goto yy7; case '-': goto yy9; case '0': goto yy4; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy11; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy19; yy3: #line 91 "calc_005.re" { continue; } #line 100 "calc_005.c" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy5; } yy5: #line 93 "calc_005.re" { res = push_num(t, p, 10); continue; } #line 119 "calc_005.c" yy6: yych = *++YYCURSOR; goto yy14; yy7: ++YYCURSOR; #line 94 "calc_005.re" { res = stack_add(); continue; } #line 127 "calc_005.c" yy9: ++YYCURSOR; #line 95 "calc_005.re" { res = stack_sub(); continue; } #line 132 "calc_005.c" yy11: ++YYCURSOR; #line 96 "calc_005.re" { res = 1; continue; } #line 137 "calc_005.c" yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy13; default: goto yy5; } yy15: ++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 yy15; default: goto yy17; } yy17: #line 92 "calc_005.re" { res = push_num(t, p, 8); continue; } #line 176 "calc_005.c" yy18: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy19: switch (yych) { case '\t': case ' ': goto yy18; default: goto yy3; } } #line 97 "calc_005.re" } return res; }