1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
/* Generated by re2c */
// re2c $INPUT -o $OUTPUT --case-ranges --loop-switch -i
int lex(const char *YYCURSOR) { // C/C++ code
{
char yych;
unsigned int yystate = 0;
for (;;) {
switch (yystate) {
case 0:
yych = *YYCURSOR;
++YYCURSOR;
switch (yych) {
case 'A' ... 'Z':
case 'a' ... 'z':
yystate = 2;
continue;
default:
yystate = 1;
continue;
}
case 1: { return 1; }
case 2:
yych = *YYCURSOR;
switch (yych) {
case '0' ... '9':
case 'A' ... 'Z':
case 'a' ... 'z':
++YYCURSOR;
yystate = 2;
continue;
default:
yystate = 3;
continue;
}
case 3: { return 0; }
}
}
}
} //
//
int main() { // C/C++ code
return lex("qwerty42"); //
} //
|