From aca702d0a70427fbcbed85ffb96a0ad4ee74b443 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Fri, 18 Aug 2017 16:09:59 +0100 Subject: [PATCH] Added examples to test suite. --- .../01_recognizing_integers.i--tags.c | 171 + .../01_recognizing_integers.i--tags.re | 38 + .../examples/02_recognizing_strings.i--tags.c | 72 + .../02_recognizing_strings.i--tags.re | 47 + .../03_arbitrary_large_input.i--tags.c | 121 + .../03_arbitrary_large_input.i--tags.re | 78 + .../04_parsing_integers_blocks.i--tags.c | 251 + .../04_parsing_integers_blocks.i--tags.re | 78 + .../05_parsing_integers_conditions.ci--tags.c | 251 + ...05_parsing_integers_conditions.ci--tags.re | 59 + re2c/test/examples/06_braille.cr8i--tags.c | 1701 ++ re2c/test/examples/06_braille.cr8i--tags.re | 229 + re2c/test/examples/07_cxx98.i--tags.c | 8332 ++++++++++ re2c/test/examples/07_cxx98.i--tags.re | 374 + re2c/test/examples/08_ipv4.i--tags.c | 253 + re2c/test/examples/08_ipv4.i--tags.re | 32 + re2c/test/examples/09_etc_passwd.i--tags.c | 238 + re2c/test/examples/09_etc_passwd.i--tags.re | 74 + re2c/test/examples/10_uri_rfc3986.i--tags.c | 7935 +++++++++ re2c/test/examples/10_uri_rfc3986.i--tags.re | 169 + re2c/test/examples/11_http_rfc7230.i--tags.c | 13267 ++++++++++++++++ re2c/test/examples/11_http_rfc7230.i--tags.re | 296 + re2c/test/examples/12_float.i--tags.c | 356 + re2c/test/examples/12_float.i--tags.re | 41 + re2c/test/examples/13_records.i--tags.c | 1226 ++ re2c/test/examples/13_records.i--tags.re | 98 + re2c/test/examples/14_options.i--tags.c | 1636 ++ re2c/test/examples/14_options.i--tags.re | 91 + 28 files changed, 37514 insertions(+) create mode 100644 re2c/test/examples/01_recognizing_integers.i--tags.c create mode 100644 re2c/test/examples/01_recognizing_integers.i--tags.re create mode 100644 re2c/test/examples/02_recognizing_strings.i--tags.c create mode 100644 re2c/test/examples/02_recognizing_strings.i--tags.re create mode 100644 re2c/test/examples/03_arbitrary_large_input.i--tags.c create mode 100644 re2c/test/examples/03_arbitrary_large_input.i--tags.re create mode 100644 re2c/test/examples/04_parsing_integers_blocks.i--tags.c create mode 100644 re2c/test/examples/04_parsing_integers_blocks.i--tags.re create mode 100644 re2c/test/examples/05_parsing_integers_conditions.ci--tags.c create mode 100644 re2c/test/examples/05_parsing_integers_conditions.ci--tags.re create mode 100644 re2c/test/examples/06_braille.cr8i--tags.c create mode 100644 re2c/test/examples/06_braille.cr8i--tags.re create mode 100644 re2c/test/examples/07_cxx98.i--tags.c create mode 100644 re2c/test/examples/07_cxx98.i--tags.re create mode 100644 re2c/test/examples/08_ipv4.i--tags.c create mode 100644 re2c/test/examples/08_ipv4.i--tags.re create mode 100644 re2c/test/examples/09_etc_passwd.i--tags.c create mode 100644 re2c/test/examples/09_etc_passwd.i--tags.re create mode 100644 re2c/test/examples/10_uri_rfc3986.i--tags.c create mode 100644 re2c/test/examples/10_uri_rfc3986.i--tags.re create mode 100644 re2c/test/examples/11_http_rfc7230.i--tags.c create mode 100644 re2c/test/examples/11_http_rfc7230.i--tags.re create mode 100644 re2c/test/examples/12_float.i--tags.c create mode 100644 re2c/test/examples/12_float.i--tags.re create mode 100644 re2c/test/examples/13_records.i--tags.c create mode 100644 re2c/test/examples/13_records.i--tags.re create mode 100644 re2c/test/examples/14_options.i--tags.c create mode 100644 re2c/test/examples/14_options.i--tags.re diff --git a/re2c/test/examples/01_recognizing_integers.i--tags.c b/re2c/test/examples/01_recognizing_integers.i--tags.c new file mode 100644 index 00000000..84e3c9e8 --- /dev/null +++ b/re2c/test/examples/01_recognizing_integers.i--tags.c @@ -0,0 +1,171 @@ +/* Generated by re2c */ +#include + +enum num_t { ERR, BIN, OCT, DEC, HEX }; + +static num_t lex(const char *YYCURSOR) +{ + const char *YYMARKER; + +{ + char yych; + yych = *YYCURSOR; + switch (yych) { + case '0': goto yy4; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy5; + default: goto yy2; + } +yy2: + ++YYCURSOR; +yy3: + { return ERR; } +yy4: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: goto yy6; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy8; + case 'B': + case 'b': goto yy11; + case 'X': + case 'x': goto yy12; + default: goto yy3; + } +yy5: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: goto yy13; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy15; + default: goto yy3; + } +yy6: + ++YYCURSOR; + { return OCT; } +yy8: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: goto yy6; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy8; + default: goto yy10; + } +yy10: + YYCURSOR = YYMARKER; + goto yy3; +yy11: + yych = *++YYCURSOR; + if (yych <= 0x00) goto yy10; + goto yy18; +yy12: + yych = *++YYCURSOR; + if (yych <= 0x00) goto yy10; + goto yy20; +yy13: + ++YYCURSOR; + { return DEC; } +yy15: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: goto yy13; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy15; + default: goto yy10; + } +yy17: + yych = *++YYCURSOR; +yy18: + switch (yych) { + case 0x00: goto yy21; + case '0': + case '1': goto yy17; + default: goto yy10; + } +yy19: + yych = *++YYCURSOR; +yy20: + switch (yych) { + case 0x00: goto yy23; + 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 yy19; + default: goto yy10; + } +yy21: + ++YYCURSOR; + { return BIN; } +yy23: + ++YYCURSOR; + { return HEX; } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + switch (lex(argv[i])) { + case ERR: printf("error\n"); break; + case BIN: printf("binary\n"); break; + case OCT: printf("octal\n"); break; + case DEC: printf("decimal\n"); break; + case HEX: printf("hexadecimal\n"); break; + } + } + return 0; +} diff --git a/re2c/test/examples/01_recognizing_integers.i--tags.re b/re2c/test/examples/01_recognizing_integers.i--tags.re new file mode 100644 index 00000000..47c1320a --- /dev/null +++ b/re2c/test/examples/01_recognizing_integers.i--tags.re @@ -0,0 +1,38 @@ +#include + +enum num_t { ERR, BIN, OCT, DEC, HEX }; + +static num_t lex(const char *YYCURSOR) +{ + const char *YYMARKER; + /*!re2c + re2c:define:YYCTYPE = char; + re2c:yyfill:enable = 0; + + end = "\x00"; + bin = '0b' [01]+; + oct = "0" [0-7]*; + dec = [1-9][0-9]*; + hex = '0x' [0-9a-fA-F]+; + + * { return ERR; } + bin end { return BIN; } + oct end { return OCT; } + dec end { return DEC; } + hex end { return HEX; } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + switch (lex(argv[i])) { + case ERR: printf("error\n"); break; + case BIN: printf("binary\n"); break; + case OCT: printf("octal\n"); break; + case DEC: printf("decimal\n"); break; + case HEX: printf("hexadecimal\n"); break; + } + } + return 0; +} diff --git a/re2c/test/examples/02_recognizing_strings.i--tags.c b/re2c/test/examples/02_recognizing_strings.i--tags.c new file mode 100644 index 00000000..77673986 --- /dev/null +++ b/re2c/test/examples/02_recognizing_strings.i--tags.c @@ -0,0 +1,72 @@ +/* Generated by re2c */ +#include +#include + +#define YYMAXFILL 1 + + +struct input_t { + size_t len; + char *str; + + input_t(const char *s) + : len(strlen(s)) + , str(new char[len + YYMAXFILL]) + { + memcpy(str, s, len); + memset(str + len, 'a', YYMAXFILL); + } + ~input_t() + { + delete[]str; + } +}; + +static bool lex(const input_t & input) +{ + const char *YYCURSOR = input.str; + const char *const YYLIMIT = input.str + input.len + YYMAXFILL; + +{ + char yych; + if (YYLIMIT <= YYCURSOR) return false; + yych = *YYCURSOR; + switch (yych) { + case '"': goto yy4; + case '\'': goto yy6; + default: goto yy2; + } +yy2: + ++YYCURSOR; + { return false; } +yy4: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) return false; + yych = *YYCURSOR; + switch (yych) { + case '"': goto yy8; + default: goto yy4; + } +yy6: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) return false; + yych = *YYCURSOR; + switch (yych) { + case '\'': goto yy8; + default: goto yy6; + } +yy8: + ++YYCURSOR; + { return YYLIMIT - YYCURSOR == YYMAXFILL; } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + input_t arg(argv[i]); + printf("%s: %s\n", lex(arg) ? "str" : "err", argv[i]); + } + return 0; +} diff --git a/re2c/test/examples/02_recognizing_strings.i--tags.re b/re2c/test/examples/02_recognizing_strings.i--tags.re new file mode 100644 index 00000000..ec9d6830 --- /dev/null +++ b/re2c/test/examples/02_recognizing_strings.i--tags.re @@ -0,0 +1,47 @@ +#include +#include + +/*!max:re2c*/ + +struct input_t { + size_t len; + char *str; + + input_t(const char *s) + : len(strlen(s)) + , str(new char[len + YYMAXFILL]) + { + memcpy(str, s, len); + memset(str + len, 'a', YYMAXFILL); + } + ~input_t() + { + delete[]str; + } +}; + +static bool lex(const input_t & input) +{ + const char *YYCURSOR = input.str; + const char *const YYLIMIT = input.str + input.len + YYMAXFILL; + /*!re2c + re2c:define:YYCTYPE = char; + re2c:define:YYFILL = "return false;"; + re2c:define:YYFILL:naked = 1; + + sstr = "'" [^']* "'"; + dstr = "\"" [^"]* "\""; + + * { return false; } + (sstr | dstr) { return YYLIMIT - YYCURSOR == YYMAXFILL; } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + input_t arg(argv[i]); + printf("%s: %s\n", lex(arg) ? "str" : "err", argv[i]); + } + return 0; +} diff --git a/re2c/test/examples/03_arbitrary_large_input.i--tags.c b/re2c/test/examples/03_arbitrary_large_input.i--tags.c new file mode 100644 index 00000000..cd726244 --- /dev/null +++ b/re2c/test/examples/03_arbitrary_large_input.i--tags.c @@ -0,0 +1,121 @@ +/* Generated by re2c */ +#include +#include + +#define YYMAXFILL 1 + +static const size_t SIZE = 16; + +struct input_t { + char buf[SIZE + YYMAXFILL]; + char *lim; + char *cur; + char *tok; + bool eof; + + input_t() + : buf() + , lim(buf + SIZE) + , cur(lim) + , tok(lim) + , eof(false) + {} + bool fill(size_t need) + { + if (eof) { + return false; + } + const size_t free = tok - buf; + if (free < need) { + return false; + } + memmove(buf, tok, lim - tok); + lim -= free; + cur -= free; + tok -= free; + lim += fread(lim, 1, free, stdin); + if (lim < buf + SIZE) { + eof = true; + memset(lim, 0, YYMAXFILL); + lim += YYMAXFILL; + } + return true; + } +}; + +static bool lex(input_t & in, unsigned int &count) +{ + for (count = 0;;) { + in.tok = in.cur; + +{ + char yych; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case 0x00: goto yy2; + case '\n': goto yy6; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy9; + default: goto yy4; + } +yy2: + ++in.cur; + { return YYMAXFILL == in.lim - in.tok; } +yy4: + ++in.cur; + { return false; } +yy6: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '\n': goto yy6; + default: goto yy8; + } +yy8: + { continue; } +yy9: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy9; + default: goto yy11; + } +yy11: + { ++count; continue; } +} + + } +} + +int main() +{ + input_t in; + unsigned int count; + if (lex(in, count)) { + printf("glorious %u numbers!\n", count); + } else { + printf("error\n"); + } + + return 0; +} diff --git a/re2c/test/examples/03_arbitrary_large_input.i--tags.re b/re2c/test/examples/03_arbitrary_large_input.i--tags.re new file mode 100644 index 00000000..506ca41f --- /dev/null +++ b/re2c/test/examples/03_arbitrary_large_input.i--tags.re @@ -0,0 +1,78 @@ +#include +#include + +/*!max:re2c*/ +static const size_t SIZE = 16; + +struct input_t { + char buf[SIZE + YYMAXFILL]; + char *lim; + char *cur; + char *tok; + bool eof; + + input_t() + : buf() + , lim(buf + SIZE) + , cur(lim) + , tok(lim) + , eof(false) + {} + bool fill(size_t need) + { + if (eof) { + return false; + } + const size_t free = tok - buf; + if (free < need) { + return false; + } + memmove(buf, tok, lim - tok); + lim -= free; + cur -= free; + tok -= free; + lim += fread(lim, 1, free, stdin); + if (lim < buf + SIZE) { + eof = true; + memset(lim, 0, YYMAXFILL); + lim += YYMAXFILL; + } + return true; + } +}; + +static bool lex(input_t & in, unsigned int &count) +{ + for (count = 0;;) { + in.tok = in.cur; + /*!re2c + re2c:define:YYCTYPE = char; + re2c:define:YYCURSOR = in.cur; + re2c:define:YYLIMIT = in.lim; + re2c:define:YYFILL = "if (!in.fill(@@)) return false;"; + re2c:define:YYFILL:naked = 1; + + end = "\x00"; + wsp = [\n]+; + num = [0-9]+; + + * { return false; } + end { return YYMAXFILL == in.lim - in.tok; } + wsp { continue; } + num { ++count; continue; } + */ + } +} + +int main() +{ + input_t in; + unsigned int count; + if (lex(in, count)) { + printf("glorious %u numbers!\n", count); + } else { + printf("error\n"); + } + + return 0; +} diff --git a/re2c/test/examples/04_parsing_integers_blocks.i--tags.c b/re2c/test/examples/04_parsing_integers_blocks.i--tags.c new file mode 100644 index 00000000..c635aa32 --- /dev/null +++ b/re2c/test/examples/04_parsing_integers_blocks.i--tags.c @@ -0,0 +1,251 @@ +/* Generated by re2c */ +#include +#include + +template +static bool adddgt(unsigned long &u, unsigned int d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +static bool lex(const char *s, unsigned long &u) +{ + const char *YYMARKER; + const char *YYCTXMARKER; + u = 0; + + + + +{ + char yych; + yych = *s; + switch (yych) { + 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 yy2; + } +yy2: + ++s; + { return false; } +yy4: + yych = *(YYMARKER = ++s); + switch (yych) { + case 'B': + case 'b': goto yy8; + case 'X': + case 'x': goto yy10; + default: goto yy5; + } +yy5: + { goto oct; } +yy6: + ++s; + s -= 1; + { goto dec; } +yy8: + yych = *++s; + switch (yych) { + case '0': + case '1': goto yy11; + default: goto yy9; + } +yy9: + s = YYMARKER; + goto yy5; +yy10: + yych = *++s; + 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 yy13; + default: goto yy9; + } +yy11: + ++s; + s -= 1; + { goto bin; } +yy13: + ++s; + s -= 1; + { goto hex; } +} + + +bin: + +{ + char yych; + yych = *s; + switch (yych) { + case 0x00: goto yy17; + case '0': + case '1': goto yy21; + default: goto yy19; + } +yy17: + ++s; + { return true; } +yy19: + ++s; + { return false; } +yy21: + ++s; + { if (!adddgt<2>(u, s[-1] - '0')) return false; goto bin; } +} + + +oct: + +{ + char yych; + yych = *s; + switch (yych) { + case 0x00: goto yy25; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy29; + default: goto yy27; + } +yy25: + ++s; + { return true; } +yy27: + ++s; + { return false; } +yy29: + ++s; + { if (!adddgt<8>(u, s[-1] - '0')) return false; goto oct; } +} + + +dec: + +{ + char yych; + yych = *s; + switch (yych) { + case 0x00: goto yy33; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy37; + default: goto yy35; + } +yy33: + ++s; + { return true; } +yy35: + ++s; + { return false; } +yy37: + ++s; + { if (!adddgt<10>(u, s[-1] - '0')) return false; goto dec; } +} + + +hex: + +{ + char yych; + yych = *s; + switch (yych) { + case 0x00: goto yy41; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy45; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': goto yy47; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy49; + default: goto yy43; + } +yy41: + ++s; + { return true; } +yy43: + ++s; + { return false; } +yy45: + ++s; + { if (!adddgt<16>(u, s[-1] - '0')) return false; goto hex; } +yy47: + ++s; + { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto hex; } +yy49: + ++s; + { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto hex; } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + unsigned long u; + if (lex(argv[i], u)) { + printf("%lu\n", u); + } else { + printf("error\n"); + } + } + return 0; +} +re2c: warning: line 32: rule matches empty string [-Wmatch-empty-string] diff --git a/re2c/test/examples/04_parsing_integers_blocks.i--tags.re b/re2c/test/examples/04_parsing_integers_blocks.i--tags.re new file mode 100644 index 00000000..20bf9de9 --- /dev/null +++ b/re2c/test/examples/04_parsing_integers_blocks.i--tags.re @@ -0,0 +1,78 @@ +#include +#include + +template +static bool adddgt(unsigned long &u, unsigned int d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +static bool lex(const char *s, unsigned long &u) +{ + const char *YYMARKER; + const char *YYCTXMARKER; + u = 0; + + /*!re2c + re2c:yyfill:enable = 0; + re2c:define:YYCTYPE = char; + re2c:define:YYCURSOR = s; + + end = "\x00"; + */ + + /*!re2c + * { return false; } + '0b' / [01] { goto bin; } + "0" { goto oct; } + "" / [1-9] { goto dec; } + '0x' / [0-9a-fA-F] { goto hex; } + */ + +bin: + /*!re2c + * { return false; } + end { return true; } + [01] { if (!adddgt<2>(u, s[-1] - '0')) return false; goto bin; } + */ + +oct: + /*!re2c + * { return false; } + end { return true; } + [0-7] { if (!adddgt<8>(u, s[-1] - '0')) return false; goto oct; } + */ + +dec: + /*!re2c + * { return false; } + end { return true; } + [0-9] { if (!adddgt<10>(u, s[-1] - '0')) return false; goto dec; } + */ + +hex: + /*!re2c + * { return false; } + end { return true; } + [0-9] { if (!adddgt<16>(u, s[-1] - '0')) return false; goto hex; } + [a-f] { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto hex; } + [A-F] { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto hex; } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + unsigned long u; + if (lex(argv[i], u)) { + printf("%lu\n", u); + } else { + printf("error\n"); + } + } + return 0; +} diff --git a/re2c/test/examples/05_parsing_integers_conditions.ci--tags.c b/re2c/test/examples/05_parsing_integers_conditions.ci--tags.c new file mode 100644 index 00000000..177f295e --- /dev/null +++ b/re2c/test/examples/05_parsing_integers_conditions.ci--tags.c @@ -0,0 +1,251 @@ +/* Generated by re2c */ +#include +#include + +template +static bool adddgt(unsigned long &u, unsigned int d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +enum YYCONDTYPE { + yycinit, + yycbin, + yycdec, + yychex, + yycoct, +}; + + +static bool lex(const char *s, unsigned long &u) +{ + const char *YYMARKER; + const char *YYCTXMARKER; + int c = yycinit; + u = 0; + +{ + char yych; + switch (c) { + case yycinit: goto yyc_init; + case yycbin: goto yyc_bin; + case yycdec: goto yyc_dec; + case yychex: goto yyc_hex; + case yycoct: goto yyc_oct; + } +/* *********************************** */ +yyc_init: + yych = *s; + switch (yych) { + case '0': goto yy5; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy7; + default: goto yy3; + } +yy3: + ++s; + { return false; } +yy5: + yych = *(YYMARKER = ++s); + switch (yych) { + case 'B': + case 'b': goto yy9; + case 'X': + case 'x': goto yy11; + default: goto yy6; + } +yy6: + c = yycoct; + goto yyc_oct; +yy7: + ++s; + s -= 1; + c = yycdec; + goto yyc_dec; +yy9: + yych = *++s; + switch (yych) { + case '0': + case '1': goto yy12; + default: goto yy10; + } +yy10: + s = YYMARKER; + goto yy6; +yy11: + yych = *++s; + 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 yy14; + default: goto yy10; + } +yy12: + ++s; + s -= 1; + c = yycbin; + goto yyc_bin; +yy14: + ++s; + s -= 1; + c = yychex; + goto yyc_hex; +/* *********************************** */ +yyc_bin: + yych = *s; + switch (yych) { + case 0x00: goto yy18; + case '0': + case '1': goto yy22; + default: goto yy20; + } +yy18: + ++s; + { return true; } +yy20: + ++s; + { return false; } +yy22: + ++s; + { if (!adddgt<2>(u, s[-1] - '0')) return false; goto yyc_bin; } +/* *********************************** */ +yyc_dec: + yych = *s; + switch (yych) { + case 0x00: goto yy26; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy30; + default: goto yy28; + } +yy26: + ++s; + { return true; } +yy28: + ++s; + { return false; } +yy30: + ++s; + { if (!adddgt<10>(u, s[-1] - '0')) return false; goto yyc_dec; } +/* *********************************** */ +yyc_hex: + yych = *s; + switch (yych) { + case 0x00: goto yy34; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy38; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': goto yy40; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy42; + default: goto yy36; + } +yy34: + ++s; + { return true; } +yy36: + ++s; + { return false; } +yy38: + ++s; + { if (!adddgt<16>(u, s[-1] - '0')) return false; goto yyc_hex; } +yy40: + ++s; + { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto yyc_hex; } +yy42: + ++s; + { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto yyc_hex; } +/* *********************************** */ +yyc_oct: + yych = *s; + switch (yych) { + case 0x00: goto yy46; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy50; + default: goto yy48; + } +yy46: + ++s; + { return true; } +yy48: + ++s; + { return false; } +yy50: + ++s; + { if (!adddgt<8>(u, s[-1] - '0')) return false; goto yyc_oct; } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + unsigned long u; + if (lex(argv[i], u)) { + printf("%lu\n", u); + } else { + printf("error\n"); + } + } + return 0; +} +re2c: warning: line 35: rule in condition 'init' matches empty string [-Wmatch-empty-string] diff --git a/re2c/test/examples/05_parsing_integers_conditions.ci--tags.re b/re2c/test/examples/05_parsing_integers_conditions.ci--tags.re new file mode 100644 index 00000000..9fbc0fd6 --- /dev/null +++ b/re2c/test/examples/05_parsing_integers_conditions.ci--tags.re @@ -0,0 +1,59 @@ +#include +#include + +template +static bool adddgt(unsigned long &u, unsigned int d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +/*!types:re2c*/ + +static bool lex(const char *s, unsigned long &u) +{ + const char *YYMARKER; + const char *YYCTXMARKER; + int c = yycinit; + u = 0; + /*!re2c + re2c:yyfill:enable = 0; + re2c:define:YYCTYPE = char; + re2c:define:YYCURSOR = s; + re2c:define:YYGETCONDITION = "c"; + re2c:define:YYGETCONDITION:naked = 1; + re2c:define:YYSETCONDITION = "c = @@;"; + re2c:define:YYSETCONDITION:naked = 1; + + <*> * { return false; } + + '0b' / [01] :=> bin + "0" :=> oct + "" / [1-9] :=> dec + '0x' / [0-9a-fA-F] :=> hex + + "\x00" { return true; } + [01] { if (!adddgt<2>(u, s[-1] - '0')) return false; goto yyc_bin; } + [0-7] { if (!adddgt<8>(u, s[-1] - '0')) return false; goto yyc_oct; } + [0-9] { if (!adddgt<10>(u, s[-1] - '0')) return false; goto yyc_dec; } + [0-9] { if (!adddgt<16>(u, s[-1] - '0')) return false; goto yyc_hex; } + [a-f] { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto yyc_hex; } + [A-F] { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto yyc_hex; } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + unsigned long u; + if (lex(argv[i], u)) { + printf("%lu\n", u); + } else { + printf("error\n"); + } + } + return 0; +} diff --git a/re2c/test/examples/06_braille.cr8i--tags.c b/re2c/test/examples/06_braille.cr8i--tags.c new file mode 100644 index 00000000..f2fe8ee3 --- /dev/null +++ b/re2c/test/examples/06_braille.cr8i--tags.c @@ -0,0 +1,1701 @@ +/* Generated by re2c */ +#include +#include + +template +struct input_t { + size_t len; + char_t *str; + + input_t(FILE *f) : len(0), str(NULL) + { + fseek(f, 0, SEEK_END); + len = ftell(f) / sizeof(char_t); + fseek(f, 0, SEEK_SET); + str = new char_t[len + 1]; + fread(str, sizeof(char_t), len, f); + str[len] = 0; + } + ~input_t() + { + delete[]str; + } +}; + +typedef input_t iutf8_t; +typedef input_t iutf16_t; +typedef input_t iutf32_t; +typedef input_t iucs2_t; + +struct out_t { + bool caps; + + out_t() : caps(false) {} + void prt(char c) + { + printf("%c", caps ? toupper(c) : c); + caps = false; + } + void err() + { + printf(" ... error\n"); + } +}; + + + +enum YYCONDTYPE { + yycl, + yycn, +}; + + +static void lex_utf8(const iutf8_t & in) +{ + const unsigned char *YYCURSOR = in.str; + const unsigned char *YYMARKER; + int c = yycl; + out_t out; + +{ + unsigned char yych; + switch (c) { + case yycl: goto yyc_l; + case yycn: goto yyc_n; + } +/* *********************************** */ +yyc_l: + yych = *YYCURSOR; + switch (yych) { + case 0x00: goto yy3; + case '\n': goto yy7; + case ' ': goto yy9; + case 0xE2: goto yy11; + default: goto yy5; + } +yy3: + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy5: + ++YYCURSOR; +yy6: + { out.err(); return; } +yy7: + yych = *++YYCURSOR; + switch (yych) { + case '\r': goto yy12; + default: goto yy8; + } +yy8: + { out.prt('\n'); goto yyc_l; } +yy9: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy11: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0xA0: goto yy13; + default: goto yy6; + } +yy12: + ++YYCURSOR; + goto yy8; +yy13: + yych = *++YYCURSOR; + switch (yych) { + case 0x80: goto yy9; + case 0x81: goto yy15; + case 0x82: goto yy17; + case 0x83: goto yy19; + case 0x84: goto yy21; + case 0x85: goto yy23; + case 0x86: goto yy25; + case 0x87: goto yy27; + case 0x89: goto yy29; + case 0x8A: goto yy31; + case 0x8B: goto yy33; + case 0x8D: goto yy35; + case 0x8E: goto yy37; + case 0x8F: goto yy39; + case 0x91: goto yy41; + case 0x92: goto yy43; + case 0x93: goto yy45; + case 0x94: goto yy47; + case 0x95: goto yy49; + case 0x96: goto yy51; + case 0x97: goto yy53; + case 0x99: goto yy55; + case 0x9A: goto yy57; + case 0x9B: goto yy59; + case 0x9D: goto yy61; + case 0x9E: goto yy63; + case 0x9F: goto yy65; + case 0xA0: goto yy67; + case 0xA4: goto yy69; + case 0xA5: goto yy71; + case 0xA6: goto yy73; + case 0xA7: goto yy75; + case 0xAD: goto yy77; + case 0xB0: goto yy79; + case 0xB2: goto yy81; + case 0xB5: goto yy83; + case 0xBA: goto yy85; + case 0xBC: goto yy87; + case 0xBD: goto yy89; + default: goto yy14; + } +yy14: + YYCURSOR = YYMARKER; + goto yy6; +yy15: + ++YYCURSOR; + { out.prt('a'); goto yyc_l; } +yy17: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy19: + ++YYCURSOR; + { out.prt('b'); goto yyc_l; } +yy21: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy23: + ++YYCURSOR; + { out.prt('k'); goto yyc_l; } +yy25: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy27: + ++YYCURSOR; + { out.prt('l'); goto yyc_l; } +yy29: + ++YYCURSOR; + { out.prt('c'); goto yyc_l; } +yy31: + ++YYCURSOR; + { out.prt('i'); goto yyc_l; } +yy33: + ++YYCURSOR; + { out.prt('f'); goto yyc_l; } +yy35: + ++YYCURSOR; + { out.prt('m'); goto yyc_l; } +yy37: + ++YYCURSOR; + { out.prt('s'); goto yyc_l; } +yy39: + ++YYCURSOR; + { out.prt('p'); goto yyc_l; } +yy41: + ++YYCURSOR; + { out.prt('e'); goto yyc_l; } +yy43: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy45: + ++YYCURSOR; + { out.prt('h'); goto yyc_l; } +yy47: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy49: + ++YYCURSOR; + { out.prt('o'); goto yyc_l; } +yy51: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy53: + ++YYCURSOR; + { out.prt('r'); goto yyc_l; } +yy55: + ++YYCURSOR; + { out.prt('d'); goto yyc_l; } +yy57: + ++YYCURSOR; + { out.prt('j'); goto yyc_l; } +yy59: + ++YYCURSOR; + { out.prt('g'); goto yyc_l; } +yy61: + ++YYCURSOR; + { out.prt('n'); goto yyc_l; } +yy63: + ++YYCURSOR; + { out.prt('t'); goto yyc_l; } +yy65: + ++YYCURSOR; + { out.prt('q'); goto yyc_l; } +yy67: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy69: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy71: + ++YYCURSOR; + { out.prt('u'); goto yyc_l; } +yy73: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy75: + ++YYCURSOR; + { out.prt('v'); goto yyc_l; } +yy77: + ++YYCURSOR; + { out.prt('x'); goto yyc_l; } +yy79: + ++YYCURSOR; + goto yyc_l; +yy81: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy83: + ++YYCURSOR; + { out.prt('z'); goto yyc_l; } +yy85: + ++YYCURSOR; + { out.prt('w'); goto yyc_l; } +yy87: + ++YYCURSOR; + c = yycn; + goto yyc_n; +yy89: + ++YYCURSOR; + { out.prt('y'); goto yyc_l; } +/* *********************************** */ +yyc_n: + yych = *YYCURSOR; + switch (yych) { + case 0x00: goto yy93; + case '\n': goto yy97; + case ' ': goto yy99; + case 0xE2: goto yy101; + default: goto yy95; + } +yy93: + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy95: + ++YYCURSOR; +yy96: + { out.err(); return; } +yy97: + yych = *++YYCURSOR; + switch (yych) { + case '\r': goto yy102; + default: goto yy98; + } +yy98: + { out.prt('\n'); goto yyc_l; } +yy99: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy101: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0xA0: goto yy103; + default: goto yy96; + } +yy102: + ++YYCURSOR; + goto yy98; +yy103: + yych = *++YYCURSOR; + switch (yych) { + case 0x80: goto yy99; + case 0x81: goto yy105; + case 0x82: goto yy107; + case 0x83: goto yy109; + case 0x84: goto yy111; + case 0x86: goto yy113; + case 0x89: goto yy115; + case 0x8A: goto yy117; + case 0x8B: goto yy119; + case 0x91: goto yy121; + case 0x92: goto yy123; + case 0x93: goto yy125; + case 0x94: goto yy127; + case 0x96: goto yy129; + case 0x99: goto yy131; + case 0x9A: goto yy133; + case 0x9B: goto yy135; + case 0xA0: goto yy137; + case 0xA4: goto yy139; + case 0xA6: goto yy141; + case 0xB0: goto yy143; + case 0xB2: goto yy145; + case 0xBC: goto yy147; + default: goto yy104; + } +yy104: + YYCURSOR = YYMARKER; + goto yy96; +yy105: + ++YYCURSOR; + { out.prt('1'); goto yyc_n; } +yy107: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy109: + ++YYCURSOR; + { out.prt('2'); goto yyc_n; } +yy111: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy113: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy115: + ++YYCURSOR; + { out.prt('3'); goto yyc_n; } +yy117: + ++YYCURSOR; + { out.prt('9'); goto yyc_n; } +yy119: + ++YYCURSOR; + { out.prt('6'); goto yyc_n; } +yy121: + ++YYCURSOR; + { out.prt('5'); goto yyc_n; } +yy123: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy125: + ++YYCURSOR; + { out.prt('8'); goto yyc_n; } +yy127: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy129: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy131: + ++YYCURSOR; + { out.prt('4'); goto yyc_n; } +yy133: + ++YYCURSOR; + { out.prt('0'); goto yyc_n; } +yy135: + ++YYCURSOR; + { out.prt('7'); goto yyc_n; } +yy137: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy139: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy141: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy143: + ++YYCURSOR; + c = yycl; + goto yyc_l; +yy145: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy147: + ++YYCURSOR; + goto yyc_n; +} + +} + +static void lex_utf16(const iutf16_t & in) +{ + const unsigned short *YYCURSOR = in.str; + int c = yycl; + out_t out; + +{ + unsigned int yych; + if (c < 1) { + goto yyc_l; + } else { + goto yyc_n; + } +/* *********************************** */ +yyc_l: + yych = *YYCURSOR; + if (yych <= 0x2816) { + if (yych <= 0x2807) { + if (yych <= 0x2800) { + if (yych <= '\n') { + if (yych <= 0x0000) goto yy3; + if (yych <= '\t') goto yy5; + goto yy7; + } else { + if (yych == ' ') goto yy9; + if (yych <= 0x27FF) goto yy5; + goto yy9; + } + } else { + if (yych <= 0x2803) { + if (yych <= 0x2801) goto yy11; + if (yych <= 0x2802) goto yy13; + goto yy15; + } else { + if (yych <= 0x2804) goto yy17; + if (yych <= 0x2805) goto yy19; + if (yych <= 0x2806) goto yy21; + goto yy23; + } + } + } else { + if (yych <= 0x280E) { + if (yych <= 0x280A) { + if (yych <= 0x2808) goto yy5; + if (yych <= 0x2809) goto yy25; + goto yy27; + } else { + if (yych <= 0x280B) goto yy29; + if (yych <= 0x280C) goto yy5; + if (yych <= 0x280D) goto yy31; + goto yy33; + } + } else { + if (yych <= 0x2812) { + if (yych <= 0x280F) goto yy35; + if (yych <= 0x2810) goto yy5; + if (yych <= 0x2811) goto yy37; + goto yy39; + } else { + if (yych <= 0x2813) goto yy41; + if (yych <= 0x2814) goto yy43; + if (yych <= 0x2815) goto yy45; + goto yy47; + } + } + } + } else { + if (yych <= 0x2826) { + if (yych <= 0x281D) { + if (yych <= 0x2819) { + if (yych <= 0x2817) goto yy49; + if (yych <= 0x2818) goto yy5; + goto yy51; + } else { + if (yych <= 0x281A) goto yy53; + if (yych <= 0x281B) goto yy55; + if (yych <= 0x281C) goto yy5; + goto yy57; + } + } else { + if (yych <= 0x2820) { + if (yych <= 0x281E) goto yy59; + if (yych <= 0x281F) goto yy61; + goto yy63; + } else { + if (yych <= 0x2823) goto yy5; + if (yych <= 0x2824) goto yy65; + if (yych <= 0x2825) goto yy67; + goto yy69; + } + } + } else { + if (yych <= 0x2832) { + if (yych <= 0x282D) { + if (yych <= 0x2827) goto yy71; + if (yych <= 0x282C) goto yy5; + goto yy73; + } else { + if (yych == 0x2830) goto yy75; + if (yych <= 0x2831) goto yy5; + goto yy77; + } + } else { + if (yych <= 0x283A) { + if (yych == 0x2835) goto yy79; + if (yych <= 0x2839) goto yy5; + goto yy81; + } else { + if (yych <= 0x283B) goto yy5; + if (yych <= 0x283C) goto yy83; + if (yych <= 0x283D) goto yy85; + goto yy5; + } + } + } + } +yy3: + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy5: + ++YYCURSOR; + { out.err(); return; } +yy7: + yych = *++YYCURSOR; + if (yych == '\r') goto yy87; +yy8: + { out.prt('\n'); goto yyc_l; } +yy9: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy11: + ++YYCURSOR; + { out.prt('a'); goto yyc_l; } +yy13: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy15: + ++YYCURSOR; + { out.prt('b'); goto yyc_l; } +yy17: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy19: + ++YYCURSOR; + { out.prt('k'); goto yyc_l; } +yy21: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy23: + ++YYCURSOR; + { out.prt('l'); goto yyc_l; } +yy25: + ++YYCURSOR; + { out.prt('c'); goto yyc_l; } +yy27: + ++YYCURSOR; + { out.prt('i'); goto yyc_l; } +yy29: + ++YYCURSOR; + { out.prt('f'); goto yyc_l; } +yy31: + ++YYCURSOR; + { out.prt('m'); goto yyc_l; } +yy33: + ++YYCURSOR; + { out.prt('s'); goto yyc_l; } +yy35: + ++YYCURSOR; + { out.prt('p'); goto yyc_l; } +yy37: + ++YYCURSOR; + { out.prt('e'); goto yyc_l; } +yy39: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy41: + ++YYCURSOR; + { out.prt('h'); goto yyc_l; } +yy43: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy45: + ++YYCURSOR; + { out.prt('o'); goto yyc_l; } +yy47: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy49: + ++YYCURSOR; + { out.prt('r'); goto yyc_l; } +yy51: + ++YYCURSOR; + { out.prt('d'); goto yyc_l; } +yy53: + ++YYCURSOR; + { out.prt('j'); goto yyc_l; } +yy55: + ++YYCURSOR; + { out.prt('g'); goto yyc_l; } +yy57: + ++YYCURSOR; + { out.prt('n'); goto yyc_l; } +yy59: + ++YYCURSOR; + { out.prt('t'); goto yyc_l; } +yy61: + ++YYCURSOR; + { out.prt('q'); goto yyc_l; } +yy63: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy65: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy67: + ++YYCURSOR; + { out.prt('u'); goto yyc_l; } +yy69: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy71: + ++YYCURSOR; + { out.prt('v'); goto yyc_l; } +yy73: + ++YYCURSOR; + { out.prt('x'); goto yyc_l; } +yy75: + ++YYCURSOR; + goto yyc_l; +yy77: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy79: + ++YYCURSOR; + { out.prt('z'); goto yyc_l; } +yy81: + ++YYCURSOR; + { out.prt('w'); goto yyc_l; } +yy83: + ++YYCURSOR; + c = yycn; + goto yyc_n; +yy85: + ++YYCURSOR; + { out.prt('y'); goto yyc_l; } +yy87: + ++YYCURSOR; + goto yy8; +/* *********************************** */ +yyc_n: + yych = *YYCURSOR; + if (yych <= 0x2812) { + if (yych <= 0x2803) { + if (yych <= ' ') { + if (yych <= '\t') { + if (yych >= 0x0001) goto yy92; + } else { + if (yych <= '\n') goto yy94; + if (yych <= 0x001F) goto yy92; + goto yy96; + } + } else { + if (yych <= 0x2800) { + if (yych <= 0x27FF) goto yy92; + goto yy96; + } else { + if (yych <= 0x2801) goto yy98; + if (yych <= 0x2802) goto yy100; + goto yy102; + } + } + } else { + if (yych <= 0x2809) { + if (yych <= 0x2805) { + if (yych <= 0x2804) goto yy104; + goto yy92; + } else { + if (yych <= 0x2806) goto yy106; + if (yych <= 0x2808) goto yy92; + goto yy108; + } + } else { + if (yych <= 0x280B) { + if (yych <= 0x280A) goto yy110; + goto yy112; + } else { + if (yych <= 0x2810) goto yy92; + if (yych <= 0x2811) goto yy114; + goto yy116; + } + } + } + } else { + if (yych <= 0x2820) { + if (yych <= 0x2818) { + if (yych <= 0x2814) { + if (yych <= 0x2813) goto yy118; + goto yy120; + } else { + if (yych == 0x2816) goto yy122; + goto yy92; + } + } else { + if (yych <= 0x281A) { + if (yych <= 0x2819) goto yy124; + goto yy126; + } else { + if (yych <= 0x281B) goto yy128; + if (yych <= 0x281F) goto yy92; + goto yy130; + } + } + } else { + if (yych <= 0x282F) { + if (yych <= 0x2824) { + if (yych <= 0x2823) goto yy92; + goto yy132; + } else { + if (yych == 0x2826) goto yy134; + goto yy92; + } + } else { + if (yych <= 0x2832) { + if (yych <= 0x2830) goto yy136; + if (yych <= 0x2831) goto yy92; + goto yy138; + } else { + if (yych == 0x283C) goto yy140; + goto yy92; + } + } + } + } + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy92: + ++YYCURSOR; + { out.err(); return; } +yy94: + yych = *++YYCURSOR; + if (yych == '\r') goto yy142; +yy95: + { out.prt('\n'); goto yyc_l; } +yy96: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy98: + ++YYCURSOR; + { out.prt('1'); goto yyc_n; } +yy100: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy102: + ++YYCURSOR; + { out.prt('2'); goto yyc_n; } +yy104: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy106: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy108: + ++YYCURSOR; + { out.prt('3'); goto yyc_n; } +yy110: + ++YYCURSOR; + { out.prt('9'); goto yyc_n; } +yy112: + ++YYCURSOR; + { out.prt('6'); goto yyc_n; } +yy114: + ++YYCURSOR; + { out.prt('5'); goto yyc_n; } +yy116: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy118: + ++YYCURSOR; + { out.prt('8'); goto yyc_n; } +yy120: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy122: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy124: + ++YYCURSOR; + { out.prt('4'); goto yyc_n; } +yy126: + ++YYCURSOR; + { out.prt('0'); goto yyc_n; } +yy128: + ++YYCURSOR; + { out.prt('7'); goto yyc_n; } +yy130: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy132: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy134: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy136: + ++YYCURSOR; + c = yycl; + goto yyc_l; +yy138: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy140: + ++YYCURSOR; + goto yyc_n; +yy142: + ++YYCURSOR; + goto yy95; +} + +} + +static void lex_utf32(const iutf32_t & in) +{ + const unsigned int *YYCURSOR = in.str; + int c = yycl; + out_t out; + +{ + unsigned int yych; + if (c < 1) { + goto yyc_l; + } else { + goto yyc_n; + } +/* *********************************** */ +yyc_l: + yych = *YYCURSOR; + if (yych <= 0x00002816) { + if (yych <= 0x00002807) { + if (yych <= 0x00002800) { + if (yych <= '\n') { + if (yych <= 0x00000000) goto yy3; + if (yych <= '\t') goto yy5; + goto yy7; + } else { + if (yych == ' ') goto yy9; + if (yych <= 0x000027FF) goto yy5; + goto yy9; + } + } else { + if (yych <= 0x00002803) { + if (yych <= 0x00002801) goto yy11; + if (yych <= 0x00002802) goto yy13; + goto yy15; + } else { + if (yych <= 0x00002804) goto yy17; + if (yych <= 0x00002805) goto yy19; + if (yych <= 0x00002806) goto yy21; + goto yy23; + } + } + } else { + if (yych <= 0x0000280E) { + if (yych <= 0x0000280A) { + if (yych <= 0x00002808) goto yy5; + if (yych <= 0x00002809) goto yy25; + goto yy27; + } else { + if (yych <= 0x0000280B) goto yy29; + if (yych <= 0x0000280C) goto yy5; + if (yych <= 0x0000280D) goto yy31; + goto yy33; + } + } else { + if (yych <= 0x00002812) { + if (yych <= 0x0000280F) goto yy35; + if (yych <= 0x00002810) goto yy5; + if (yych <= 0x00002811) goto yy37; + goto yy39; + } else { + if (yych <= 0x00002813) goto yy41; + if (yych <= 0x00002814) goto yy43; + if (yych <= 0x00002815) goto yy45; + goto yy47; + } + } + } + } else { + if (yych <= 0x00002826) { + if (yych <= 0x0000281D) { + if (yych <= 0x00002819) { + if (yych <= 0x00002817) goto yy49; + if (yych <= 0x00002818) goto yy5; + goto yy51; + } else { + if (yych <= 0x0000281A) goto yy53; + if (yych <= 0x0000281B) goto yy55; + if (yych <= 0x0000281C) goto yy5; + goto yy57; + } + } else { + if (yych <= 0x00002820) { + if (yych <= 0x0000281E) goto yy59; + if (yych <= 0x0000281F) goto yy61; + goto yy63; + } else { + if (yych <= 0x00002823) goto yy5; + if (yych <= 0x00002824) goto yy65; + if (yych <= 0x00002825) goto yy67; + goto yy69; + } + } + } else { + if (yych <= 0x00002832) { + if (yych <= 0x0000282D) { + if (yych <= 0x00002827) goto yy71; + if (yych <= 0x0000282C) goto yy5; + goto yy73; + } else { + if (yych == 0x00002830) goto yy75; + if (yych <= 0x00002831) goto yy5; + goto yy77; + } + } else { + if (yych <= 0x0000283A) { + if (yych == 0x00002835) goto yy79; + if (yych <= 0x00002839) goto yy5; + goto yy81; + } else { + if (yych <= 0x0000283B) goto yy5; + if (yych <= 0x0000283C) goto yy83; + if (yych <= 0x0000283D) goto yy85; + goto yy5; + } + } + } + } +yy3: + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy5: + ++YYCURSOR; + { out.err(); return; } +yy7: + yych = *++YYCURSOR; + if (yych == '\r') goto yy87; +yy8: + { out.prt('\n'); goto yyc_l; } +yy9: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy11: + ++YYCURSOR; + { out.prt('a'); goto yyc_l; } +yy13: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy15: + ++YYCURSOR; + { out.prt('b'); goto yyc_l; } +yy17: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy19: + ++YYCURSOR; + { out.prt('k'); goto yyc_l; } +yy21: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy23: + ++YYCURSOR; + { out.prt('l'); goto yyc_l; } +yy25: + ++YYCURSOR; + { out.prt('c'); goto yyc_l; } +yy27: + ++YYCURSOR; + { out.prt('i'); goto yyc_l; } +yy29: + ++YYCURSOR; + { out.prt('f'); goto yyc_l; } +yy31: + ++YYCURSOR; + { out.prt('m'); goto yyc_l; } +yy33: + ++YYCURSOR; + { out.prt('s'); goto yyc_l; } +yy35: + ++YYCURSOR; + { out.prt('p'); goto yyc_l; } +yy37: + ++YYCURSOR; + { out.prt('e'); goto yyc_l; } +yy39: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy41: + ++YYCURSOR; + { out.prt('h'); goto yyc_l; } +yy43: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy45: + ++YYCURSOR; + { out.prt('o'); goto yyc_l; } +yy47: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy49: + ++YYCURSOR; + { out.prt('r'); goto yyc_l; } +yy51: + ++YYCURSOR; + { out.prt('d'); goto yyc_l; } +yy53: + ++YYCURSOR; + { out.prt('j'); goto yyc_l; } +yy55: + ++YYCURSOR; + { out.prt('g'); goto yyc_l; } +yy57: + ++YYCURSOR; + { out.prt('n'); goto yyc_l; } +yy59: + ++YYCURSOR; + { out.prt('t'); goto yyc_l; } +yy61: + ++YYCURSOR; + { out.prt('q'); goto yyc_l; } +yy63: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy65: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy67: + ++YYCURSOR; + { out.prt('u'); goto yyc_l; } +yy69: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy71: + ++YYCURSOR; + { out.prt('v'); goto yyc_l; } +yy73: + ++YYCURSOR; + { out.prt('x'); goto yyc_l; } +yy75: + ++YYCURSOR; + goto yyc_l; +yy77: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy79: + ++YYCURSOR; + { out.prt('z'); goto yyc_l; } +yy81: + ++YYCURSOR; + { out.prt('w'); goto yyc_l; } +yy83: + ++YYCURSOR; + c = yycn; + goto yyc_n; +yy85: + ++YYCURSOR; + { out.prt('y'); goto yyc_l; } +yy87: + ++YYCURSOR; + goto yy8; +/* *********************************** */ +yyc_n: + yych = *YYCURSOR; + if (yych <= 0x00002812) { + if (yych <= 0x00002803) { + if (yych <= ' ') { + if (yych <= '\t') { + if (yych >= 0x00000001) goto yy92; + } else { + if (yych <= '\n') goto yy94; + if (yych <= 0x0000001F) goto yy92; + goto yy96; + } + } else { + if (yych <= 0x00002800) { + if (yych <= 0x000027FF) goto yy92; + goto yy96; + } else { + if (yych <= 0x00002801) goto yy98; + if (yych <= 0x00002802) goto yy100; + goto yy102; + } + } + } else { + if (yych <= 0x00002809) { + if (yych <= 0x00002805) { + if (yych <= 0x00002804) goto yy104; + goto yy92; + } else { + if (yych <= 0x00002806) goto yy106; + if (yych <= 0x00002808) goto yy92; + goto yy108; + } + } else { + if (yych <= 0x0000280B) { + if (yych <= 0x0000280A) goto yy110; + goto yy112; + } else { + if (yych <= 0x00002810) goto yy92; + if (yych <= 0x00002811) goto yy114; + goto yy116; + } + } + } + } else { + if (yych <= 0x00002820) { + if (yych <= 0x00002818) { + if (yych <= 0x00002814) { + if (yych <= 0x00002813) goto yy118; + goto yy120; + } else { + if (yych == 0x00002816) goto yy122; + goto yy92; + } + } else { + if (yych <= 0x0000281A) { + if (yych <= 0x00002819) goto yy124; + goto yy126; + } else { + if (yych <= 0x0000281B) goto yy128; + if (yych <= 0x0000281F) goto yy92; + goto yy130; + } + } + } else { + if (yych <= 0x0000282F) { + if (yych <= 0x00002824) { + if (yych <= 0x00002823) goto yy92; + goto yy132; + } else { + if (yych == 0x00002826) goto yy134; + goto yy92; + } + } else { + if (yych <= 0x00002832) { + if (yych <= 0x00002830) goto yy136; + if (yych <= 0x00002831) goto yy92; + goto yy138; + } else { + if (yych == 0x0000283C) goto yy140; + goto yy92; + } + } + } + } + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy92: + ++YYCURSOR; + { out.err(); return; } +yy94: + yych = *++YYCURSOR; + if (yych == '\r') goto yy142; +yy95: + { out.prt('\n'); goto yyc_l; } +yy96: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy98: + ++YYCURSOR; + { out.prt('1'); goto yyc_n; } +yy100: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy102: + ++YYCURSOR; + { out.prt('2'); goto yyc_n; } +yy104: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy106: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy108: + ++YYCURSOR; + { out.prt('3'); goto yyc_n; } +yy110: + ++YYCURSOR; + { out.prt('9'); goto yyc_n; } +yy112: + ++YYCURSOR; + { out.prt('6'); goto yyc_n; } +yy114: + ++YYCURSOR; + { out.prt('5'); goto yyc_n; } +yy116: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy118: + ++YYCURSOR; + { out.prt('8'); goto yyc_n; } +yy120: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy122: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy124: + ++YYCURSOR; + { out.prt('4'); goto yyc_n; } +yy126: + ++YYCURSOR; + { out.prt('0'); goto yyc_n; } +yy128: + ++YYCURSOR; + { out.prt('7'); goto yyc_n; } +yy130: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy132: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy134: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy136: + ++YYCURSOR; + c = yycl; + goto yyc_l; +yy138: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy140: + ++YYCURSOR; + goto yyc_n; +yy142: + ++YYCURSOR; + goto yy95; +} + +} + +static void lex_ucs2(const iucs2_t & in) +{ + const unsigned short *YYCURSOR = in.str; + int c = yycl; + out_t out; + +{ + unsigned int yych; + if (c < 1) { + goto yyc_l; + } else { + goto yyc_n; + } +/* *********************************** */ +yyc_l: + yych = *YYCURSOR; + if (yych <= 0x2816) { + if (yych <= 0x2807) { + if (yych <= 0x2800) { + if (yych <= '\n') { + if (yych <= 0x0000) goto yy3; + if (yych <= '\t') goto yy5; + goto yy7; + } else { + if (yych == ' ') goto yy9; + if (yych <= 0x27FF) goto yy5; + goto yy9; + } + } else { + if (yych <= 0x2803) { + if (yych <= 0x2801) goto yy11; + if (yych <= 0x2802) goto yy13; + goto yy15; + } else { + if (yych <= 0x2804) goto yy17; + if (yych <= 0x2805) goto yy19; + if (yych <= 0x2806) goto yy21; + goto yy23; + } + } + } else { + if (yych <= 0x280E) { + if (yych <= 0x280A) { + if (yych <= 0x2808) goto yy5; + if (yych <= 0x2809) goto yy25; + goto yy27; + } else { + if (yych <= 0x280B) goto yy29; + if (yych <= 0x280C) goto yy5; + if (yych <= 0x280D) goto yy31; + goto yy33; + } + } else { + if (yych <= 0x2812) { + if (yych <= 0x280F) goto yy35; + if (yych <= 0x2810) goto yy5; + if (yych <= 0x2811) goto yy37; + goto yy39; + } else { + if (yych <= 0x2813) goto yy41; + if (yych <= 0x2814) goto yy43; + if (yych <= 0x2815) goto yy45; + goto yy47; + } + } + } + } else { + if (yych <= 0x2826) { + if (yych <= 0x281D) { + if (yych <= 0x2819) { + if (yych <= 0x2817) goto yy49; + if (yych <= 0x2818) goto yy5; + goto yy51; + } else { + if (yych <= 0x281A) goto yy53; + if (yych <= 0x281B) goto yy55; + if (yych <= 0x281C) goto yy5; + goto yy57; + } + } else { + if (yych <= 0x2820) { + if (yych <= 0x281E) goto yy59; + if (yych <= 0x281F) goto yy61; + goto yy63; + } else { + if (yych <= 0x2823) goto yy5; + if (yych <= 0x2824) goto yy65; + if (yych <= 0x2825) goto yy67; + goto yy69; + } + } + } else { + if (yych <= 0x2832) { + if (yych <= 0x282D) { + if (yych <= 0x2827) goto yy71; + if (yych <= 0x282C) goto yy5; + goto yy73; + } else { + if (yych == 0x2830) goto yy75; + if (yych <= 0x2831) goto yy5; + goto yy77; + } + } else { + if (yych <= 0x283A) { + if (yych == 0x2835) goto yy79; + if (yych <= 0x2839) goto yy5; + goto yy81; + } else { + if (yych <= 0x283B) goto yy5; + if (yych <= 0x283C) goto yy83; + if (yych <= 0x283D) goto yy85; + goto yy5; + } + } + } + } +yy3: + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy5: + ++YYCURSOR; + { out.err(); return; } +yy7: + yych = *++YYCURSOR; + if (yych == '\r') goto yy87; +yy8: + { out.prt('\n'); goto yyc_l; } +yy9: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy11: + ++YYCURSOR; + { out.prt('a'); goto yyc_l; } +yy13: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy15: + ++YYCURSOR; + { out.prt('b'); goto yyc_l; } +yy17: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy19: + ++YYCURSOR; + { out.prt('k'); goto yyc_l; } +yy21: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy23: + ++YYCURSOR; + { out.prt('l'); goto yyc_l; } +yy25: + ++YYCURSOR; + { out.prt('c'); goto yyc_l; } +yy27: + ++YYCURSOR; + { out.prt('i'); goto yyc_l; } +yy29: + ++YYCURSOR; + { out.prt('f'); goto yyc_l; } +yy31: + ++YYCURSOR; + { out.prt('m'); goto yyc_l; } +yy33: + ++YYCURSOR; + { out.prt('s'); goto yyc_l; } +yy35: + ++YYCURSOR; + { out.prt('p'); goto yyc_l; } +yy37: + ++YYCURSOR; + { out.prt('e'); goto yyc_l; } +yy39: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy41: + ++YYCURSOR; + { out.prt('h'); goto yyc_l; } +yy43: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy45: + ++YYCURSOR; + { out.prt('o'); goto yyc_l; } +yy47: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy49: + ++YYCURSOR; + { out.prt('r'); goto yyc_l; } +yy51: + ++YYCURSOR; + { out.prt('d'); goto yyc_l; } +yy53: + ++YYCURSOR; + { out.prt('j'); goto yyc_l; } +yy55: + ++YYCURSOR; + { out.prt('g'); goto yyc_l; } +yy57: + ++YYCURSOR; + { out.prt('n'); goto yyc_l; } +yy59: + ++YYCURSOR; + { out.prt('t'); goto yyc_l; } +yy61: + ++YYCURSOR; + { out.prt('q'); goto yyc_l; } +yy63: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy65: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy67: + ++YYCURSOR; + { out.prt('u'); goto yyc_l; } +yy69: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy71: + ++YYCURSOR; + { out.prt('v'); goto yyc_l; } +yy73: + ++YYCURSOR; + { out.prt('x'); goto yyc_l; } +yy75: + ++YYCURSOR; + goto yyc_l; +yy77: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy79: + ++YYCURSOR; + { out.prt('z'); goto yyc_l; } +yy81: + ++YYCURSOR; + { out.prt('w'); goto yyc_l; } +yy83: + ++YYCURSOR; + c = yycn; + goto yyc_n; +yy85: + ++YYCURSOR; + { out.prt('y'); goto yyc_l; } +yy87: + ++YYCURSOR; + goto yy8; +/* *********************************** */ +yyc_n: + yych = *YYCURSOR; + if (yych <= 0x2812) { + if (yych <= 0x2803) { + if (yych <= ' ') { + if (yych <= '\t') { + if (yych >= 0x0001) goto yy92; + } else { + if (yych <= '\n') goto yy94; + if (yych <= 0x001F) goto yy92; + goto yy96; + } + } else { + if (yych <= 0x2800) { + if (yych <= 0x27FF) goto yy92; + goto yy96; + } else { + if (yych <= 0x2801) goto yy98; + if (yych <= 0x2802) goto yy100; + goto yy102; + } + } + } else { + if (yych <= 0x2809) { + if (yych <= 0x2805) { + if (yych <= 0x2804) goto yy104; + goto yy92; + } else { + if (yych <= 0x2806) goto yy106; + if (yych <= 0x2808) goto yy92; + goto yy108; + } + } else { + if (yych <= 0x280B) { + if (yych <= 0x280A) goto yy110; + goto yy112; + } else { + if (yych <= 0x2810) goto yy92; + if (yych <= 0x2811) goto yy114; + goto yy116; + } + } + } + } else { + if (yych <= 0x2820) { + if (yych <= 0x2818) { + if (yych <= 0x2814) { + if (yych <= 0x2813) goto yy118; + goto yy120; + } else { + if (yych == 0x2816) goto yy122; + goto yy92; + } + } else { + if (yych <= 0x281A) { + if (yych <= 0x2819) goto yy124; + goto yy126; + } else { + if (yych <= 0x281B) goto yy128; + if (yych <= 0x281F) goto yy92; + goto yy130; + } + } + } else { + if (yych <= 0x282F) { + if (yych <= 0x2824) { + if (yych <= 0x2823) goto yy92; + goto yy132; + } else { + if (yych == 0x2826) goto yy134; + goto yy92; + } + } else { + if (yych <= 0x2832) { + if (yych <= 0x2830) goto yy136; + if (yych <= 0x2831) goto yy92; + goto yy138; + } else { + if (yych == 0x283C) goto yy140; + goto yy92; + } + } + } + } + ++YYCURSOR; + { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } +yy92: + ++YYCURSOR; + { out.err(); return; } +yy94: + yych = *++YYCURSOR; + if (yych == '\r') goto yy142; +yy95: + { out.prt('\n'); goto yyc_l; } +yy96: + ++YYCURSOR; + { out.prt(' '); goto yyc_l; } +yy98: + ++YYCURSOR; + { out.prt('1'); goto yyc_n; } +yy100: + ++YYCURSOR; + { out.prt(','); goto yyc_l; } +yy102: + ++YYCURSOR; + { out.prt('2'); goto yyc_n; } +yy104: + ++YYCURSOR; + { out.prt('\''); goto yyc_l; } +yy106: + ++YYCURSOR; + { out.prt(';'); goto yyc_l; } +yy108: + ++YYCURSOR; + { out.prt('3'); goto yyc_n; } +yy110: + ++YYCURSOR; + { out.prt('9'); goto yyc_n; } +yy112: + ++YYCURSOR; + { out.prt('6'); goto yyc_n; } +yy114: + ++YYCURSOR; + { out.prt('5'); goto yyc_n; } +yy116: + ++YYCURSOR; + { out.prt(':'); goto yyc_l; } +yy118: + ++YYCURSOR; + { out.prt('8'); goto yyc_n; } +yy120: + ++YYCURSOR; + { out.prt('*'); goto yyc_l; } +yy122: + ++YYCURSOR; + { out.prt('!'); goto yyc_l; } +yy124: + ++YYCURSOR; + { out.prt('4'); goto yyc_n; } +yy126: + ++YYCURSOR; + { out.prt('0'); goto yyc_n; } +yy128: + ++YYCURSOR; + { out.prt('7'); goto yyc_n; } +yy130: + ++YYCURSOR; + { out.caps = true; goto yyc_l; } +yy132: + ++YYCURSOR; + { out.prt('-'); goto yyc_l; } +yy134: + ++YYCURSOR; + { out.prt('?'); goto yyc_l; } +yy136: + ++YYCURSOR; + c = yycl; + goto yyc_l; +yy138: + ++YYCURSOR; + { out.prt('.'); goto yyc_l; } +yy140: + ++YYCURSOR; + goto yyc_n; +yy142: + ++YYCURSOR; + goto yy95; +} + +} + +int main() +{ + FILE *f; + + f = fopen("06_braille.utf8.txt", "rb"); + if (f) { + printf("utf8:\n"); + iutf8_t in(f); + lex_utf8(in); + fclose(f); + } + + f = fopen("06_braille.utf16.txt", "rb"); + if (f) { + printf("utf16:\n"); + iutf16_t in(f); + lex_utf16(in); + fclose(f); + } + + f = fopen("06_braille.utf32.txt", "rb"); + if (f) { + printf("utf32:\n"); + iutf32_t in(f); + lex_utf32(in); + fclose(f); + } + + f = fopen("06_braille.ucs2.txt", "rb"); + if (f) { + printf("ucs2:\n"); + iucs2_t in(f); + lex_ucs2(in); + fclose(f); + } + + return 0; +} diff --git a/re2c/test/examples/06_braille.cr8i--tags.re b/re2c/test/examples/06_braille.cr8i--tags.re new file mode 100644 index 00000000..5fa429eb --- /dev/null +++ b/re2c/test/examples/06_braille.cr8i--tags.re @@ -0,0 +1,229 @@ +#include +#include + +template +struct input_t { + size_t len; + char_t *str; + + input_t(FILE *f) : len(0), str(NULL) + { + fseek(f, 0, SEEK_END); + len = ftell(f) / sizeof(char_t); + fseek(f, 0, SEEK_SET); + str = new char_t[len + 1]; + fread(str, sizeof(char_t), len, f); + str[len] = 0; + } + ~input_t() + { + delete[]str; + } +}; + +typedef input_t iutf8_t; +typedef input_t iutf16_t; +typedef input_t iutf32_t; +typedef input_t iucs2_t; + +struct out_t { + bool caps; + + out_t() : caps(false) {} + void prt(char c) + { + printf("%c", caps ? toupper(c) : c); + caps = false; + } + void err() + { + printf(" ... error\n"); + } +}; + +/*!rules:re2c + re2c:yyfill:enable = 0; + + // letters + l = "\u2830"; + la = "\u2801"; lb = "\u2803"; lc = "\u2809"; ld = "\u2819"; le = "\u2811"; + lf = "\u280b"; lg = "\u281b"; lh = "\u2813"; li = "\u280a"; lj = "\u281a"; + lk = "\u2805"; ll = "\u2807"; lm = "\u280d"; ln = "\u281d"; lo = "\u2815"; + lp = "\u280f"; lq = "\u281f"; lr = "\u2817"; ls = "\u280e"; lt = "\u281e"; + lu = "\u2825"; lv = "\u2827"; lw = "\u283a"; lx = "\u282d"; ly = "\u283d"; + lz = "\u2835"; + + // numbers + n = "\u283c"; + n1 = "\u2801"; n2 = "\u2803"; n3 = "\u2809"; n4 = "\u2819"; n5 = "\u2811"; + n6 = "\u280b"; n7 = "\u281b"; n8 = "\u2813"; n9 = "\u280a"; n0 = "\u281a"; + + // punctuation + pcom = "\u2802"; psem = "\u2806"; pcln = "\u2812"; + pdot = "\u2832"; pxcl = "\u2816"; pqst = "\u2826"; + past = "\u2814"; pdsh = "\u2804"; phyp = "\u2824"; + + // formatting + fcp = "\u2820"; fsp = "\u2800" | "\x20"; fnl = "\n" | "\n\r"; + + <*> * { out.err(); return; } + <*> "\x00" { if (YYCURSOR != in.str + in.len + 1) out.err(); return; } + + <*> l :=> l + la { out.prt('a'); goto yyc_l; } + lb { out.prt('b'); goto yyc_l; } + lc { out.prt('c'); goto yyc_l; } + ld { out.prt('d'); goto yyc_l; } + le { out.prt('e'); goto yyc_l; } + lf { out.prt('f'); goto yyc_l; } + lg { out.prt('g'); goto yyc_l; } + lh { out.prt('h'); goto yyc_l; } + li { out.prt('i'); goto yyc_l; } + lj { out.prt('j'); goto yyc_l; } + lk { out.prt('k'); goto yyc_l; } + ll { out.prt('l'); goto yyc_l; } + lm { out.prt('m'); goto yyc_l; } + ln { out.prt('n'); goto yyc_l; } + lo { out.prt('o'); goto yyc_l; } + lp { out.prt('p'); goto yyc_l; } + lq { out.prt('q'); goto yyc_l; } + lr { out.prt('r'); goto yyc_l; } + ls { out.prt('s'); goto yyc_l; } + lt { out.prt('t'); goto yyc_l; } + lu { out.prt('u'); goto yyc_l; } + lv { out.prt('v'); goto yyc_l; } + lw { out.prt('w'); goto yyc_l; } + lx { out.prt('x'); goto yyc_l; } + ly { out.prt('y'); goto yyc_l; } + lz { out.prt('z'); goto yyc_l; } + + <*> n :=> n + n1 { out.prt('1'); goto yyc_n; } + n2 { out.prt('2'); goto yyc_n; } + n3 { out.prt('3'); goto yyc_n; } + n4 { out.prt('4'); goto yyc_n; } + n5 { out.prt('5'); goto yyc_n; } + n6 { out.prt('6'); goto yyc_n; } + n7 { out.prt('7'); goto yyc_n; } + n8 { out.prt('8'); goto yyc_n; } + n9 { out.prt('9'); goto yyc_n; } + n0 { out.prt('0'); goto yyc_n; } + + <*> pcom { out.prt(','); goto yyc_l; } + <*> psem { out.prt(';'); goto yyc_l; } + <*> pcln { out.prt(':'); goto yyc_l; } + <*> pdot { out.prt('.'); goto yyc_l; } + <*> pxcl { out.prt('!'); goto yyc_l; } + <*> pqst { out.prt('?'); goto yyc_l; } + <*> past { out.prt('*'); goto yyc_l; } + <*> pdsh { out.prt('\''); goto yyc_l; } + <*> phyp { out.prt('-'); goto yyc_l; } + + <*> fcp { out.caps = true; goto yyc_l; } + <*> fsp { out.prt(' '); goto yyc_l; } + <*> fnl { out.prt('\n'); goto yyc_l; } +*/ + +/*!types:re2c*/ + +static void lex_utf8(const iutf8_t & in) +{ + const unsigned char *YYCURSOR = in.str; + const unsigned char *YYMARKER; + int c = yycl; + out_t out; + /*!use:re2c + re2c:define:YYCTYPE = "unsigned char"; + re2c:define:YYGETCONDITION = "c"; + re2c:define:YYGETCONDITION:naked = 1; + re2c:define:YYSETCONDITION = "c = @@;"; + re2c:define:YYSETCONDITION:naked = 1; + */ +} + +static void lex_utf16(const iutf16_t & in) +{ + const unsigned short *YYCURSOR = in.str; + int c = yycl; + out_t out; + /*!use:re2c + re2c:define:YYCTYPE = "unsigned int"; + re2c:define:YYGETCONDITION = "c"; + re2c:define:YYGETCONDITION:naked = 1; + re2c:define:YYSETCONDITION = "c = @@;"; + re2c:define:YYSETCONDITION:naked = 1; + re2c:flags:8 = 0; + re2c:flags:x = 1; + */ +} + +static void lex_utf32(const iutf32_t & in) +{ + const unsigned int *YYCURSOR = in.str; + int c = yycl; + out_t out; + /*!use:re2c + re2c:define:YYCTYPE = "unsigned int"; + re2c:define:YYGETCONDITION = "c"; + re2c:define:YYGETCONDITION:naked = 1; + re2c:define:YYSETCONDITION = "c = @@;"; + re2c:define:YYSETCONDITION:naked = 1; + re2c:flags:x = 0; + re2c:flags:u = 1; + */ +} + +static void lex_ucs2(const iucs2_t & in) +{ + const unsigned short *YYCURSOR = in.str; + int c = yycl; + out_t out; + /*!use:re2c + re2c:define:YYCTYPE = "unsigned int"; + re2c:define:YYGETCONDITION = "c"; + re2c:define:YYGETCONDITION:naked = 1; + re2c:define:YYSETCONDITION = "c = @@;"; + re2c:define:YYSETCONDITION:naked = 1; + re2c:flags:u = 0; + re2c:flags:w = 1; + */ +} + +int main() +{ + FILE *f; + + f = fopen("06_braille.utf8.txt", "rb"); + if (f) { + printf("utf8:\n"); + iutf8_t in(f); + lex_utf8(in); + fclose(f); + } + + f = fopen("06_braille.utf16.txt", "rb"); + if (f) { + printf("utf16:\n"); + iutf16_t in(f); + lex_utf16(in); + fclose(f); + } + + f = fopen("06_braille.utf32.txt", "rb"); + if (f) { + printf("utf32:\n"); + iutf32_t in(f); + lex_utf32(in); + fclose(f); + } + + f = fopen("06_braille.ucs2.txt", "rb"); + if (f) { + printf("ucs2:\n"); + iucs2_t in(f); + lex_ucs2(in); + fclose(f); + } + + return 0; +} diff --git a/re2c/test/examples/07_cxx98.i--tags.c b/re2c/test/examples/07_cxx98.i--tags.c new file mode 100644 index 00000000..c5f088c9 --- /dev/null +++ b/re2c/test/examples/07_cxx98.i--tags.c @@ -0,0 +1,8332 @@ +/* Generated by re2c */ +#include +#include +#include +#include + +#define YYMAXFILL 17 + +static const size_t SIZE = 64 * 1024; + +struct input_t { + unsigned char buf[SIZE + YYMAXFILL]; + unsigned char *lim; + unsigned char *cur; + unsigned char *mar; + unsigned char *tok; + bool eof; + + FILE *const file; + + input_t(FILE *f) + : buf() + , lim(buf + SIZE) + , cur(lim) + , mar(lim) + , tok(lim) + , eof(false) + , file(f) + {} + bool fill(size_t need) + { + if (eof) { + return false; + } + const size_t free = tok - buf; + if (free < need) { + return false; + } + memmove(buf, tok, lim - tok); + lim -= free; + cur -= free; + mar -= free; + tok -= free; + lim += fread(lim, 1, free, file); + if (lim < buf + SIZE) { + eof = true; + memset(lim, 0, YYMAXFILL); + lim += YYMAXFILL; + } + return true; + } +}; + + + +template +static bool adddgt(unsigned long &u, unsigned long d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +static bool lex_oct(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0, ++s; s < e; ++s) { + if (!adddgt<8>(u, *s - 0x30u)) { + return false; + } + } + return true; +} + +static bool lex_dec(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0; s < e; ++s) { + if (!adddgt<10>(u, *s - 0x30u)) { + return false; + } + } + return true; +} + +static bool lex_hex(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0, s += 2; s < e;) { + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': goto yy4; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy6; + default: goto yy2; + } +yy2: + ++s; + { if (!adddgt<16>(u, s[-1] - 0x30u)) return false; continue; } +yy4: + ++s; + { if (!adddgt<16>(u, s[-1] - 0x41u + 10)) return false; continue; } +yy6: + ++s; + { if (!adddgt<16>(u, s[-1] - 0x61u + 10)) return false; continue; } +} + + } + return true; +} + +static bool lex_str(input_t &in, unsigned char q) +{ + printf("%c", q); + for (unsigned long u = q;; printf("\\x%lx", u)) { + in.tok = in.cur; + +{ + unsigned char yych; + if ((in.lim - in.cur) < 10) if (!in.fill(10)) return false; + yych = *in.cur; + switch (yych) { + case '\n': goto yy12; + case '\\': goto yy14; + default: goto yy10; + } +yy10: + ++in.cur; + { u = in.tok[0]; if (u == q) break; continue; } +yy12: + ++in.cur; +yy13: + { return false; } +yy14: + yych = *(in.mar = ++in.cur); + switch (yych) { + case '"': goto yy15; + case '\'': goto yy17; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy19; + case '?': goto yy21; + case 'U': goto yy23; + case '\\': goto yy25; + case 'a': goto yy27; + case 'b': goto yy29; + case 'f': goto yy31; + case 'n': goto yy33; + case 'r': goto yy35; + case 't': goto yy37; + case 'u': goto yy39; + case 'v': goto yy40; + case 'x': goto yy42; + default: goto yy13; + } +yy15: + ++in.cur; + { u = '"'; continue; } +yy17: + ++in.cur; + { u = '\''; continue; } +yy19: + yych = *++in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy43; + default: goto yy20; + } +yy20: + { lex_oct(in.tok, in.cur, u); continue; } +yy21: + ++in.cur; + { u = '?'; continue; } +yy23: + yych = *++in.cur; + 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 yy44; + default: goto yy24; + } +yy24: + in.cur = in.mar; + goto yy13; +yy25: + ++in.cur; + { u = '\\'; continue; } +yy27: + ++in.cur; + { u = '\a'; continue; } +yy29: + ++in.cur; + { u = '\b'; continue; } +yy31: + ++in.cur; + { u = '\f'; continue; } +yy33: + ++in.cur; + { u = '\n'; continue; } +yy35: + ++in.cur; + { u = '\r'; continue; } +yy37: + ++in.cur; + { u = '\t'; continue; } +yy39: + yych = *++in.cur; + 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 yy45; + default: goto yy24; + } +yy40: + ++in.cur; + { u = '\v'; continue; } +yy42: + yych = *++in.cur; + 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 yy46; + default: goto yy24; + } +yy43: + yych = *++in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy49; + default: goto yy20; + } +yy44: + yych = *++in.cur; + 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 yy50; + default: goto yy24; + } +yy45: + yych = *++in.cur; + 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 yy51; + default: goto yy24; + } +yy46: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + 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 yy46; + default: goto yy48; + } +yy48: + { if (!lex_hex(in.tok, in.cur, u)) return false; continue; } +yy49: + ++in.cur; + goto yy20; +yy50: + yych = *++in.cur; + 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 yy52; + default: goto yy24; + } +yy51: + yych = *++in.cur; + 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 yy53; + default: goto yy24; + } +yy52: + yych = *++in.cur; + 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 yy54; + default: goto yy24; + } +yy53: + yych = *++in.cur; + 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 yy55; + default: goto yy24; + } +yy54: + yych = *++in.cur; + 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 yy57; + default: goto yy24; + } +yy55: + ++in.cur; + { lex_hex(in.tok, in.cur, u); continue; } +yy57: + yych = *++in.cur; + 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 yy58; + default: goto yy24; + } +yy58: + yych = *++in.cur; + 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 yy59; + default: goto yy24; + } +yy59: + yych = *++in.cur; + 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 yy60; + default: goto yy24; + } +yy60: + ++in.cur; + { lex_hex(in.tok, in.cur, u); continue; } +} + + } + printf("%c", q); + return true; +} + +static bool lex_flt(const unsigned char *s) +{ + double d = 0; + double x = 1; + int e = 0; + +mant_int: + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case '.': goto yy66; + case 'E': + case 'e': goto yy68; + default: goto yy64; + } +yy64: + ++s; + { d = (d * 10) + (s[-1] - '0'); goto mant_int; } +yy66: + ++s; + { goto mant_frac; } +yy68: + ++s; + { goto exp_sign; } +} + +mant_frac: + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy73; + case 'E': + case 'e': goto yy75; + default: goto yy72; + } +yy72: + { goto sfx; } +yy73: + ++s; + { d += (x /= 10) * (s[-1] - '0'); goto mant_frac; } +yy75: + ++s; + { goto exp_sign; } +} + +exp_sign: + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case '+': goto yy80; + case '-': goto yy81; + default: goto yy79; + } +yy79: + { x = 1e+1; goto exp; } +yy80: + ++s; + goto yy79; +yy81: + ++s; + { x = 1e-1; goto exp; } +} + +exp: + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy86; + default: goto yy85; + } +yy85: + { for (; e > 0; --e) d *= x; goto sfx; } +yy86: + ++s; + { e = (e * 10) + (s[-1] - '0'); goto exp; } +} + +sfx: + +{ + unsigned char yych; + yych = *s; + switch (yych) { + case 'F': + case 'f': goto yy92; + default: goto yy90; + } +yy90: + ++s; + { goto end; } +yy92: + ++s; + { if (d > FLT_MAX) return false; goto end; } +} + +end: + printf("%g", d); + return true; +} + +static bool lex(input_t &in) +{ + unsigned long u; + for (;;) { + in.tok = in.cur; + +{ + unsigned char yych; + unsigned int yyaccept = 0; + if ((in.lim - in.cur) < 17) if (!in.fill(17)) return false; + yych = *in.cur; + switch (yych) { + case 0x00: goto yy96; + case '\t': + case '\n': + case '\v': + case '\r': + case ' ': goto yy100; + case '!': goto yy103; + case '"': goto yy105; + case '#': goto yy107; + case '%': goto yy109; + case '&': goto yy111; + case '\'': goto yy113; + case '(': goto yy114; + case ')': goto yy116; + case '*': goto yy118; + case '+': goto yy120; + case ',': goto yy122; + case '-': goto yy124; + case '.': goto yy126; + case '/': goto yy128; + case '0': goto yy130; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy132; + case ':': goto yy135; + case ';': goto yy137; + case '<': goto yy139; + case '=': goto yy141; + case '>': goto yy143; + case '?': goto yy145; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + 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 'q': + case 'y': + case 'z': goto yy147; + case 'L': goto yy150; + case '[': goto yy151; + case ']': goto yy153; + case '^': goto yy155; + case 'a': goto yy157; + case 'b': goto yy158; + case 'c': goto yy159; + case 'd': goto yy160; + case 'e': goto yy161; + case 'f': goto yy162; + case 'g': goto yy163; + case 'i': goto yy164; + case 'l': goto yy165; + case 'm': goto yy166; + case 'n': goto yy167; + case 'o': goto yy168; + case 'p': goto yy169; + case 'r': goto yy170; + case 's': goto yy171; + case 't': goto yy172; + case 'u': goto yy173; + case 'v': goto yy174; + case 'w': goto yy175; + case 'x': goto yy176; + case '{': goto yy177; + case '|': goto yy179; + case '}': goto yy181; + case '~': goto yy183; + default: goto yy98; + } +yy96: + ++in.cur; + { return in.lim - in.tok == YYMAXFILL; } +yy98: + ++in.cur; + { return false; } +yy100: + yyaccept = 0; + in.mar = ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '\t': + case '\n': + case '\v': + case '\r': + case ' ': goto yy100; + case '/': goto yy185; + default: goto yy102; + } +yy102: + { printf(" "); continue; } +yy103: + yych = *++in.cur; + switch (yych) { + case '=': goto yy187; + default: goto yy104; + } +yy104: + { printf("!"); continue; } +yy105: + ++in.cur; +yy106: + { if (!lex_str(in, in.cur[-1])) return false; continue; } +yy107: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '\n': goto yy189; + case '\\': goto yy191; + default: goto yy107; + } +yy109: + yych = *++in.cur; + switch (yych) { + case ':': goto yy107; + case '=': goto yy193; + case '>': goto yy181; + default: goto yy110; + } +yy110: + { printf("%%"); continue; } +yy111: + yych = *++in.cur; + switch (yych) { + case '&': goto yy195; + case '=': goto yy197; + default: goto yy112; + } +yy112: + { printf("&"); continue; } +yy113: + yych = *++in.cur; + switch (yych) { + case '\'': goto yy199; + default: goto yy106; + } +yy114: + ++in.cur; + { printf("("); continue; } +yy116: + ++in.cur; + { printf(")"); continue; } +yy118: + yych = *++in.cur; + switch (yych) { + case '=': goto yy201; + default: goto yy119; + } +yy119: + { printf("*"); continue; } +yy120: + yych = *++in.cur; + switch (yych) { + case '+': goto yy203; + case '=': goto yy205; + default: goto yy121; + } +yy121: + { printf("+"); continue; } +yy122: + ++in.cur; + { printf(","); continue; } +yy124: + yych = *++in.cur; + switch (yych) { + case '-': goto yy207; + case '=': goto yy209; + case '>': goto yy211; + default: goto yy125; + } +yy125: + { printf("-"); continue; } +yy126: + yyaccept = 1; + yych = *(in.mar = ++in.cur); + switch (yych) { + case '*': goto yy213; + case '.': goto yy215; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy216; + default: goto yy127; + } +yy127: + { printf("."); continue; } +yy128: + yych = *++in.cur; + switch (yych) { + case '*': goto yy219; + case '/': goto yy221; + case '=': goto yy223; + default: goto yy129; + } +yy129: + { printf("/"); continue; } +yy130: + yyaccept = 2; + yych = *(in.mar = ++in.cur); + switch (yych) { + case 'X': + case 'x': goto yy230; + default: goto yy226; + } +yy131: + { if (!lex_oct(in.tok, in.cur, u)) return false; goto sfx; } +yy132: + yyaccept = 3; + in.mar = ++in.cur; + if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false; + yych = *in.cur; + switch (yych) { + case '.': goto yy216; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy132; + case 'E': + case 'e': goto yy229; + default: goto yy134; + } +yy134: + { if (!lex_dec(in.tok, in.cur, u)) return false; goto sfx; } +yy135: + yych = *++in.cur; + switch (yych) { + case ':': goto yy231; + case '>': goto yy153; + default: goto yy136; + } +yy136: + { printf(":"); continue; } +yy137: + ++in.cur; + { printf(";"); continue; } +yy139: + yych = *++in.cur; + switch (yych) { + case '%': goto yy177; + case ':': goto yy151; + case '<': goto yy233; + case '=': goto yy235; + default: goto yy140; + } +yy140: + { printf("<"); continue; } +yy141: + yych = *++in.cur; + switch (yych) { + case '=': goto yy237; + default: goto yy142; + } +yy142: + { printf("="); continue; } +yy143: + yych = *++in.cur; + switch (yych) { + case '=': goto yy239; + case '>': goto yy241; + default: goto yy144; + } +yy144: + { printf(">"); continue; } +yy145: + ++in.cur; + { printf("?"); continue; } +yy147: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; +yy148: + 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 yy147; + default: goto yy149; + } +yy149: + { printf("%.*s", in.cur - in.tok, in.tok); continue; } +yy150: + yych = *++in.cur; + switch (yych) { + case '"': goto yy105; + case '\'': goto yy113; + default: goto yy148; + } +yy151: + ++in.cur; + { printf("["); continue; } +yy153: + ++in.cur; + { printf("]"); continue; } +yy155: + yych = *++in.cur; + switch (yych) { + case '=': goto yy243; + default: goto yy156; + } +yy156: + { printf("^"); continue; } +yy157: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy245; + case 's': goto yy246; + case 'u': goto yy247; + default: goto yy148; + } +yy158: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy248; + case 'o': goto yy249; + case 'r': goto yy250; + default: goto yy148; + } +yy159: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy251; + case 'h': goto yy252; + case 'l': goto yy253; + case 'o': goto yy254; + default: goto yy148; + } +yy160: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy255; + case 'o': goto yy256; + case 'y': goto yy258; + default: goto yy148; + } +yy161: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy259; + case 'n': goto yy260; + case 'x': goto yy261; + default: goto yy148; + } +yy162: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy262; + case 'l': goto yy263; + case 'o': goto yy264; + case 'r': goto yy265; + default: goto yy148; + } +yy163: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy266; + default: goto yy148; + } +yy164: + yych = *++in.cur; + switch (yych) { + case 'f': goto yy267; + case 'n': goto yy269; + default: goto yy148; + } +yy165: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy270; + default: goto yy148; + } +yy166: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy271; + default: goto yy148; + } +yy167: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy272; + case 'e': goto yy273; + case 'o': goto yy274; + default: goto yy148; + } +yy168: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy275; + case 'r': goto yy276; + default: goto yy148; + } +yy169: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy278; + case 'u': goto yy279; + default: goto yy148; + } +yy170: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy280; + default: goto yy148; + } +yy171: + yych = *++in.cur; + switch (yych) { + case 'h': goto yy281; + case 'i': goto yy282; + case 't': goto yy283; + case 'w': goto yy284; + default: goto yy148; + } +yy172: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy285; + case 'h': goto yy286; + case 'r': goto yy287; + case 'y': goto yy288; + default: goto yy148; + } +yy173: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy289; + case 's': goto yy290; + default: goto yy148; + } +yy174: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy291; + case 'o': goto yy292; + default: goto yy148; + } +yy175: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy293; + case 'h': goto yy294; + default: goto yy148; + } +yy176: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy295; + default: goto yy148; + } +yy177: + ++in.cur; + { printf("{"); continue; } +yy179: + yych = *++in.cur; + switch (yych) { + case '=': goto yy296; + case '|': goto yy298; + default: goto yy180; + } +yy180: + { printf("|"); continue; } +yy181: + ++in.cur; + { printf("}"); continue; } +yy183: + ++in.cur; +yy184: + { printf("~"); continue; } +yy185: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '*': goto yy219; + case '/': goto yy221; + default: goto yy186; + } +yy186: + in.cur = in.mar; + switch (yyaccept) { + case 0: goto yy102; + case 1: goto yy127; + case 2: goto yy131; + case 3: goto yy134; + default: goto yy218; + } +yy187: + ++in.cur; +yy188: + { printf("!="); continue; } +yy189: + ++in.cur; + { continue; } +yy191: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '\\': goto yy191; + default: goto yy107; + } +yy193: + ++in.cur; + { printf("%%="); continue; } +yy195: + ++in.cur; +yy196: + { printf("&&"); continue; } +yy197: + ++in.cur; +yy198: + { printf("&="); continue; } +yy199: + ++in.cur; + { return false; } +yy201: + ++in.cur; + { printf("*="); continue; } +yy203: + ++in.cur; + { printf("++"); continue; } +yy205: + ++in.cur; + { printf("+="); continue; } +yy207: + ++in.cur; + { printf("--"); continue; } +yy209: + ++in.cur; + { printf("-="); continue; } +yy211: + yych = *++in.cur; + switch (yych) { + case '*': goto yy299; + default: goto yy212; + } +yy212: + { printf("->"); continue; } +yy213: + ++in.cur; + { printf("."); continue; } +yy215: + yych = *++in.cur; + switch (yych) { + case '.': goto yy301; + default: goto yy186; + } +yy216: + yyaccept = 4; + in.mar = ++in.cur; + if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false; + yych = *in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy216; + case 'E': + case 'e': goto yy229; + case 'F': + case 'L': + case 'f': + case 'l': goto yy303; + default: goto yy218; + } +yy218: + { if (lex_flt(in.tok)) continue; return false; } +yy219: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '*': goto yy304; + default: goto yy219; + } +yy221: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '\n': goto yy100; + default: goto yy221; + } +yy223: + ++in.cur; + { printf("/="); continue; } +yy225: + yyaccept = 2; + in.mar = ++in.cur; + if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false; + yych = *in.cur; +yy226: + switch (yych) { + case '.': goto yy216; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy225; + case '8': + case '9': goto yy227; + case 'E': + case 'e': goto yy229; + default: goto yy131; + } +yy227: + ++in.cur; + if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false; + yych = *in.cur; + switch (yych) { + case '.': goto yy216; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy227; + case 'E': + case 'e': goto yy229; + default: goto yy186; + } +yy229: + yych = *++in.cur; + switch (yych) { + case '+': + case '-': goto yy305; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy306; + default: goto yy186; + } +yy230: + yych = *++in.cur; + 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 yy308; + default: goto yy186; + } +yy231: + ++in.cur; + { printf("::"); continue; } +yy233: + yych = *++in.cur; + switch (yych) { + case '=': goto yy311; + default: goto yy234; + } +yy234: + { printf("<<"); continue; } +yy235: + ++in.cur; + { printf("<="); continue; } +yy237: + ++in.cur; + { printf("=="); continue; } +yy239: + ++in.cur; + { printf(">="); continue; } +yy241: + yych = *++in.cur; + switch (yych) { + case '=': goto yy313; + default: goto yy242; + } +yy242: + { printf(">>"); continue; } +yy243: + ++in.cur; +yy244: + { printf("^="); continue; } +yy245: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy315; + default: goto yy148; + } +yy246: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy316; + default: goto yy148; + } +yy247: + yych = *++in.cur; + switch (yych) { + case 't': goto yy318; + default: goto yy148; + } +yy248: + yych = *++in.cur; + switch (yych) { + case 't': goto yy319; + default: goto yy148; + } +yy249: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy320; + default: goto yy148; + } +yy250: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy321; + default: goto yy148; + } +yy251: + yych = *++in.cur; + switch (yych) { + case 's': goto yy322; + case 't': goto yy323; + default: goto yy148; + } +yy252: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy324; + default: goto yy148; + } +yy253: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy325; + default: goto yy148; + } +yy254: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy326; + case 'n': goto yy327; + default: goto yy148; + } +yy255: + yych = *++in.cur; + switch (yych) { + case 'f': goto yy328; + case 'l': goto yy329; + default: goto yy148; + } +yy256: + yych = *++in.cur; + 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 yy147; + case 'u': goto yy330; + default: goto yy257; + } +yy257: + { printf("DO"); continue; } +yy258: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy331; + default: goto yy148; + } +yy259: + yych = *++in.cur; + switch (yych) { + case 's': goto yy332; + default: goto yy148; + } +yy260: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy333; + default: goto yy148; + } +yy261: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy334; + case 't': goto yy335; + default: goto yy148; + } +yy262: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy336; + default: goto yy148; + } +yy263: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy337; + default: goto yy148; + } +yy264: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy338; + default: goto yy148; + } +yy265: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy340; + default: goto yy148; + } +yy266: + yych = *++in.cur; + switch (yych) { + case 't': goto yy341; + default: goto yy148; + } +yy267: + yych = *++in.cur; + 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 yy147; + default: goto yy268; + } +yy268: + { printf("IF"); continue; } +yy269: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy342; + case 't': goto yy343; + default: goto yy148; + } +yy270: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy345; + default: goto yy148; + } +yy271: + yych = *++in.cur; + switch (yych) { + case 't': goto yy346; + default: goto yy148; + } +yy272: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy347; + default: goto yy148; + } +yy273: + yych = *++in.cur; + switch (yych) { + case 'w': goto yy348; + default: goto yy148; + } +yy274: + yych = *++in.cur; + switch (yych) { + case 't': goto yy350; + default: goto yy148; + } +yy275: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy351; + default: goto yy148; + } +yy276: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy352; + default: goto yy277; + } +yy277: + { printf("||"); continue; } +yy278: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy353; + case 'o': goto yy354; + default: goto yy148; + } +yy279: + yych = *++in.cur; + switch (yych) { + case 'b': goto yy355; + default: goto yy148; + } +yy280: + yych = *++in.cur; + switch (yych) { + case 'g': goto yy356; + case 'i': goto yy357; + case 't': goto yy358; + default: goto yy148; + } +yy281: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy359; + default: goto yy148; + } +yy282: + yych = *++in.cur; + switch (yych) { + case 'g': goto yy360; + case 'z': goto yy361; + default: goto yy148; + } +yy283: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy362; + case 'r': goto yy363; + default: goto yy148; + } +yy284: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy364; + default: goto yy148; + } +yy285: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy365; + default: goto yy148; + } +yy286: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy366; + case 'r': goto yy367; + default: goto yy148; + } +yy287: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy368; + case 'y': goto yy369; + default: goto yy148; + } +yy288: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy371; + default: goto yy148; + } +yy289: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy372; + case 's': goto yy373; + default: goto yy148; + } +yy290: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy374; + default: goto yy148; + } +yy291: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy375; + default: goto yy148; + } +yy292: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy376; + case 'l': goto yy377; + default: goto yy148; + } +yy293: + yych = *++in.cur; + switch (yych) { + case 'h': goto yy378; + default: goto yy148; + } +yy294: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy379; + default: goto yy148; + } +yy295: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy380; + default: goto yy148; + } +yy296: + ++in.cur; +yy297: + { printf("|="); continue; } +yy298: + ++in.cur; + goto yy277; +yy299: + ++in.cur; + { printf("->*"); continue; } +yy301: + ++in.cur; + { printf("..."); continue; } +yy303: + ++in.cur; + goto yy218; +yy304: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '/': goto yy100; + default: goto yy219; + } +yy305: + yych = *++in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy306; + default: goto yy186; + } +yy306: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy306; + case 'F': + case 'L': + case 'f': + case 'l': goto yy303; + default: goto yy218; + } +yy308: + ++in.cur; + if (in.lim <= in.cur) if (!in.fill(1)) return false; + yych = *in.cur; + 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 yy308; + default: goto yy310; + } +yy310: + { if (!lex_hex(in.tok, in.cur, u)) return false; goto sfx; } +yy311: + ++in.cur; + { printf("<<="); continue; } +yy313: + ++in.cur; + { printf(">>="); continue; } +yy315: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy381; + default: goto yy196; + } +yy316: + yych = *++in.cur; + 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 yy147; + default: goto yy317; + } +yy317: + { printf("ASM"); continue; } +yy318: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy382; + default: goto yy148; + } +yy319: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy384; + case 'o': goto yy385; + default: goto yy148; + } +yy320: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy386; + default: goto yy148; + } +yy321: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy388; + default: goto yy148; + } +yy322: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy389; + default: goto yy148; + } +yy323: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy391; + default: goto yy148; + } +yy324: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy392; + default: goto yy148; + } +yy325: + yych = *++in.cur; + switch (yych) { + case 's': goto yy394; + default: goto yy148; + } +yy326: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy395; + default: goto yy148; + } +yy327: + yych = *++in.cur; + switch (yych) { + case 's': goto yy396; + case 't': goto yy397; + default: goto yy148; + } +yy328: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy398; + default: goto yy148; + } +yy329: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy399; + default: goto yy148; + } +yy330: + yych = *++in.cur; + switch (yych) { + case 'b': goto yy400; + default: goto yy148; + } +yy331: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy401; + default: goto yy148; + } +yy332: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy402; + default: goto yy148; + } +yy333: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy404; + default: goto yy148; + } +yy334: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy406; + case 'o': goto yy407; + default: goto yy148; + } +yy335: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy408; + default: goto yy148; + } +yy336: + yych = *++in.cur; + switch (yych) { + case 's': goto yy409; + default: goto yy148; + } +yy337: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy410; + default: goto yy148; + } +yy338: + yych = *++in.cur; + 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 yy147; + default: goto yy339; + } +yy339: + { printf("FOR"); continue; } +yy340: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy411; + default: goto yy148; + } +yy341: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy412; + default: goto yy148; + } +yy342: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy414; + default: goto yy148; + } +yy343: + yych = *++in.cur; + 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 yy147; + default: goto yy344; + } +yy344: + { printf("INT"); continue; } +yy345: + yych = *++in.cur; + switch (yych) { + case 'g': goto yy415; + default: goto yy148; + } +yy346: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy417; + default: goto yy148; + } +yy347: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy418; + default: goto yy148; + } +yy348: + yych = *++in.cur; + 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 yy147; + default: goto yy349; + } +yy349: + { printf("new"); continue; } +yy350: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy419; + default: goto yy104; + } +yy351: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy420; + default: goto yy148; + } +yy352: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy421; + default: goto yy148; + } +yy353: + yych = *++in.cur; + switch (yych) { + case 'v': goto yy422; + default: goto yy148; + } +yy354: + yych = *++in.cur; + switch (yych) { + case 't': goto yy423; + default: goto yy148; + } +yy355: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy424; + default: goto yy148; + } +yy356: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy425; + default: goto yy148; + } +yy357: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy426; + default: goto yy148; + } +yy358: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy427; + default: goto yy148; + } +yy359: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy428; + default: goto yy148; + } +yy360: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy429; + default: goto yy148; + } +yy361: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy430; + default: goto yy148; + } +yy362: + yych = *++in.cur; + switch (yych) { + case 't': goto yy431; + default: goto yy148; + } +yy363: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy432; + default: goto yy148; + } +yy364: + yych = *++in.cur; + switch (yych) { + case 't': goto yy433; + default: goto yy148; + } +yy365: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy434; + default: goto yy148; + } +yy366: + yych = *++in.cur; + switch (yych) { + case 's': goto yy435; + default: goto yy148; + } +yy367: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy437; + default: goto yy148; + } +yy368: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy438; + default: goto yy148; + } +yy369: + yych = *++in.cur; + 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 yy147; + default: goto yy370; + } +yy370: + { printf("TRY"); continue; } +yy371: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy440; + default: goto yy148; + } +yy372: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy441; + default: goto yy148; + } +yy373: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy442; + default: goto yy148; + } +yy374: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy443; + default: goto yy148; + } +yy375: + yych = *++in.cur; + switch (yych) { + case 't': goto yy444; + default: goto yy148; + } +yy376: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy445; + default: goto yy148; + } +yy377: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy447; + default: goto yy148; + } +yy378: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy448; + default: goto yy148; + } +yy379: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy449; + default: goto yy148; + } +yy380: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy450; + default: goto yy156; + } +yy381: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy451; + default: goto yy148; + } +yy382: + yych = *++in.cur; + 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 yy147; + default: goto yy383; + } +yy383: + { printf("AUTO"); continue; } +yy384: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy452; + default: goto yy148; + } +yy385: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy453; + default: goto yy148; + } +yy386: + yych = *++in.cur; + 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 yy147; + default: goto yy387; + } +yy387: + { printf("BOOL"); continue; } +yy388: + yych = *++in.cur; + switch (yych) { + case 'k': goto yy454; + default: goto yy148; + } +yy389: + yych = *++in.cur; + 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 yy147; + default: goto yy390; + } +yy390: + { printf("CASE"); continue; } +yy391: + yych = *++in.cur; + switch (yych) { + case 'h': goto yy456; + default: goto yy148; + } +yy392: + yych = *++in.cur; + 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 yy147; + default: goto yy393; + } +yy393: + { printf("CHAR"); continue; } +yy394: + yych = *++in.cur; + switch (yych) { + case 's': goto yy458; + default: goto yy148; + } +yy395: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy460; + default: goto yy148; + } +yy396: + yych = *++in.cur; + switch (yych) { + case 't': goto yy461; + default: goto yy148; + } +yy397: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy463; + default: goto yy148; + } +yy398: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy464; + default: goto yy148; + } +yy399: + yych = *++in.cur; + switch (yych) { + case 't': goto yy465; + default: goto yy148; + } +yy400: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy466; + default: goto yy148; + } +yy401: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy467; + default: goto yy148; + } +yy402: + yych = *++in.cur; + 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 yy147; + default: goto yy403; + } +yy403: + { printf("ELSE"); continue; } +yy404: + yych = *++in.cur; + 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 yy147; + default: goto yy405; + } +yy405: + { printf("ENUM"); continue; } +yy406: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy468; + default: goto yy148; + } +yy407: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy469; + default: goto yy148; + } +yy408: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy470; + default: goto yy148; + } +yy409: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy471; + default: goto yy148; + } +yy410: + yych = *++in.cur; + switch (yych) { + case 't': goto yy473; + default: goto yy148; + } +yy411: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy475; + default: goto yy148; + } +yy412: + yych = *++in.cur; + 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 yy147; + default: goto yy413; + } +yy413: + { printf("GOTO"); continue; } +yy414: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy476; + default: goto yy148; + } +yy415: + yych = *++in.cur; + 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 yy147; + default: goto yy416; + } +yy416: + { printf("LONG"); continue; } +yy417: + yych = *++in.cur; + switch (yych) { + case 'b': goto yy477; + default: goto yy148; + } +yy418: + yych = *++in.cur; + switch (yych) { + case 's': goto yy478; + default: goto yy148; + } +yy419: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy479; + default: goto yy148; + } +yy420: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy480; + default: goto yy148; + } +yy421: + yych = *++in.cur; + switch (yych) { + case 'q': goto yy481; + default: goto yy148; + } +yy422: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy482; + default: goto yy148; + } +yy423: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy483; + default: goto yy148; + } +yy424: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy484; + default: goto yy148; + } +yy425: + yych = *++in.cur; + switch (yych) { + case 's': goto yy485; + default: goto yy148; + } +yy426: + yych = *++in.cur; + switch (yych) { + case 't': goto yy486; + default: goto yy148; + } +yy427: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy487; + default: goto yy148; + } +yy428: + yych = *++in.cur; + switch (yych) { + case 't': goto yy488; + default: goto yy148; + } +yy429: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy490; + default: goto yy148; + } +yy430: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy491; + default: goto yy148; + } +yy431: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy492; + default: goto yy148; + } +yy432: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy493; + default: goto yy148; + } +yy433: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy494; + default: goto yy148; + } +yy434: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy495; + default: goto yy148; + } +yy435: + yych = *++in.cur; + 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 yy147; + default: goto yy436; + } +yy436: + { printf("THIS"); continue; } +yy437: + yych = *++in.cur; + switch (yych) { + case 'w': goto yy496; + default: goto yy148; + } +yy438: + yych = *++in.cur; + 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 yy147; + default: goto yy439; + } +yy439: + { printf("true"); continue; } +yy440: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy498; + case 'i': goto yy499; + case 'n': goto yy500; + default: goto yy148; + } +yy441: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy501; + default: goto yy148; + } +yy442: + yych = *++in.cur; + switch (yych) { + case 'g': goto yy503; + default: goto yy148; + } +yy443: + yych = *++in.cur; + switch (yych) { + case 'g': goto yy504; + default: goto yy148; + } +yy444: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy506; + default: goto yy148; + } +yy445: + yych = *++in.cur; + 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 yy147; + default: goto yy446; + } +yy446: + { printf("VOID"); continue; } +yy447: + yych = *++in.cur; + switch (yych) { + case 't': goto yy507; + default: goto yy148; + } +yy448: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy508; + default: goto yy148; + } +yy449: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy509; + default: goto yy148; + } +yy450: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy511; + default: goto yy148; + } +yy451: + yych = *++in.cur; + switch (yych) { + case 'q': goto yy512; + default: goto yy148; + } +yy452: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy513; + default: goto yy148; + } +yy453: + yych = *++in.cur; + 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 yy147; + default: goto yy180; + } +yy454: + yych = *++in.cur; + 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 yy147; + default: goto yy455; + } +yy455: + { printf("BREAK"); continue; } +yy456: + yych = *++in.cur; + 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 yy147; + default: goto yy457; + } +yy457: + { printf("CATCH"); continue; } +yy458: + yych = *++in.cur; + 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 yy147; + default: goto yy459; + } +yy459: + { printf("CLASS"); continue; } +yy460: + yych = *++in.cur; + 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 yy147; + default: goto yy184; + } +yy461: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy514; + default: goto yy462; + } +yy462: + { printf("CONST"); continue; } +yy463: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy515; + default: goto yy148; + } +yy464: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy516; + default: goto yy148; + } +yy465: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy517; + default: goto yy148; + } +yy466: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy519; + default: goto yy148; + } +yy467: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy521; + default: goto yy148; + } +yy468: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy522; + default: goto yy148; + } +yy469: + yych = *++in.cur; + switch (yych) { + case 't': goto yy523; + default: goto yy148; + } +yy470: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy525; + default: goto yy148; + } +yy471: + yych = *++in.cur; + 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 yy147; + default: goto yy472; + } +yy472: + { printf("false"); continue; } +yy473: + yych = *++in.cur; + 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 yy147; + default: goto yy474; + } +yy474: + { printf("FLOAT"); continue; } +yy475: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy527; + default: goto yy148; + } +yy476: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy529; + default: goto yy148; + } +yy477: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy531; + default: goto yy148; + } +yy478: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy532; + default: goto yy148; + } +yy479: + yych = *++in.cur; + switch (yych) { + case 'q': goto yy533; + default: goto yy148; + } +yy480: + yych = *++in.cur; + switch (yych) { + case 't': goto yy534; + default: goto yy148; + } +yy481: + yych = *++in.cur; + 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 yy147; + default: goto yy297; + } +yy482: + yych = *++in.cur; + switch (yych) { + case 't': goto yy535; + default: goto yy148; + } +yy483: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy536; + default: goto yy148; + } +yy484: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy537; + default: goto yy148; + } +yy485: + yych = *++in.cur; + switch (yych) { + case 't': goto yy539; + default: goto yy148; + } +yy486: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy540; + default: goto yy148; + } +yy487: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy541; + default: goto yy148; + } +yy488: + yych = *++in.cur; + 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 yy147; + default: goto yy489; + } +yy489: + { printf("SHORT"); continue; } +yy490: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy543; + default: goto yy148; + } +yy491: + yych = *++in.cur; + switch (yych) { + case 'f': goto yy545; + default: goto yy148; + } +yy492: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy547; + default: goto yy148; + } +yy493: + yych = *++in.cur; + switch (yych) { + case 't': goto yy549; + default: goto yy148; + } +yy494: + yych = *++in.cur; + switch (yych) { + case 'h': goto yy551; + default: goto yy148; + } +yy495: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy553; + default: goto yy148; + } +yy496: + yych = *++in.cur; + 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 yy147; + default: goto yy497; + } +yy497: + { printf("THROW"); continue; } +yy498: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy554; + default: goto yy148; + } +yy499: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy555; + default: goto yy148; + } +yy500: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy557; + default: goto yy148; + } +yy501: + yych = *++in.cur; + 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 yy147; + default: goto yy502; + } +yy502: + { printf("UNION"); continue; } +yy503: + yych = *++in.cur; + switch (yych) { + case 'n': goto yy558; + default: goto yy148; + } +yy504: + yych = *++in.cur; + 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 yy147; + default: goto yy505; + } +yy505: + { printf("USING"); continue; } +yy506: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy559; + default: goto yy148; + } +yy507: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy560; + default: goto yy148; + } +yy508: + yych = *++in.cur; + switch (yych) { + case '_': goto yy561; + default: goto yy148; + } +yy509: + yych = *++in.cur; + 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 yy147; + default: goto yy510; + } +yy510: + { printf("WHILE"); continue; } +yy511: + yych = *++in.cur; + switch (yych) { + case 'q': goto yy562; + default: goto yy148; + } +yy512: + yych = *++in.cur; + 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 yy147; + default: goto yy198; + } +yy513: + yych = *++in.cur; + 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 yy147; + default: goto yy112; + } +yy514: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy563; + default: goto yy148; + } +yy515: + yych = *++in.cur; + switch (yych) { + case 'u': goto yy564; + default: goto yy148; + } +yy516: + yych = *++in.cur; + switch (yych) { + case 't': goto yy565; + default: goto yy148; + } +yy517: + yych = *++in.cur; + 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 yy147; + default: goto yy518; + } +yy518: + { printf("delete"); continue; } +yy519: + yych = *++in.cur; + 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 yy147; + default: goto yy520; + } +yy520: + { printf("DOUBLE"); continue; } +yy521: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy567; + default: goto yy148; + } +yy522: + yych = *++in.cur; + switch (yych) { + case 'i': goto yy568; + default: goto yy148; + } +yy523: + yych = *++in.cur; + 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 yy147; + default: goto yy524; + } +yy524: + { printf("EXPORT"); continue; } +yy525: + yych = *++in.cur; + 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 yy147; + default: goto yy526; + } +yy526: + { printf("EXTERN"); continue; } +yy527: + yych = *++in.cur; + 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 yy147; + default: goto yy528; + } +yy528: + { printf("FRIEND"); continue; } +yy529: + yych = *++in.cur; + 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 yy147; + default: goto yy530; + } +yy530: + { printf("INLINE"); continue; } +yy531: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy569; + default: goto yy148; + } +yy532: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy571; + default: goto yy148; + } +yy533: + yych = *++in.cur; + 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 yy147; + default: goto yy188; + } +yy534: + yych = *++in.cur; + switch (yych) { + case 'o': goto yy572; + default: goto yy148; + } +yy535: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy573; + default: goto yy148; + } +yy536: + yych = *++in.cur; + switch (yych) { + case 't': goto yy575; + default: goto yy148; + } +yy537: + yych = *++in.cur; + 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 yy147; + default: goto yy538; + } +yy538: + { printf("PUBLIC"); continue; } +yy539: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy576; + default: goto yy148; + } +yy540: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy577; + default: goto yy148; + } +yy541: + yych = *++in.cur; + 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 yy147; + default: goto yy542; + } +yy542: + { printf("RETURN"); continue; } +yy543: + yych = *++in.cur; + 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 yy147; + default: goto yy544; + } +yy544: + { printf("SIGNED"); continue; } +yy545: + yych = *++in.cur; + 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 yy147; + default: goto yy546; + } +yy546: + { printf("SIZEOF"); continue; } +yy547: + yych = *++in.cur; + 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 '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 yy147; + case '_': goto yy578; + default: goto yy548; + } +yy548: + { printf("STATIC"); continue; } +yy549: + yych = *++in.cur; + 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 yy147; + default: goto yy550; + } +yy550: + { printf("STRUCT"); continue; } +yy551: + yych = *++in.cur; + 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 yy147; + default: goto yy552; + } +yy552: + { printf("SWITCH"); continue; } +yy553: + yych = *++in.cur; + switch (yych) { + case 't': goto yy579; + default: goto yy148; + } +yy554: + yych = *++in.cur; + switch (yych) { + case 'f': goto yy580; + default: goto yy148; + } +yy555: + yych = *++in.cur; + 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 yy147; + default: goto yy556; + } +yy556: + { printf("TYPEID"); continue; } +yy557: + yych = *++in.cur; + switch (yych) { + case 'm': goto yy582; + default: goto yy148; + } +yy558: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy583; + default: goto yy148; + } +yy559: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy584; + default: goto yy148; + } +yy560: + yych = *++in.cur; + switch (yych) { + case 'l': goto yy586; + default: goto yy148; + } +yy561: + yych = *++in.cur; + switch (yych) { + case 't': goto yy587; + default: goto yy148; + } +yy562: + yych = *++in.cur; + 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 yy147; + default: goto yy244; + } +yy563: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy589; + default: goto yy148; + } +yy564: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy590; + default: goto yy148; + } +yy565: + yych = *++in.cur; + 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 yy147; + default: goto yy566; + } +yy566: + { printf("DEFAULT"); continue; } +yy567: + yych = *++in.cur; + switch (yych) { + case '_': goto yy592; + default: goto yy148; + } +yy568: + yych = *++in.cur; + switch (yych) { + case 't': goto yy593; + default: goto yy148; + } +yy569: + yych = *++in.cur; + 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 yy147; + default: goto yy570; + } +yy570: + { printf("MUTABLE"); continue; } +yy571: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy595; + default: goto yy148; + } +yy572: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy596; + default: goto yy148; + } +yy573: + yych = *++in.cur; + 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 yy147; + default: goto yy574; + } +yy574: + { printf("PRIVATE"); continue; } +yy575: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy598; + default: goto yy148; + } +yy576: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy599; + default: goto yy148; + } +yy577: + yych = *++in.cur; + switch (yych) { + case 'p': goto yy601; + default: goto yy148; + } +yy578: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy602; + default: goto yy148; + } +yy579: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy603; + default: goto yy148; + } +yy580: + yych = *++in.cur; + 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 yy147; + default: goto yy581; + } +yy581: + { printf("TYPEDEF"); continue; } +yy582: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy605; + default: goto yy148; + } +yy583: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy607; + default: goto yy148; + } +yy584: + yych = *++in.cur; + 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 yy147; + default: goto yy585; + } +yy585: + { printf("VIRTUAL"); continue; } +yy586: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy609; + default: goto yy148; + } +yy587: + yych = *++in.cur; + 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 yy147; + default: goto yy588; + } +yy588: + { printf("WCHAR_T"); continue; } +yy589: + yych = *++in.cur; + switch (yych) { + case 's': goto yy611; + default: goto yy148; + } +yy590: + yych = *++in.cur; + 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 yy147; + default: goto yy591; + } +yy591: + { printf("CONTINUE"); continue; } +yy592: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy612; + default: goto yy148; + } +yy593: + yych = *++in.cur; + 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 yy147; + default: goto yy594; + } +yy594: + { printf("EXPLICIT"); continue; } +yy595: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy613; + default: goto yy148; + } +yy596: + yych = *++in.cur; + 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 yy147; + default: goto yy597; + } +yy597: + { printf("OPERATOR"); continue; } +yy598: + yych = *++in.cur; + switch (yych) { + case 'd': goto yy615; + default: goto yy148; + } +yy599: + yych = *++in.cur; + 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 yy147; + default: goto yy600; + } +yy600: + { printf("REGISTER"); continue; } +yy601: + yych = *++in.cur; + switch (yych) { + case 'r': goto yy617; + default: goto yy148; + } +yy602: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy618; + default: goto yy148; + } +yy603: + yych = *++in.cur; + 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 yy147; + default: goto yy604; + } +yy604: + { printf("TEMPLATE"); continue; } +yy605: + yych = *++in.cur; + 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 yy147; + default: goto yy606; + } +yy606: + { printf("TYPENAME"); continue; } +yy607: + yych = *++in.cur; + 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 yy147; + default: goto yy608; + } +yy608: + { printf("UNSIGNED"); continue; } +yy609: + yych = *++in.cur; + 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 yy147; + default: goto yy610; + } +yy610: + { printf("VOLATILE"); continue; } +yy611: + yych = *++in.cur; + switch (yych) { + case 't': goto yy619; + default: goto yy148; + } +yy612: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy621; + default: goto yy148; + } +yy613: + yych = *++in.cur; + 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 yy147; + default: goto yy614; + } +yy614: + { printf("NAMESPACE"); continue; } +yy615: + yych = *++in.cur; + 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 yy147; + default: goto yy616; + } +yy616: + { printf("PROTECTED"); continue; } +yy617: + yych = *++in.cur; + switch (yych) { + case 'e': goto yy622; + default: goto yy148; + } +yy618: + yych = *++in.cur; + switch (yych) { + case 's': goto yy623; + default: goto yy148; + } +yy619: + yych = *++in.cur; + 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 yy147; + default: goto yy620; + } +yy620: + { printf("CONST_CAST"); continue; } +yy621: + yych = *++in.cur; + switch (yych) { + case 's': goto yy624; + default: goto yy148; + } +yy622: + yych = *++in.cur; + switch (yych) { + case 't': goto yy625; + default: goto yy148; + } +yy623: + yych = *++in.cur; + switch (yych) { + case 't': goto yy626; + default: goto yy148; + } +yy624: + yych = *++in.cur; + switch (yych) { + case 't': goto yy628; + default: goto yy148; + } +yy625: + yych = *++in.cur; + switch (yych) { + case '_': goto yy630; + default: goto yy148; + } +yy626: + yych = *++in.cur; + 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 yy147; + default: goto yy627; + } +yy627: + { printf("STATIC_CAST"); continue; } +yy628: + yych = *++in.cur; + 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 yy147; + default: goto yy629; + } +yy629: + { printf("DYNAMIC_CAST"); continue; } +yy630: + yych = *++in.cur; + switch (yych) { + case 'c': goto yy631; + default: goto yy148; + } +yy631: + yych = *++in.cur; + switch (yych) { + case 'a': goto yy632; + default: goto yy148; + } +yy632: + yych = *++in.cur; + switch (yych) { + case 's': goto yy633; + default: goto yy148; + } +yy633: + yych = *++in.cur; + switch (yych) { + case 't': goto yy634; + default: goto yy148; + } +yy634: + yych = *++in.cur; + 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 yy147; + default: goto yy635; + } +yy635: + { printf("REINTERPRET_CAST"); continue; } +} + +sfx: + +{ + unsigned char yych; + if ((in.lim - in.cur) < 2) if (!in.fill(2)) return false; + yych = *in.cur; + switch (yych) { + case 'L': + case 'l': goto yy639; + case 'U': + case 'u': goto yy641; + default: goto yy638; + } +yy638: + { if (u > INT_MAX) return false; printf("%d", static_cast(u)); continue; } +yy639: + yych = *++in.cur; + switch (yych) { + case 'U': + case 'u': goto yy643; + default: goto yy640; + } +yy640: + { if (u > LONG_MAX) return false; printf("%ld", static_cast(u)); continue; } +yy641: + yych = *++in.cur; + switch (yych) { + case 'L': + case 'l': goto yy643; + default: goto yy642; + } +yy642: + { if (u > UINT_MAX) return false; printf("%u", static_cast(u)); continue; } +yy643: + ++in.cur; + { printf("%lu", u); continue; } +} + + } +} + +int main(int argc, char **argv) +{ + if (argc != 2) { + printf ("usage: ./example \n"); + return 1; + } + + FILE *file = fopen(argv[1], "rb"); + if (!file) { + printf("error: cannot open file: %s\n", argv[1]); + return 1; + } + + input_t in(file); + if (!lex(in)) { + printf("... error\n"); + } else { + printf("\n"); + } + + fclose(file); + return 0; +} +re2c: warning: line 150: rule matches empty string [-Wmatch-empty-string] +re2c: warning: line 156: rule matches empty string [-Wmatch-empty-string] +re2c: warning: line 161: rule matches empty string [-Wmatch-empty-string] +re2c: warning: line 344: rule matches empty string [-Wmatch-empty-string] diff --git a/re2c/test/examples/07_cxx98.i--tags.re b/re2c/test/examples/07_cxx98.i--tags.re new file mode 100644 index 00000000..ac2e352f --- /dev/null +++ b/re2c/test/examples/07_cxx98.i--tags.re @@ -0,0 +1,374 @@ +#include +#include +#include +#include + +/*!max:re2c*/ +static const size_t SIZE = 64 * 1024; + +struct input_t { + unsigned char buf[SIZE + YYMAXFILL]; + unsigned char *lim; + unsigned char *cur; + unsigned char *mar; + unsigned char *tok; + bool eof; + + FILE *const file; + + input_t(FILE *f) + : buf() + , lim(buf + SIZE) + , cur(lim) + , mar(lim) + , tok(lim) + , eof(false) + , file(f) + {} + bool fill(size_t need) + { + if (eof) { + return false; + } + const size_t free = tok - buf; + if (free < need) { + return false; + } + memmove(buf, tok, lim - tok); + lim -= free; + cur -= free; + mar -= free; + tok -= free; + lim += fread(lim, 1, free, file); + if (lim < buf + SIZE) { + eof = true; + memset(lim, 0, YYMAXFILL); + lim += YYMAXFILL; + } + return true; + } +}; + +/*!re2c re2c:define:YYCTYPE = "unsigned char"; */ + +template +static bool adddgt(unsigned long &u, unsigned long d) +{ + if (u > (ULONG_MAX - d) / base) { + return false; + } + u = u * base + d; + return true; +} + +static bool lex_oct(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0, ++s; s < e; ++s) { + if (!adddgt<8>(u, *s - 0x30u)) { + return false; + } + } + return true; +} + +static bool lex_dec(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0; s < e; ++s) { + if (!adddgt<10>(u, *s - 0x30u)) { + return false; + } + } + return true; +} + +static bool lex_hex(const unsigned char *s, const unsigned char *e, unsigned long &u) +{ + for (u = 0, s += 2; s < e;) { + /*!re2c + re2c:yyfill:enable = 0; + re2c:define:YYCURSOR = s; + * { if (!adddgt<16>(u, s[-1] - 0x30u)) return false; continue; } + [a-f] { if (!adddgt<16>(u, s[-1] - 0x61u + 10)) return false; continue; } + [A-F] { if (!adddgt<16>(u, s[-1] - 0x41u + 10)) return false; continue; } + */ + } + return true; +} + +static bool lex_str(input_t &in, unsigned char q) +{ + printf("%c", q); + for (unsigned long u = q;; printf("\\x%lx", u)) { + in.tok = in.cur; + /*!re2c + re2c:define:YYCURSOR = in.cur; + re2c:define:YYMARKER = in.mar; + re2c:define:YYLIMIT = in.lim; + re2c:yyfill:enable = 1; + re2c:define:YYFILL = "if (!in.fill(@@)) return false;"; + re2c:define:YYFILL:naked = 1; + * { return false; } + [^\n\\] { u = in.tok[0]; if (u == q) break; continue; } + "\\a" { u = '\a'; continue; } + "\\b" { u = '\b'; continue; } + "\\f" { u = '\f'; continue; } + "\\n" { u = '\n'; continue; } + "\\r" { u = '\r'; continue; } + "\\t" { u = '\t'; continue; } + "\\v" { u = '\v'; continue; } + "\\\\" { u = '\\'; continue; } + "\\'" { u = '\''; continue; } + "\\\"" { u = '"'; continue; } + "\\?" { u = '?'; continue; } + "\\" [0-7]{1,3} { lex_oct(in.tok, in.cur, u); continue; } + "\\u" [0-9a-fA-F]{4} { lex_hex(in.tok, in.cur, u); continue; } + "\\U" [0-9a-fA-F]{8} { lex_hex(in.tok, in.cur, u); continue; } + "\\x" [0-9a-fA-F]+ { if (!lex_hex(in.tok, in.cur, u)) return false; continue; } + */ + } + printf("%c", q); + return true; +} + +static bool lex_flt(const unsigned char *s) +{ + double d = 0; + double x = 1; + int e = 0; + /*!re2c + re2c:yyfill:enable = 0; + re2c:define:YYCURSOR = s; + */ +mant_int: + /*!re2c + "." { goto mant_frac; } + [eE] { goto exp_sign; } + * { d = (d * 10) + (s[-1] - '0'); goto mant_int; } + */ +mant_frac: + /*!re2c + "" { goto sfx; } + [eE] { goto exp_sign; } + [0-9] { d += (x /= 10) * (s[-1] - '0'); goto mant_frac; } + */ +exp_sign: + /*!re2c + "+"? { x = 1e+1; goto exp; } + "-" { x = 1e-1; goto exp; } + */ +exp: + /*!re2c + "" { for (; e > 0; --e) d *= x; goto sfx; } + [0-9] { e = (e * 10) + (s[-1] - '0'); goto exp; } + */ +sfx: + /*!re2c + * { goto end; } + [fF] { if (d > FLT_MAX) return false; goto end; } + */ +end: + printf("%g", d); + return true; +} + +static bool lex(input_t &in) +{ + unsigned long u; + for (;;) { + in.tok = in.cur; + /*!re2c + re2c:define:YYCURSOR = in.cur; + re2c:define:YYMARKER = in.mar; + re2c:define:YYLIMIT = in.lim; + re2c:yyfill:enable = 1; + re2c:define:YYFILL = "if (!in.fill(@@)) return false;"; + re2c:define:YYFILL:naked = 1; + + end = "\x00"; + + * { return false; } + end { return in.lim - in.tok == YYMAXFILL; } + + // macros + macro = ("#" | "%:") ([^\n] | "\\\n")* "\n"; + macro { continue; } + + // whitespaces + mcm = "/*" ([^*] | ("*" [^/]))* "*""/"; + scm = "//" [^\n]* "\n"; + wsp = ([ \t\v\n\r] | scm | mcm)+; + wsp { printf(" "); continue; } + + // character and string literals + "L"? ['"] { if (!lex_str(in, in.cur[-1])) return false; continue; } + "L"? "''" { return false; } + + // integer literals + oct = "0" [0-7]*; + dec = [1-9][0-9]*; + hex = '0x' [0-9a-fA-F]+; + oct { if (!lex_oct(in.tok, in.cur, u)) return false; goto sfx; } + dec { if (!lex_dec(in.tok, in.cur, u)) return false; goto sfx; } + hex { if (!lex_hex(in.tok, in.cur, u)) return false; goto sfx; } + + // floating literals + frc = [0-9]* "." [0-9]+ | [0-9]+ "."; + exp = 'e' [+-]? [0-9]+; + flt = (frc exp? | [0-9]+ exp) [fFlL]?; + flt { if (lex_flt(in.tok)) continue; return false; } + + // boolean literals + "false" { printf("false"); continue; } + "true" { printf("true"); continue; } + + // keywords + "asm" { printf("ASM"); continue; } + "auto" { printf("AUTO"); continue; } + "bool" { printf("BOOL"); continue; } + "break" { printf("BREAK"); continue; } + "case" { printf("CASE"); continue; } + "catch" { printf("CATCH"); continue; } + "char" { printf("CHAR"); continue; } + "class" { printf("CLASS"); continue; } + "const" { printf("CONST"); continue; } + "const_cast" { printf("CONST_CAST"); continue; } + "continue" { printf("CONTINUE"); continue; } + "default" { printf("DEFAULT"); continue; } + "do" { printf("DO"); continue; } + "double" { printf("DOUBLE"); continue; } + "dynamic_cast" { printf("DYNAMIC_CAST"); continue; } + "else" { printf("ELSE"); continue; } + "enum" { printf("ENUM"); continue; } + "explicit" { printf("EXPLICIT"); continue; } + "export" { printf("EXPORT"); continue; } + "extern" { printf("EXTERN"); continue; } + "float" { printf("FLOAT"); continue; } + "for" { printf("FOR"); continue; } + "friend" { printf("FRIEND"); continue; } + "goto" { printf("GOTO"); continue; } + "if" { printf("IF"); continue; } + "inline" { printf("INLINE"); continue; } + "int" { printf("INT"); continue; } + "long" { printf("LONG"); continue; } + "mutable" { printf("MUTABLE"); continue; } + "namespace" { printf("NAMESPACE"); continue; } + "operator" { printf("OPERATOR"); continue; } + "private" { printf("PRIVATE"); continue; } + "protected" { printf("PROTECTED"); continue; } + "public" { printf("PUBLIC"); continue; } + "register" { printf("REGISTER"); continue; } + "reinterpret_cast" { printf("REINTERPRET_CAST"); continue; } + "return" { printf("RETURN"); continue; } + "short" { printf("SHORT"); continue; } + "signed" { printf("SIGNED"); continue; } + "sizeof" { printf("SIZEOF"); continue; } + "static" { printf("STATIC"); continue; } + "static_cast" { printf("STATIC_CAST"); continue; } + "struct" { printf("STRUCT"); continue; } + "switch" { printf("SWITCH"); continue; } + "template" { printf("TEMPLATE"); continue; } + "this" { printf("THIS"); continue; } + "throw" { printf("THROW"); continue; } + "try" { printf("TRY"); continue; } + "typedef" { printf("TYPEDEF"); continue; } + "typeid" { printf("TYPEID"); continue; } + "typename" { printf("TYPENAME"); continue; } + "union" { printf("UNION"); continue; } + "unsigned" { printf("UNSIGNED"); continue; } + "using" { printf("USING"); continue; } + "virtual" { printf("VIRTUAL"); continue; } + "void" { printf("VOID"); continue; } + "volatile" { printf("VOLATILE"); continue; } + "wchar_t" { printf("WCHAR_T"); continue; } + "while" { printf("WHILE"); continue; } + + // operators and punctuation (including preprocessor) + ("{" | "<%") { printf("{"); continue; } + ("}" | "%>") { printf("}"); continue; } + ("[" | "<:") { printf("["); continue; } + ("]" | ":>") { printf("]"); continue; } + "(" { printf("("); continue; } + ")" { printf(")"); continue; } + ";" { printf(";"); continue; } + ":" { printf(":"); continue; } + "..." { printf("..."); continue; } + "new" { printf("new"); continue; } + "delete" { printf("delete"); continue; } + "?" { printf("?"); continue; } + "::" { printf("::"); continue; } + "." { printf("."); continue; } + ".*" { printf("."); continue; } + "+" { printf("+"); continue; } + "-" { printf("-"); continue; } + "*" { printf("*"); continue; } + "/" { printf("/"); continue; } + "%" { printf("%%"); continue; } + ("^" | "xor") { printf("^"); continue; } + ("&" | "bitand") { printf("&"); continue; } + ("|" | "bitor") { printf("|"); continue; } + ("~" | "compl") { printf("~"); continue; } + ("!" | "not") { printf("!"); continue; } + "=" { printf("="); continue; } + "<" { printf("<"); continue; } + ">" { printf(">"); continue; } + "+=" { printf("+="); continue; } + "-=" { printf("-="); continue; } + "*=" { printf("*="); continue; } + "/=" { printf("/="); continue; } + "%=" { printf("%%="); continue; } + ("^=" | "xor_eq") { printf("^="); continue; } + ("&=" | "and_eq") { printf("&="); continue; } + ("|=" | "or_eq") { printf("|="); continue; } + "<<" { printf("<<"); continue; } + ">>" { printf(">>"); continue; } + ">>=" { printf(">>="); continue; } + "<<=" { printf("<<="); continue; } + "==" { printf("=="); continue; } + ("!=" | "not_eq") { printf("!="); continue; } + "<=" { printf("<="); continue; } + ">=" { printf(">="); continue; } + ("&&" | "and") { printf("&&"); continue; } + ("||" | "or") { printf("||"); continue; } + "++" { printf("++"); continue; } + "--" { printf("--"); continue; } + "," { printf(","); continue; } + "->*" { printf("->*"); continue; } + "->" { printf("->"); continue; } + + // identifiers + id = [a-zA-Z_][a-zA-Z_0-9]*; + id { printf("%.*s", in.cur - in.tok, in.tok); continue; } + */ +sfx: + /*!re2c + "" { if (u > INT_MAX) return false; printf("%d", static_cast(u)); continue; } + 'u' { if (u > UINT_MAX) return false; printf("%u", static_cast(u)); continue; } + 'l' { if (u > LONG_MAX) return false; printf("%ld", static_cast(u)); continue; } + 'ul' | 'lu' { printf("%lu", u); continue; } + */ + } +} + +int main(int argc, char **argv) +{ + if (argc != 2) { + printf ("usage: ./example \n"); + return 1; + } + + FILE *file = fopen(argv[1], "rb"); + if (!file) { + printf("error: cannot open file: %s\n", argv[1]); + return 1; + } + + input_t in(file); + if (!lex(in)) { + printf("... error\n"); + } else { + printf("\n"); + } + + fclose(file); + return 0; +} diff --git a/re2c/test/examples/08_ipv4.i--tags.c b/re2c/test/examples/08_ipv4.i--tags.c new file mode 100644 index 00000000..e0812e5b --- /dev/null +++ b/re2c/test/examples/08_ipv4.i--tags.c @@ -0,0 +1,253 @@ +/* Generated by re2c */ +#include + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *o1, *o2, *o3, *o4; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4; + +{ + char yych; + yych = *YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = YYCURSOR; + goto yy4; + default: goto yy2; + } +yy2: + ++YYCURSOR; +yy3: + { printf("error\n"); return 1; } +yy4: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy5; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy7; + default: goto yy3; + } +yy5: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt2 = YYCURSOR; + goto yy8; + default: goto yy6; + } +yy6: + YYCURSOR = YYMARKER; + goto yy3; +yy7: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy5; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy9; + default: goto yy6; + } +yy8: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy10; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy11; + default: goto yy6; + } +yy9: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy5; + default: goto yy6; + } +yy10: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt3 = YYCURSOR; + goto yy12; + default: goto yy6; + } +yy11: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy10; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy13; + default: goto yy6; + } +yy12: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy14; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy15; + default: goto yy6; + } +yy13: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy10; + default: goto yy6; + } +yy14: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt4 = YYCURSOR; + goto yy16; + default: goto yy6; + } +yy15: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy14; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy18; + default: goto yy6; + } +yy16: + 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 yy19; + default: goto yy17; + } +yy17: + o1 = yyt1; + o2 = yyt2; + o3 = yyt3; + o4 = yyt4; + { + printf("parsed: %.*s, %.*s, %.*s, %*s!\n", + (int)(o2 - o1 - 1), o1, + (int)(o3 - o2 - 1), o2, + (int)(o4 - o3 - 1), o3, + (int)(YYCURSOR - o4), o4); + return 0; + } +yy18: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy14; + default: goto yy6; + } +yy19: + 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 yy20; + default: goto yy17; + } +yy20: + ++YYCURSOR; + goto yy17; +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) lex(argv[i]); + return 0; +} diff --git a/re2c/test/examples/08_ipv4.i--tags.re b/re2c/test/examples/08_ipv4.i--tags.re new file mode 100644 index 00000000..c9e5c19d --- /dev/null +++ b/re2c/test/examples/08_ipv4.i--tags.re @@ -0,0 +1,32 @@ +#include + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *o1, *o2, *o3, *o4; + /*!stags:re2c format = 'const char *@@;'; */ + /*!re2c + re2c:define:YYCTYPE = char; + re2c:yyfill:enable = 0; + + end = "\x00"; + oct = [0-9]{1,3}; + dot = "."; + + * { printf("error\n"); return 1; } + + @o1 oct dot @o2 oct dot @o3 oct dot @o4 oct { + printf("parsed: %.*s, %.*s, %.*s, %*s!\n", + (int)(o2 - o1 - 1), o1, + (int)(o3 - o2 - 1), o2, + (int)(o4 - o3 - 1), o3, + (int)(YYCURSOR - o4), o4); + return 0; + } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) lex(argv[i]); + return 0; +} diff --git a/re2c/test/examples/09_etc_passwd.i--tags.c b/re2c/test/examples/09_etc_passwd.i--tags.c new file mode 100644 index 00000000..20f3adfe --- /dev/null +++ b/re2c/test/examples/09_etc_passwd.i--tags.c @@ -0,0 +1,238 @@ +/* Generated by re2c */ +#include +#include + +#define YYMAXFILL 4 + + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *n, *p, *u, *g, *i, *h, *c; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;const char *yyt6;const char *yyt7; +loop: + +{ + char yych; + yych = *YYCURSOR; + switch (yych) { + case 0x00: goto yy2; + case '\n': + case ':': goto yy6; + default: + yyt1 = YYCURSOR; + goto yy4; + } +yy2: + ++YYCURSOR; + { return 0; } +yy4: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: + case '\n': goto yy5; + default: goto yy8; + } +yy5: + { printf("error\n"); return 1; } +yy6: + ++YYCURSOR; + goto yy5; +yy7: + yych = *++YYCURSOR; +yy8: + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': goto yy10; + default: goto yy7; + } +yy9: + YYCURSOR = YYMARKER; + goto yy5; +yy10: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': + yyt2 = YYCURSOR; + goto yy13; + default: + yyt2 = YYCURSOR; + goto yy11; + } +yy11: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': goto yy13; + default: goto yy11; + } +yy13: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt3 = YYCURSOR; + goto yy14; + default: goto yy9; + } +yy14: + 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 yy14; + case ':': goto yy16; + default: goto yy9; + } +yy16: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt4 = YYCURSOR; + goto yy17; + default: goto yy9; + } +yy17: + 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; + case ':': goto yy19; + default: goto yy9; + } +yy19: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': + yyt5 = YYCURSOR; + goto yy22; + default: + yyt5 = YYCURSOR; + goto yy20; + } +yy20: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': goto yy22; + default: goto yy20; + } +yy22: + yych = *++YYCURSOR; + switch (yych) { + case '/': + yyt6 = YYCURSOR; + goto yy23; + default: goto yy9; + } +yy23: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy9; + case ':': goto yy25; + default: goto yy23; + } +yy25: + yych = *++YYCURSOR; + switch (yych) { + case '/': + yyt7 = YYCURSOR; + goto yy26; + default: goto yy9; + } +yy26: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case ':': goto yy9; + case '\n': goto yy28; + default: goto yy26; + } +yy28: + ++YYCURSOR; + n = yyt1; + p = yyt2; + u = yyt3; + g = yyt4; + i = yyt5; + h = yyt6; + c = yyt7; + { + printf("user: %.*s\n", (int)(p - n) - 1, n); + printf("password: %.*s\n", (int)(u - p) - 1, p); + printf("UID: %.*s\n", (int)(g - u) - 1, u); + printf("GID: %.*s\n", (int)(i - g) - 1, g); + printf("info: %.*s\n", (int)(h - i) - 1, i); + printf("home: %.*s\n", (int)(c - h) - 1, h); + printf("command: %.*s\n", (int)(YYCURSOR - c - 1), c); + printf("\n"); + goto loop; + } +} + +} + +int main(int argc, char **argv) +{ + if (argc < 2) { + fprintf(stderr, "no input files\n"); + return 1; + } + + FILE *file = fopen(argv[1], "r"); + + fseek(file, 0, SEEK_END); + const size_t fsize = (size_t) ftell(file); + fseek(file, 0, SEEK_SET); + + char *buffer = (char*) malloc(fsize + 1); + + fread(buffer, 1, fsize, file); + buffer[fsize] = 0; + + const int status = lex(buffer); + + fclose(file); + free(buffer); + + return status; +} diff --git a/re2c/test/examples/09_etc_passwd.i--tags.re b/re2c/test/examples/09_etc_passwd.i--tags.re new file mode 100644 index 00000000..6564110e --- /dev/null +++ b/re2c/test/examples/09_etc_passwd.i--tags.re @@ -0,0 +1,74 @@ +#include +#include + +/*!max:re2c*/ + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *n, *p, *u, *g, *i, *h, *c; + /*!stags:re2c format = 'const char *@@;'; */ +loop: + /*!re2c + re2c:define:YYCTYPE = char; + re2c:yyfill:enable = 0; + + end = "\x00"; + eol = "\n"; + sep = [:]; + char = [^] \ (end | eol | sep); + user = char+; + pass = char*; + uid = [0-9]+; + gid = [0-9]+; + info = char*; + home = "/" char*; + cmd = "/" char*; + + * { printf("error\n"); return 1; } + end { return 0; } + + @n user sep + @p pass sep + @u uid sep + @g gid sep + @i info sep + @h home sep + @c cmd eol { + printf("user: %.*s\n", (int)(p - n) - 1, n); + printf("password: %.*s\n", (int)(u - p) - 1, p); + printf("UID: %.*s\n", (int)(g - u) - 1, u); + printf("GID: %.*s\n", (int)(i - g) - 1, g); + printf("info: %.*s\n", (int)(h - i) - 1, i); + printf("home: %.*s\n", (int)(c - h) - 1, h); + printf("command: %.*s\n", (int)(YYCURSOR - c - 1), c); + printf("\n"); + goto loop; + } + */ +} + +int main(int argc, char **argv) +{ + if (argc < 2) { + fprintf(stderr, "no input files\n"); + return 1; + } + + FILE *file = fopen(argv[1], "r"); + + fseek(file, 0, SEEK_END); + const size_t fsize = (size_t) ftell(file); + fseek(file, 0, SEEK_SET); + + char *buffer = (char*) malloc(fsize + 1); + + fread(buffer, 1, fsize, file); + buffer[fsize] = 0; + + const int status = lex(buffer); + + fclose(file); + free(buffer); + + return status; +} diff --git a/re2c/test/examples/10_uri_rfc3986.i--tags.c b/re2c/test/examples/10_uri_rfc3986.i--tags.c new file mode 100644 index 00000000..7ceaac3c --- /dev/null +++ b/re2c/test/examples/10_uri_rfc3986.i--tags.c @@ -0,0 +1,7935 @@ +/* Generated by re2c */ +#include +#include +#include + +#define YYMAXFILL 72 + +static const size_t SIZE = 4096; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + char *yyt1; +char *yyt10; +char *yyt11; +char *yyt12; +char *yyt13; +char *yyt14; +char *yyt15; +char *yyt16; +char *yyt17; +char *yyt18; +char *yyt19; +char *yyt2; +char *yyt20; +char *yyt3; +char *yyt4; +char *yyt5; +char *yyt6; +char *yyt7; +char *yyt8; +char *yyt9; + + int eof; +} input_t; + +static void init_input(input_t *in, const char *fname) +{ + in->file = fopen(fname, "r"); + in->buf = (char*) malloc(SIZE + YYMAXFILL); + in->lim = in->buf + SIZE; + in->cur = in->lim; + in->mar = in->lim; + in->tok = in->lim; + in->yyt1 = 0; +in->yyt10 = 0; +in->yyt11 = 0; +in->yyt12 = 0; +in->yyt13 = 0; +in->yyt14 = 0; +in->yyt15 = 0; +in->yyt16 = 0; +in->yyt17 = 0; +in->yyt18 = 0; +in->yyt19 = 0; +in->yyt2 = 0; +in->yyt20 = 0; +in->yyt3 = 0; +in->yyt4 = 0; +in->yyt5 = 0; +in->yyt6 = 0; +in->yyt7 = 0; +in->yyt8 = 0; +in->yyt9 = 0; + + in->eof = 0; +} + +static void free_input(input_t *in) +{ + free(in->buf); + fclose(in->file); +} + +static int fill(input_t *in, size_t need) +{ + size_t free; + if (in->eof) return 1; + + free = in->tok - in->buf; + if (free < need) return 2; + + memmove(in->buf, in->tok, in->lim - in->tok); + in->lim -= free; + in->cur -= free; + in->mar -= free; + in->tok -= free; + if (in->yyt1) in->yyt1 -= free; +if (in->yyt10) in->yyt10 -= free; +if (in->yyt11) in->yyt11 -= free; +if (in->yyt12) in->yyt12 -= free; +if (in->yyt13) in->yyt13 -= free; +if (in->yyt14) in->yyt14 -= free; +if (in->yyt15) in->yyt15 -= free; +if (in->yyt16) in->yyt16 -= free; +if (in->yyt17) in->yyt17 -= free; +if (in->yyt18) in->yyt18 -= free; +if (in->yyt19) in->yyt19 -= free; +if (in->yyt2) in->yyt2 -= free; +if (in->yyt20) in->yyt20 -= free; +if (in->yyt3) in->yyt3 -= free; +if (in->yyt4) in->yyt4 -= free; +if (in->yyt5) in->yyt5 -= free; +if (in->yyt6) in->yyt6 -= free; +if (in->yyt7) in->yyt7 -= free; +if (in->yyt8) in->yyt8 -= free; +if (in->yyt9) in->yyt9 -= free; + + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + SIZE) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static int lex(input_t *in, long *count) +{ + const char + *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1, + *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2; + long c; + + c = 0; +loop: + in->tok = in->cur; + +{ + char yych; + unsigned int yyaccept = 0; + if ((in->lim - in->cur) < 72) if (fill(in, 72) != 0) return 2; + yych = *in->cur; + switch (yych) { + case 0x00: goto yy2; + case '\n': goto yy6; + 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 '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': + in->yyt1 = in->cur; + goto yy8; + default: goto yy4; + } +yy2: + ++in->cur; + { *count = c; return 0; } +yy4: + ++in->cur; +yy5: + { return 1; } +yy6: + ++in->cur; + { goto loop; } +yy8: + yyaccept = 0; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '+': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + 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': + 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 yy10; + default: goto yy5; + } +yy9: + ++in->cur; + if ((in->lim - in->cur) < 71) if (fill(in, 71) != 0) return 2; + yych = *in->cur; +yy10: + switch (yych) { + case '+': + case '-': + case '.': + 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 '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 yy9; + case ':': + in->yyt2 = in->cur; + goto yy12; + default: goto yy11; + } +yy11: + in->cur = in->mar; + switch (yyaccept) { + case 0: goto yy5; + case 1: + in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt4 = in->yyt5 = in->cur; + goto yy13; + case 2: + in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt5 = in->cur; + goto yy13; + case 3: + in->yyt7 = in->yyt8 = in->cur; + goto yy13; + case 4: + in->yyt7 = in->yyt8 = NULL; + in->yyt6 = in->yyt20 = in->cur; + goto yy13; + case 5: + in->yyt8 = in->cur; + goto yy13; + case 6: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + case 7: + in->yyt7 = in->yyt8 = NULL; + in->yyt6 = in->cur; + goto yy13; + case 8: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + case 9: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->cur; + goto yy13; + case 10: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + case 11: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + case 12: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + case 13: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + case 14: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy12: + yyaccept = 1; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': + in->yyt4 = in->cur; + goto yy14; + case '#': + in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt4 = in->yyt5 = in->cur; + goto yy16; + case '%': + in->yyt4 = in->cur; + goto yy17; + case '/': + in->yyt4 = in->cur; + goto yy18; + case '?': + in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL; + in->yyt4 = in->yyt5 = in->cur; + goto yy19; + default: + in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt4 = in->yyt5 = in->cur; + goto yy13; + } +yy13: + s1 = in->yyt1; + s2 = in->yyt2; + u1 = in->yyt9; + u2 = in->yyt10; + h1 = in->yyt11; + h2 = in->yyt12; + h3 = in->yyt13; + h4 = in->yyt14; + h5 = in->yyt15; + h6 = in->yyt16; + r1 = in->yyt17; + r2 = in->yyt18; + p1 = in->yyt19; + p2 = in->yyt3; + p3 = in->yyt4; + p4 = in->yyt5; + q1 = in->yyt20; + q2 = in->yyt6; + f1 = in->yyt7; + f2 = in->yyt8; + { + ++c; + printf("URI %ld:\n", c); + printf(" scheme: %.*s\n", (int)(s2 - s1), s1); + if (u1) printf(" userinfo: %.*s\n", (int)(u2 - u1), u1); + if (h1) printf(" host: %.*s (IP literal)\n", (int)(h2 - h1), h1); + if (h3) printf(" host: %.*s (IPv4)\n", (int)(h4 - h3), h3); + if (h5) printf(" host: %.*s (name)\n", (int)(h6 - h5), h5); + if (r1) printf(" port: %.*s\n", (int)(r2 - r1), r1); + if (p1) printf(" path: %.*s\n", (int)(p2 - p1), p1); + if (p3) printf(" path: %.*s\n", (int)(p4 - p3), p3); + if (q1) printf(" query: %.*s\n", (int)(q2 - q1), q1); + if (f1) printf(" fragment: %.*s\n", (int)(f2 - f1), f1); + printf("\n"); + goto loop; + } +yy14: + yyaccept = 2; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2; + yych = *in->cur; +yy15: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy14; + case '#': + in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt5 = in->cur; + goto yy16; + case '%': goto yy17; + case '?': + in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL; + in->yyt5 = in->cur; + goto yy19; + default: + in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL; + in->yyt5 = in->cur; + goto yy13; + } +yy16: + yyaccept = 3; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': + in->yyt7 = in->cur; + goto yy20; + case '%': + in->yyt7 = in->cur; + goto yy22; + default: + in->yyt7 = in->yyt8 = in->cur; + goto yy13; + } +yy17: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy23; + default: goto yy11; + } +yy18: + yyaccept = 2; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '/': goto yy24; + default: goto yy15; + } +yy19: + yyaccept = 4; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': + in->yyt20 = in->cur; + goto yy25; + case '#': + in->yyt6 = in->yyt20 = in->cur; + goto yy16; + case '%': + in->yyt20 = in->cur; + goto yy27; + default: + in->yyt7 = in->yyt8 = NULL; + in->yyt6 = in->yyt20 = in->cur; + goto yy13; + } +yy20: + yyaccept = 5; + in->mar = ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': goto yy20; + case '%': goto yy22; + default: + in->yyt8 = in->cur; + goto yy13; + } +yy22: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy28; + default: goto yy11; + } +yy23: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy14; + default: goto yy11; + } +yy24: + yyaccept = 6; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + 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': + 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': + case '~': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt15 = in->cur; + goto yy29; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy16; + case '%': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt15 = in->cur; + goto yy31; + case '/': + in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy32; + case '0': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt13 = in->yyt15 = in->cur; + goto yy34; + case '1': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt13 = in->yyt15 = in->cur; + goto yy35; + case '2': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt13 = in->yyt15 = in->cur; + goto yy36; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt9 = in->yyt10 = NULL; + in->yyt3 = in->yyt13 = in->yyt15 = in->cur; + goto yy37; + case ':': + in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy19; + case '@': + in->yyt3 = in->yyt10 = in->cur; + goto yy39; + case '[': + in->yyt9 = in->yyt10 = NULL; + in->yyt11 = in->cur; + goto yy40; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + } +yy25: + yyaccept = 7; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2; + yych = *in->cur; + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': goto yy25; + case '#': + in->yyt6 = in->cur; + goto yy16; + case '%': goto yy27; + default: + in->yyt7 = in->yyt8 = NULL; + in->yyt6 = in->cur; + goto yy13; + } +yy27: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy41; + default: goto yy11; + } +yy28: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy20; + default: goto yy11; + } +yy29: + yyaccept = 8; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 53) if (fill(in, 53) != 0) return 2; + yych = *in->cur; +yy30: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy29; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy16; + case '%': goto yy31; + case '/': + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt16 = in->yyt19 = in->cur; + goto yy32; + case ':': + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL; + in->yyt16 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy19; + case '@': + in->yyt10 = in->cur; + goto yy39; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + } +yy31: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy42; + default: goto yy11; + } +yy32: + yyaccept = 9; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2; + yych = *in->cur; + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy32; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL; + in->yyt3 = in->cur; + goto yy16; + case '%': goto yy43; + case '?': + in->yyt4 = in->yyt5 = NULL; + in->yyt3 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->cur; + goto yy13; + } +yy34: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy44; + default: goto yy30; + } +yy35: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy44; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy37; + default: goto yy30; + } +yy36: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy44; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy37; + case '5': goto yy45; + case '6': + case '7': + case '8': + case '9': goto yy34; + default: goto yy30; + } +yy37: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy44; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy34; + default: goto yy30; + } +yy38: + yyaccept = 10; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy47; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt17 = in->cur; + goto yy49; + case '?': + in->yyt4 = in->yyt5 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + } +yy39: + yyaccept = 11; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + 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': + 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': + case '~': + in->yyt15 = in->cur; + goto yy51; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy16; + case '%': + in->yyt15 = in->cur; + goto yy53; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy32; + case '0': + in->yyt13 = in->yyt15 = in->cur; + goto yy54; + case '1': + in->yyt13 = in->yyt15 = in->cur; + goto yy55; + case '2': + in->yyt13 = in->yyt15 = in->cur; + goto yy56; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt13 = in->yyt15 = in->cur; + goto yy57; + case ':': + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL; + in->yyt15 = in->yyt16 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy19; + case '[': + in->yyt9 = in->yyt3; + in->yyt11 = in->cur; + goto yy40; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + } +yy40: + yych = *++in->cur; + 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 yy59; + case ':': goto yy60; + case 'v': goto yy61; + default: goto yy11; + } +yy41: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy25; + default: goto yy11; + } +yy42: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy29; + default: goto yy11; + } +yy43: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy62; + default: goto yy11; + } +yy44: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy63; + case '1': goto yy64; + case '2': goto yy65; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy66; + default: goto yy30; + } +yy45: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy44; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy34; + default: goto yy30; + } +yy46: + ++in->cur; + if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2; + yych = *in->cur; +yy47: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy46; + case '%': goto yy48; + case '@': + in->yyt10 = in->cur; + goto yy39; + default: goto yy11; + } +yy48: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy67; + default: goto yy11; + } +yy49: + yyaccept = 12; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2; + yych = *in->cur; + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + 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': + 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': + case '~': goto yy46; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy16; + case '%': goto yy48; + case '/': + in->yyt18 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy49; + case '?': + in->yyt4 = in->yyt5 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy19; + case '@': + in->yyt10 = in->cur; + goto yy39; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + } +yy51: + yyaccept = 13; + in->mar = ++in->cur; + if ((in->lim - in->cur) < 4) if (fill(in, 4) != 0) return 2; + yych = *in->cur; +yy52: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy51; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy16; + case '%': goto yy53; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt16 = in->yyt19 = in->cur; + goto yy32; + case ':': + in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL; + in->yyt16 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt16 = in->yyt19 = in->cur; + goto yy13; + } +yy53: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy11; + } +yy54: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy69; + default: goto yy52; + } +yy55: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy52; + } +yy56: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy57; + case '5': goto yy70; + case '6': + case '7': + case '8': + case '9': goto yy54; + default: goto yy52; + } +yy57: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy54; + default: goto yy52; + } +yy58: + yych = *++in->cur; + switch (yych) { + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt17 = in->cur; + goto yy71; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + } +yy59: + yych = *++in->cur; + 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 yy73; + case ':': goto yy74; + default: goto yy11; + } +yy60: + yych = *++in->cur; + switch (yych) { + case ':': goto yy75; + default: goto yy11; + } +yy61: + yych = *++in->cur; + switch (yych) { + case '.': goto yy11; + default: goto yy77; + } +yy62: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy32; + default: goto yy11; + } +yy63: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy78; + default: goto yy30; + } +yy64: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy78; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy66; + default: goto yy30; + } +yy65: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy78; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy66; + case '5': goto yy79; + case '6': + case '7': + case '8': + case '9': goto yy63; + default: goto yy30; + } +yy66: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy78; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy63; + default: goto yy30; + } +yy67: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy46; + default: goto yy11; + } +yy68: + ++in->cur; + if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2; + yych = *in->cur; + 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 yy51; + default: goto yy11; + } +yy69: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy80; + case '1': goto yy81; + case '2': goto yy82; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy83; + default: goto yy52; + } +yy70: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy54; + default: goto yy52; + } +yy71: + ++in->cur; + if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2; + yych = *in->cur; + switch (yych) { + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt18 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy71; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = in->cur; + goto yy13; + } +yy73: + yych = *++in->cur; + 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 yy84; + case ':': goto yy74; + default: goto yy11; + } +yy74: + yych = *++in->cur; + 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 yy85; + case ':': goto yy86; + default: goto yy11; + } +yy75: + yych = *++in->cur; + switch (yych) { + case '0': goto yy87; + case '1': goto yy88; + case '2': goto yy89; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy90; + 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 yy91; + case ']': goto yy92; + default: goto yy11; + } +yy76: + ++in->cur; + if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2; + yych = *in->cur; +yy77: + switch (yych) { + case '.': goto yy93; + 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 yy11; + } +yy78: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy94; + case '1': goto yy95; + case '2': goto yy96; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy97; + default: goto yy30; + } +yy79: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy78; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy63; + default: goto yy30; + } +yy80: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy98; + default: goto yy52; + } +yy81: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy83; + default: goto yy52; + } +yy82: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy83; + case '5': goto yy99; + case '6': + case '7': + case '8': + case '9': goto yy80; + default: goto yy52; + } +yy83: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy80; + default: goto yy52; + } +yy84: + yych = *++in->cur; + 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 yy100; + case ':': goto yy74; + default: goto yy11; + } +yy85: + yych = *++in->cur; + 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 yy101; + case ':': goto yy102; + default: goto yy11; + } +yy86: + yych = *++in->cur; + switch (yych) { + case '0': goto yy103; + case '1': goto yy104; + case '2': goto yy105; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy106; + 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 yy107; + case ']': goto yy92; + default: goto yy11; + } +yy87: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy109; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy88: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy111; + case ':': goto yy110; + 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 yy109; + case ']': goto yy92; + default: goto yy11; + } +yy89: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy111; + case '5': goto yy112; + case '6': + case '7': + case '8': + case '9': goto yy113; + case ':': goto yy110; + 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 yy109; + case ']': goto yy92; + default: goto yy11; + } +yy90: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy113; + case ':': goto yy110; + 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 yy109; + case ']': goto yy92; + default: goto yy11; + } +yy91: + yych = *++in->cur; + 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 yy109; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy92: + yych = *++in->cur; + switch (yych) { + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt12 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt12 = in->yyt19 = in->cur; + goto yy32; + case ':': + in->yyt3 = in->yyt9; + in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = NULL; + in->yyt12 = in->cur; + goto yy58; + case '?': + in->yyt4 = in->yyt5 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt12 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt12 = in->yyt19 = in->cur; + goto yy13; + } +yy93: + yych = *++in->cur; + switch (yych) { + case ']': goto yy11; + default: goto yy115; + } +yy94: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy116; + default: goto yy30; + } +yy95: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy116; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy97; + default: goto yy30; + } +yy96: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy116; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy97; + case '5': goto yy117; + case '6': + case '7': + case '8': + case '9': goto yy94; + default: goto yy30; + } +yy97: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy116; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy94; + default: goto yy30; + } +yy98: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy118; + case '1': goto yy119; + case '2': goto yy120; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy121; + default: goto yy52; + } +yy99: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy80; + default: goto yy52; + } +yy100: + yych = *++in->cur; + switch (yych) { + case ':': goto yy74; + default: goto yy11; + } +yy101: + yych = *++in->cur; + 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 yy122; + case ':': goto yy102; + default: goto yy11; + } +yy102: + yych = *++in->cur; + 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 yy123; + case ':': goto yy124; + default: goto yy11; + } +yy103: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy125; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy104: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy127; + case ':': goto yy126; + 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 yy125; + case ']': goto yy92; + default: goto yy11; + } +yy105: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy127; + case '5': goto yy128; + case '6': + case '7': + case '8': + case '9': goto yy129; + case ':': goto yy126; + 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 yy125; + case ']': goto yy92; + default: goto yy11; + } +yy106: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy129; + case ':': goto yy126; + 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 yy125; + case ']': goto yy92; + default: goto yy11; + } +yy107: + yych = *++in->cur; + 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 yy125; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy108: + yych = *++in->cur; + switch (yych) { + case '0': goto yy130; + case '1': goto yy131; + case '2': goto yy132; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy133; + default: goto yy11; + } +yy109: + yych = *++in->cur; + 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 yy134; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy110: + yych = *++in->cur; + switch (yych) { + case '0': goto yy103; + case '1': goto yy104; + case '2': goto yy105; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy106; + 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 yy107; + default: goto yy11; + } +yy111: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy135; + case ':': goto yy110; + 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 yy134; + case ']': goto yy92; + default: goto yy11; + } +yy112: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy135; + 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 yy134; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy113: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy134; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy114: + ++in->cur; + if ((in->lim - in->cur) < 5) if (fill(in, 5) != 0) return 2; + yych = *in->cur; +yy115: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy114; + case ']': goto yy92; + default: goto yy11; + } +yy116: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy136; + case '1': goto yy137; + case '2': goto yy138; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy139; + default: goto yy30; + } +yy117: + yyaccept = 8; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy116; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy94; + default: goto yy30; + } +yy118: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy140; + default: goto yy52; + } +yy119: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy140; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy121; + default: goto yy52; + } +yy120: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy140; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy121; + case '5': goto yy141; + case '6': + case '7': + case '8': + case '9': goto yy118; + default: goto yy52; + } +yy121: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy140; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy118; + default: goto yy52; + } +yy122: + yych = *++in->cur; + 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 yy142; + case ':': goto yy102; + default: goto yy11; + } +yy123: + yych = *++in->cur; + 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 yy143; + case ':': goto yy144; + default: goto yy11; + } +yy124: + yych = *++in->cur; + switch (yych) { + case '0': goto yy145; + case '1': goto yy146; + case '2': goto yy147; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy148; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy149; + case ']': goto yy92; + default: goto yy11; + } +yy125: + yych = *++in->cur; + 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 yy150; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy126: + yych = *++in->cur; + switch (yych) { + case '0': goto yy145; + case '1': goto yy146; + case '2': goto yy147; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy148; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy149; + default: goto yy11; + } +yy127: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy151; + case ':': goto yy126; + 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 yy150; + case ']': goto yy92; + default: goto yy11; + } +yy128: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy151; + 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 yy150; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy129: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy150; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy130: + yych = *++in->cur; + switch (yych) { + case '.': goto yy152; + default: goto yy11; + } +yy131: + yych = *++in->cur; + switch (yych) { + case '.': goto yy152; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy133; + default: goto yy11; + } +yy132: + yych = *++in->cur; + switch (yych) { + case '.': goto yy152; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy133; + case '5': goto yy153; + case '6': + case '7': + case '8': + case '9': goto yy130; + default: goto yy11; + } +yy133: + yych = *++in->cur; + switch (yych) { + case '.': goto yy152; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy130; + default: goto yy11; + } +yy134: + yych = *++in->cur; + 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 yy154; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy135: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy154; + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy136: + yyaccept = 14; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + case '=': + 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': + 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': + case '~': goto yy30; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy137: + yyaccept = 14; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + case '=': + 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': + 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': + case '~': goto yy30; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy139; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy138: + yyaccept = 14; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + case '=': + 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': + 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': + case '~': goto yy30; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy139; + case '5': goto yy155; + case '6': + case '7': + case '8': + case '9': goto yy136; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy139: + yyaccept = 14; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + case '=': + 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': + 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': + case '~': goto yy30; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy136; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy140: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '0': goto yy156; + case '1': goto yy157; + case '2': goto yy158; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy159; + default: goto yy52; + } +yy141: + yyaccept = 13; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '.': goto yy140; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy118; + default: goto yy52; + } +yy142: + yych = *++in->cur; + switch (yych) { + case ':': goto yy102; + default: goto yy11; + } +yy143: + yych = *++in->cur; + 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 yy160; + case ':': goto yy144; + default: goto yy11; + } +yy144: + yych = *++in->cur; + 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 yy161; + case ':': goto yy162; + default: goto yy11; + } +yy145: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy163; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy146: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy165; + case ':': goto yy164; + 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 yy163; + case ']': goto yy92; + default: goto yy11; + } +yy147: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy165; + case '5': goto yy166; + case '6': + case '7': + case '8': + case '9': goto yy167; + case ':': goto yy164; + 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 yy163; + case ']': goto yy92; + default: goto yy11; + } +yy148: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy167; + case ':': goto yy164; + 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 yy163; + case ']': goto yy92; + default: goto yy11; + } +yy149: + yych = *++in->cur; + 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 yy163; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy150: + yych = *++in->cur; + 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 yy168; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy151: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy168; + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy152: + yych = *++in->cur; + switch (yych) { + case '0': goto yy169; + case '1': goto yy170; + case '2': goto yy171; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy172; + default: goto yy11; + } +yy153: + yych = *++in->cur; + switch (yych) { + case '.': goto yy152; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy130; + default: goto yy11; + } +yy154: + yych = *++in->cur; + switch (yych) { + case ':': goto yy110; + case ']': goto yy92; + default: goto yy11; + } +yy155: + yyaccept = 14; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '6': + case '7': + case '8': + case '9': + case ';': + case '=': + 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': + 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': + case '~': goto yy30; + case '#': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy136; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy38; + case '?': + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy156: + yyaccept = 15; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy52; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy157: + yyaccept = 15; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + 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': + 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': + case '~': goto yy52; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy159; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy158: + yyaccept = 15; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + 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': + 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': + case '~': goto yy52; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy159; + case '5': goto yy173; + case '6': + case '7': + case '8': + case '9': goto yy156; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy159: + yyaccept = 15; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ';': + 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': + 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': + case '~': goto yy52; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy156; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy160: + yych = *++in->cur; + 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 ':': goto yy144; + default: goto yy11; + } +yy161: + yych = *++in->cur; + 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 yy175; + case ':': goto yy176; + default: goto yy11; + } +yy162: + yych = *++in->cur; + switch (yych) { + case '0': goto yy177; + case '1': goto yy178; + case '2': goto yy179; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy180; + 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 yy181; + case ']': goto yy92; + default: goto yy11; + } +yy163: + yych = *++in->cur; + 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 yy182; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy164: + yych = *++in->cur; + switch (yych) { + case '0': goto yy177; + case '1': goto yy178; + case '2': goto yy179; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy180; + 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 yy181; + default: goto yy11; + } +yy165: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy183; + case ':': goto yy164; + 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 yy182; + case ']': goto yy92; + default: goto yy11; + } +yy166: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy183; + 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 yy182; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy167: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy182; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy168: + yych = *++in->cur; + switch (yych) { + case ':': goto yy126; + case ']': goto yy92; + default: goto yy11; + } +yy169: + yych = *++in->cur; + switch (yych) { + case '.': goto yy184; + default: goto yy11; + } +yy170: + yych = *++in->cur; + switch (yych) { + case '.': goto yy184; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy172; + default: goto yy11; + } +yy171: + yych = *++in->cur; + switch (yych) { + case '.': goto yy184; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy172; + case '5': goto yy185; + case '6': + case '7': + case '8': + case '9': goto yy169; + default: goto yy11; + } +yy172: + yych = *++in->cur; + switch (yych) { + case '.': goto yy184; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy169; + default: goto yy11; + } +yy173: + yyaccept = 15; + yych = *(in->mar = ++in->cur); + switch (yych) { + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy52; + case '#': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy16; + case '/': + in->yyt9 = in->yyt3; + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt14 = in->yyt19 = in->cur; + goto yy32; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy156; + case ':': + in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL; + in->yyt14 = in->cur; + goto yy58; + case '?': + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy19; + default: + in->yyt9 = in->yyt3; + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL; + in->yyt3 = in->yyt14 = in->yyt19 = in->cur; + goto yy13; + } +yy174: + yych = *++in->cur; + switch (yych) { + case ':': goto yy144; + default: goto yy11; + } +yy175: + yych = *++in->cur; + 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 yy186; + case ':': goto yy176; + default: goto yy11; + } +yy176: + yych = *++in->cur; + 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 yy187; + case ':': goto yy188; + default: goto yy11; + } +yy177: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy189; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy178: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy191; + case ':': goto yy190; + 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 yy189; + case ']': goto yy92; + default: goto yy11; + } +yy179: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy191; + case '5': goto yy192; + case '6': + case '7': + case '8': + case '9': goto yy193; + case ':': goto yy190; + 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 yy189; + case ']': goto yy92; + default: goto yy11; + } +yy180: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy193; + case ':': goto yy190; + 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 yy189; + case ']': goto yy92; + default: goto yy11; + } +yy181: + yych = *++in->cur; + 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 yy189; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy182: + yych = *++in->cur; + 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 yy194; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy183: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy194; + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy184: + yych = *++in->cur; + switch (yych) { + case '0': goto yy195; + case '1': goto yy196; + case '2': goto yy197; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy198; + default: goto yy11; + } +yy185: + yych = *++in->cur; + switch (yych) { + case '.': goto yy184; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy169; + default: goto yy11; + } +yy186: + yych = *++in->cur; + 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 yy199; + case ':': goto yy176; + default: goto yy11; + } +yy187: + yych = *++in->cur; + 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 yy200; + case ':': goto yy201; + default: goto yy11; + } +yy188: + yych = *++in->cur; + switch (yych) { + case '0': goto yy202; + case '1': goto yy203; + case '2': goto yy204; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy205; + 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 yy206; + case ']': goto yy92; + default: goto yy11; + } +yy189: + yych = *++in->cur; + 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 yy207; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy190: + yych = *++in->cur; + switch (yych) { + case '0': goto yy202; + case '1': goto yy203; + case '2': goto yy204; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy205; + 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 yy206; + default: goto yy11; + } +yy191: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy208; + case ':': goto yy190; + 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 yy207; + case ']': goto yy92; + default: goto yy11; + } +yy192: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy208; + 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 yy207; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy193: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy207; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy194: + yych = *++in->cur; + switch (yych) { + case ':': goto yy164; + case ']': goto yy92; + default: goto yy11; + } +yy195: + yych = *++in->cur; + switch (yych) { + case ']': goto yy92; + default: goto yy11; + } +yy196: + yych = *++in->cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy198; + case ']': goto yy92; + default: goto yy11; + } +yy197: + yych = *++in->cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy198; + case '5': goto yy209; + case '6': + case '7': + case '8': + case '9': goto yy195; + case ']': goto yy92; + default: goto yy11; + } +yy198: + yych = *++in->cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy195; + case ']': goto yy92; + default: goto yy11; + } +yy199: + yych = *++in->cur; + switch (yych) { + case ':': goto yy176; + default: goto yy11; + } +yy200: + yych = *++in->cur; + 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 yy210; + case ':': goto yy201; + default: goto yy11; + } +yy201: + yych = *++in->cur; + 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 yy211; + case ':': goto yy212; + default: goto yy11; + } +yy202: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy213; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy203: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy215; + case ':': goto yy214; + 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 yy213; + case ']': goto yy92; + default: goto yy11; + } +yy204: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy215; + case '5': goto yy216; + case '6': + case '7': + case '8': + case '9': goto yy217; + case ':': goto yy214; + 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 yy213; + case ']': goto yy92; + default: goto yy11; + } +yy205: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy217; + case ':': goto yy214; + 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 yy213; + case ']': goto yy92; + default: goto yy11; + } +yy206: + yych = *++in->cur; + 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 yy213; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy207: + yych = *++in->cur; + 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 yy218; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy208: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy218; + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy209: + yych = *++in->cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy195; + case ']': goto yy92; + default: goto yy11; + } +yy210: + yych = *++in->cur; + 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 yy219; + case ':': goto yy201; + default: goto yy11; + } +yy211: + yych = *++in->cur; + 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 yy220; + case ':': goto yy221; + default: goto yy11; + } +yy212: + yych = *++in->cur; + switch (yych) { + case '0': goto yy222; + case '1': goto yy223; + case '2': goto yy224; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy225; + 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 yy226; + case ']': goto yy92; + default: goto yy11; + } +yy213: + yych = *++in->cur; + 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 yy227; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy214: + yych = *++in->cur; + switch (yych) { + case '0': goto yy222; + case '1': goto yy223; + case '2': goto yy224; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy225; + 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 yy226; + default: goto yy11; + } +yy215: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy228; + case ':': goto yy214; + 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 yy227; + case ']': goto yy92; + default: goto yy11; + } +yy216: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy228; + 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 yy227; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy217: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy227; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy218: + yych = *++in->cur; + switch (yych) { + case ':': goto yy190; + case ']': goto yy92; + default: goto yy11; + } +yy219: + yych = *++in->cur; + switch (yych) { + case ':': goto yy201; + default: goto yy11; + } +yy220: + yych = *++in->cur; + 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 yy229; + case ':': goto yy221; + default: goto yy11; + } +yy221: + yych = *++in->cur; + switch (yych) { + case '0': goto yy230; + case '1': goto yy231; + case '2': goto yy232; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy233; + case ':': goto yy234; + 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 yy235; + default: goto yy11; + } +yy222: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy236; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy223: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy238; + case ':': goto yy237; + 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 yy236; + case ']': goto yy92; + default: goto yy11; + } +yy224: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy238; + case '5': goto yy239; + case '6': + case '7': + case '8': + case '9': goto yy240; + case ':': goto yy237; + 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 yy236; + case ']': goto yy92; + default: goto yy11; + } +yy225: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy240; + case ':': goto yy237; + 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 yy236; + case ']': goto yy92; + default: goto yy11; + } +yy226: + yych = *++in->cur; + 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 yy236; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy227: + yych = *++in->cur; + 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 yy241; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy228: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy241; + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy229: + yych = *++in->cur; + 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 yy242; + case ':': goto yy221; + default: goto yy11; + } +yy230: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy243; + case ':': goto yy244; + default: goto yy11; + } +yy231: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy245; + case ':': goto yy244; + 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 yy243; + default: goto yy11; + } +yy232: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy245; + case '5': goto yy246; + case '6': + case '7': + case '8': + case '9': goto yy247; + case ':': goto yy244; + 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 yy243; + default: goto yy11; + } +yy233: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy247; + case ':': goto yy244; + 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 yy243; + default: goto yy11; + } +yy234: + yych = *++in->cur; + 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 yy248; + case ']': goto yy92; + default: goto yy11; + } +yy235: + yych = *++in->cur; + 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 yy243; + case ':': goto yy244; + default: goto yy11; + } +yy236: + yych = *++in->cur; + 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 yy249; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy237: + yych = *++in->cur; + 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 yy248; + default: goto yy11; + } +yy238: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy250; + case ':': goto yy237; + 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 yy249; + case ']': goto yy92; + default: goto yy11; + } +yy239: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy250; + 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 yy249; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy240: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy249; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy241: + yych = *++in->cur; + switch (yych) { + case ':': goto yy214; + case ']': goto yy92; + default: goto yy11; + } +yy242: + yych = *++in->cur; + switch (yych) { + case ':': goto yy221; + default: goto yy11; + } +yy243: + yych = *++in->cur; + 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 yy251; + case ':': goto yy244; + default: goto yy11; + } +yy244: + yych = *++in->cur; + 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 yy248; + case ':': goto yy195; + default: goto yy11; + } +yy245: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy252; + case ':': goto yy244; + 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 yy251; + default: goto yy11; + } +yy246: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy252; + 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 yy251; + case ':': goto yy244; + default: goto yy11; + } +yy247: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy251; + case ':': goto yy244; + default: goto yy11; + } +yy248: + yych = *++in->cur; + 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 yy253; + case ']': goto yy92; + default: goto yy11; + } +yy249: + yych = *++in->cur; + 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 yy254; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy250: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy254; + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy251: + yych = *++in->cur; + 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 yy255; + case ':': goto yy244; + default: goto yy11; + } +yy252: + yych = *++in->cur; + switch (yych) { + case '.': goto yy108; + 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 yy255; + case ':': goto yy244; + default: goto yy11; + } +yy253: + yych = *++in->cur; + 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 yy256; + case ']': goto yy92; + default: goto yy11; + } +yy254: + yych = *++in->cur; + switch (yych) { + case ':': goto yy237; + case ']': goto yy92; + default: goto yy11; + } +yy255: + yych = *++in->cur; + switch (yych) { + case ':': goto yy244; + default: goto yy11; + } +yy256: + yych = *++in->cur; + 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 yy195; + case ']': goto yy92; + default: goto yy11; + } +} + +} + +int main(int argc, char **argv) +{ + long count; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs\n", count); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill error\n"); break; + default: fprintf(stderr, "panic\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 135: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'h6' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 135: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/examples/10_uri_rfc3986.i--tags.re b/re2c/test/examples/10_uri_rfc3986.i--tags.re new file mode 100644 index 00000000..c1438139 --- /dev/null +++ b/re2c/test/examples/10_uri_rfc3986.i--tags.re @@ -0,0 +1,169 @@ +#include +#include +#include + +/*!max:re2c*/ +static const size_t SIZE = 4096; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + /*!stags:re2c format = "char *@@;\n"; */ + int eof; +} input_t; + +static void init_input(input_t *in, const char *fname) +{ + in->file = fopen(fname, "r"); + in->buf = (char*) malloc(SIZE + YYMAXFILL); + in->lim = in->buf + SIZE; + in->cur = in->lim; + in->mar = in->lim; + in->tok = in->lim; + /*!stags:re2c format = "in->@@ = 0;\n"; */ + in->eof = 0; +} + +static void free_input(input_t *in) +{ + free(in->buf); + fclose(in->file); +} + +static int fill(input_t *in, size_t need) +{ + size_t free; + if (in->eof) return 1; + + free = in->tok - in->buf; + if (free < need) return 2; + + memmove(in->buf, in->tok, in->lim - in->tok); + in->lim -= free; + in->cur -= free; + in->mar -= free; + in->tok -= free; + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + SIZE) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static int lex(input_t *in, long *count) +{ + const char + *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1, + *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2; + long c; + + c = 0; +loop: + in->tok = in->cur; +/*!re2c + + re2c:define:YYCTYPE = char; + re2c:define:YYCURSOR = in->cur; + re2c:define:YYMARKER = in->mar; + re2c:define:YYLIMIT = in->lim; + re2c:define:YYFILL = "if (fill(in, @@) != 0) return 2;"; + re2c:define:YYFILL:naked = 1; + re2c:tags:expression = "in->@@"; + + end = "\x00"; + eol = "\n"; + + alpha = [a-zA-Z]; + digit = [0-9]; + hexdigit = [0-9a-fA-F]; + unreserved = alpha | digit | [-._~]; + pct_encoded = "%" hexdigit{2}; + sub_delims = [!$&'()*+,;=]; + pchar = unreserved | pct_encoded | sub_delims | [:@]; + + scheme = @s1 alpha (alpha | digit | [-+.])* @s2; + userinfo = @u1 (unreserved | pct_encoded | sub_delims | ":")* @u2; + dec_octet + = digit + | [\x31-\x39] digit + | "1" digit{2} + | "2" [\x30-\x34] digit + | "25" [\x30-\x35]; + ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet; + h16 = hexdigit{1,4}; + ls32 = h16 ":" h16 | ipv4address; + ipv6address + = (h16 ":"){6} ls32 + | "::" (h16 ":"){5} ls32 + | ( h16)? "::" (h16 ":"){4} ls32 + | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32 + | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32 + | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32 + | ((h16 ":"){0,4} h16)? "::" ls32 + | ((h16 ":"){0,5} h16)? "::" h16 + | ((h16 ":"){0,6} h16)? "::"; + ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+; + ip_literal = "[" ( ipv6address | ipvfuture ) "]"; + reg_name = (unreserved | pct_encoded | sub_delims)*; + host + = @h1 ip_literal @h2 + | @h3 ipv4address @h4 + | @h5 reg_name @h6; + port = @r1 digit* @r2; + authority = (userinfo "@")? host (":" port)?; + path_abempty = ("/" pchar*)*; + path_absolute = "/" (pchar+ ("/" pchar*)*)?; + path_rootless = pchar+ ("/" pchar*)*; + path_empty = ""; + hier_part + = "//" authority @p1 path_abempty @p2 + | @p3 (path_absolute | path_rootless | path_empty) @p4; + query = @q1 (pchar | [/?])* @q2; + fragment = @f1 (pchar | [/?])* @f2; + uri = scheme ":" hier_part ("?" query)? ("#" fragment)?; + + * { return 1; } + end { *count = c; return 0; } + eol { goto loop; } + uri { + ++c; + printf("URI %ld:\n", c); + printf(" scheme: %.*s\n", (int)(s2 - s1), s1); + if (u1) printf(" userinfo: %.*s\n", (int)(u2 - u1), u1); + if (h1) printf(" host: %.*s (IP literal)\n", (int)(h2 - h1), h1); + if (h3) printf(" host: %.*s (IPv4)\n", (int)(h4 - h3), h3); + if (h5) printf(" host: %.*s (name)\n", (int)(h6 - h5), h5); + if (r1) printf(" port: %.*s\n", (int)(r2 - r1), r1); + if (p1) printf(" path: %.*s\n", (int)(p2 - p1), p1); + if (p3) printf(" path: %.*s\n", (int)(p4 - p3), p3); + if (q1) printf(" query: %.*s\n", (int)(q2 - q1), q1); + if (f1) printf(" fragment: %.*s\n", (int)(f2 - f1), f1); + printf("\n"); + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs\n", count); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill error\n"); break; + default: fprintf(stderr, "panic\n"); break; + } + + free_input(&in); + return 0; +} diff --git a/re2c/test/examples/11_http_rfc7230.i--tags.c b/re2c/test/examples/11_http_rfc7230.i--tags.c new file mode 100644 index 00000000..0d0c8a58 --- /dev/null +++ b/re2c/test/examples/11_http_rfc7230.i--tags.c @@ -0,0 +1,13267 @@ +/* Generated by re2c */ +#include +#include +#include + +typedef struct mtag_t { + struct mtag_t *pred; + long dist; +} mtag_t; + +typedef struct mtagpool_t { + mtag_t *head; + mtag_t *next; + mtag_t *last; +} mtagpool_t; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + char *yyt1; +char *yyt10; +char *yyt11; +char *yyt12; +char *yyt13; +char *yyt14; +char *yyt15; +char *yyt16; +char *yyt17; +char *yyt18; +char *yyt19; +char *yyt2; +char *yyt20; +char *yyt21; +char *yyt22; +char *yyt23; +char *yyt24; +char *yyt25; +char *yyt26; +char *yyt27; +char *yyt28; +char *yyt29; +char *yyt3; +char *yyt30; +char *yyt31; +char *yyt32; +char *yyt33; +char *yyt34; +char *yyt35; +char *yyt4; +char *yyt5; +char *yyt6; +char *yyt7; +char *yyt8; +char *yyt9; + + mtag_t *yyt36; +mtag_t *yyt37; +mtag_t *yyt38; +mtag_t *yyt39; +mtag_t *yyt40; +mtag_t *yyt41; +mtag_t *yyt42; + + mtagpool_t mtp; + int eof; +} input_t; + +static void mtagpool_clear(mtagpool_t *mtp, input_t *in) +{ + mtp->next = mtp->head; + in->yyt36 = 0; +in->yyt37 = 0; +in->yyt38 = 0; +in->yyt39 = 0; +in->yyt40 = 0; +in->yyt41 = 0; +in->yyt42 = 0; + +} + +static void mtagpool_init(mtagpool_t *mtp) +{ + static const unsigned size = 1024 * 1024; + mtp->head = (mtag_t*)malloc(size * sizeof(mtag_t)); + mtp->next = mtp->head; + mtp->last = mtp->head + size; +} + +static void mtagpool_free(mtagpool_t *mtp) +{ + free(mtp->head); + mtp->head = mtp->next = mtp->last = NULL; +} + +static mtag_t *mtagpool_next(mtagpool_t *mtp) +{ + unsigned size; + mtag_t *head; + + if (mtp->next < mtp->last) return mtp->next++; + + size = mtp->last - mtp->head; + head = (mtag_t*)malloc(2 * size * sizeof(mtag_t)); + memcpy(head, mtp->head, size * sizeof(mtag_t)); + free(mtp->head); + mtp->head = head; + mtp->next = head + size; + mtp->last = head + size * 2; + return mtp->next++; +} + +static void mtag(mtag_t **pmt, const char *b, const char *t, mtagpool_t *mtp) +{ + mtag_t *mt = mtagpool_next(mtp); + mt->pred = *pmt; + mt->dist = t - b; + *pmt = mt; +} + +#define YYMAXFILL 66 + +static const size_t SIZE = 4096; + +static void init_input(input_t *in, const char *fname) +{ + in->file = fopen(fname, "r"); + in->buf = (char*) malloc(SIZE + YYMAXFILL); + in->lim = in->buf + SIZE; + in->cur = in->lim; + in->mar = in->lim; + in->tok = in->lim; + in->yyt1 = 0; +in->yyt10 = 0; +in->yyt11 = 0; +in->yyt12 = 0; +in->yyt13 = 0; +in->yyt14 = 0; +in->yyt15 = 0; +in->yyt16 = 0; +in->yyt17 = 0; +in->yyt18 = 0; +in->yyt19 = 0; +in->yyt2 = 0; +in->yyt20 = 0; +in->yyt21 = 0; +in->yyt22 = 0; +in->yyt23 = 0; +in->yyt24 = 0; +in->yyt25 = 0; +in->yyt26 = 0; +in->yyt27 = 0; +in->yyt28 = 0; +in->yyt29 = 0; +in->yyt3 = 0; +in->yyt30 = 0; +in->yyt31 = 0; +in->yyt32 = 0; +in->yyt33 = 0; +in->yyt34 = 0; +in->yyt35 = 0; +in->yyt4 = 0; +in->yyt5 = 0; +in->yyt6 = 0; +in->yyt7 = 0; +in->yyt8 = 0; +in->yyt9 = 0; + + in->yyt36 = 0; +in->yyt37 = 0; +in->yyt38 = 0; +in->yyt39 = 0; +in->yyt40 = 0; +in->yyt41 = 0; +in->yyt42 = 0; + + mtagpool_init(&in->mtp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + mtagpool_free(&in->mtp); +} + +static int fill(input_t *in, size_t need) +{ + size_t free; + if (in->eof) return 1; + + free = in->tok - in->buf; + if (free < need) return 2; + + memmove(in->buf, in->tok, in->lim - in->tok); + in->lim -= free; + in->cur -= free; + in->mar -= free; + in->tok -= free; + if (in->yyt1) in->yyt1 -= free; +if (in->yyt10) in->yyt10 -= free; +if (in->yyt11) in->yyt11 -= free; +if (in->yyt12) in->yyt12 -= free; +if (in->yyt13) in->yyt13 -= free; +if (in->yyt14) in->yyt14 -= free; +if (in->yyt15) in->yyt15 -= free; +if (in->yyt16) in->yyt16 -= free; +if (in->yyt17) in->yyt17 -= free; +if (in->yyt18) in->yyt18 -= free; +if (in->yyt19) in->yyt19 -= free; +if (in->yyt2) in->yyt2 -= free; +if (in->yyt20) in->yyt20 -= free; +if (in->yyt21) in->yyt21 -= free; +if (in->yyt22) in->yyt22 -= free; +if (in->yyt23) in->yyt23 -= free; +if (in->yyt24) in->yyt24 -= free; +if (in->yyt25) in->yyt25 -= free; +if (in->yyt26) in->yyt26 -= free; +if (in->yyt27) in->yyt27 -= free; +if (in->yyt28) in->yyt28 -= free; +if (in->yyt29) in->yyt29 -= free; +if (in->yyt3) in->yyt3 -= free; +if (in->yyt30) in->yyt30 -= free; +if (in->yyt31) in->yyt31 -= free; +if (in->yyt32) in->yyt32 -= free; +if (in->yyt33) in->yyt33 -= free; +if (in->yyt34) in->yyt34 -= free; +if (in->yyt35) in->yyt35 -= free; +if (in->yyt4) in->yyt4 -= free; +if (in->yyt5) in->yyt5 -= free; +if (in->yyt6) in->yyt6 -= free; +if (in->yyt7) in->yyt7 -= free; +if (in->yyt8) in->yyt8 -= free; +if (in->yyt9) in->yyt9 -= free; + + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + SIZE) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static void print_headers(const char *tok, + const mtag_t *h1, const mtag_t *h2, + const mtag_t *h3, const mtag_t *h4, + const mtag_t *h5) +{ + if (!h1) return; + print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred); + printf("%.*s%.*s%.*s%.*s\n", + (int)(h2->dist - h1->dist), tok + h1->dist, + (int)(h3->dist - h2->dist), tok + h2->dist, + (int)(h4->dist - h3->dist), tok + h3->dist, + (int)(h5->dist - h4->dist), tok + h4->dist); +} + +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(mt) mtag(&mt, in->tok, in->cur, &in->mtp) +#define YYMTAGN(mt) mtag(&mt, in->tok, NULL, &in->mtp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count) +{ + const char *of, *au, *at, + *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3, + *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4, + *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3, + *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4; + mtag_t *h1, *h2, *h3, *h4, *h5; + long c; + + c = 0;; + of = au = at + = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3 + = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4 + = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3 + = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL; +loop: + in->tok = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 66) YYFILL(66); + yych = *YYCURSOR; + switch (yych) { + case 0x00: goto yy2; + case '\n': goto yy6; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '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 '_': + 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': + case '|': + case '~': + in->yyt1 = YYCURSOR; + goto yy8; + case 'H': + in->yyt1 = in->yyt30 = YYCURSOR; + goto yy9; + default: goto yy4; + } +yy2: + ++YYCURSOR; + { *count = c; return 0; } +yy4: + ++YYCURSOR; +yy5: + { return 1; } +yy6: + ++YYCURSOR; + { goto loop; } +yy8: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ' ': + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': goto yy13; + default: goto yy5; + } +yy9: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ' ': + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '^': + case '_': + 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': + case '|': + case '~': goto yy13; + case 'T': goto yy14; + default: goto yy5; + } +yy10: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt3 = in->yyt11 = in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + case '=': + case '_': + case '~': + in->yyt4 = in->yyt10 = NULL; + in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR; + goto yy16; + case '%': + in->yyt4 = in->yyt10 = NULL; + in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR; + goto yy18; + case '/': + in->yyt27 = YYCURSOR; + goto yy19; + case ':': + in->yyt4 = in->yyt10 = NULL; + in->yyt3 = in->yyt5 = in->yyt11 = in->yyt12 = YYCURSOR; + goto yy21; + case '?': + in->yyt27 = in->yyt28 = YYCURSOR; + goto yy22; + case '@': + in->yyt3 = in->yyt5 = in->yyt10 = YYCURSOR; + goto yy23; + 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 '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': + in->yyt4 = in->yyt10 = NULL; + in->yyt3 = in->yyt5 = in->yyt11 = in->yyt14 = YYCURSOR; + goto yy24; + case '[': + in->yyt4 = in->yyt10 = NULL; + in->yyt3 = in->yyt11 = YYCURSOR; + goto yy26; + default: goto yy11; + } +yy11: + YYCURSOR = YYMARKER; + goto yy5; +yy12: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62); + yych = *YYCURSOR; +yy13: + switch (yych) { + case ' ': + in->yyt2 = YYCURSOR; + goto yy10; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': goto yy12; + default: goto yy11; + } +yy14: + yych = *++YYCURSOR; + switch (yych) { + case 'T': goto yy27; + default: goto yy13; + } +yy15: + yych = *++YYCURSOR; + switch (yych) { + case 'H': + in->yyt8 = YYCURSOR; + goto yy28; + default: goto yy11; + } +yy16: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy16; + case '%': goto yy18; + case ':': + in->yyt12 = YYCURSOR; + goto yy21; + case '@': + in->yyt10 = YYCURSOR; + goto yy23; + default: goto yy11; + } +yy18: + ++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 yy29; + default: goto yy11; + } +yy19: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt29 = NULL; + in->yyt28 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy19; + case '%': goto yy30; + case '?': + in->yyt28 = YYCURSOR; + goto yy22; + default: goto yy11; + } +yy21: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = in->yyt13 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt13 = YYCURSOR; + goto yy34; + default: goto yy32; + } +yy22: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL; + in->yyt7 = in->yyt29 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': + in->yyt29 = YYCURSOR; + goto yy36; + case '%': + in->yyt29 = YYCURSOR; + goto yy38; + default: goto yy11; + } +yy23: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt11 = in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': + in->yyt11 = YYCURSOR; + goto yy39; + case '%': + in->yyt11 = YYCURSOR; + goto yy41; + case ':': + in->yyt11 = in->yyt12 = YYCURSOR; + goto yy42; + case '[': + in->yyt4 = in->yyt5; + in->yyt11 = YYCURSOR; + goto yy26; + default: goto yy11; + } +yy24: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 65) YYFILL(65); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case ',': + case ';': + case '=': + case '_': + case '~': goto yy16; + case '%': goto yy18; + case '+': + case '-': + case '.': + 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 '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 yy24; + case ':': + in->yyt12 = in->yyt15 = YYCURSOR; + goto yy43; + case '@': + in->yyt10 = YYCURSOR; + goto yy23; + default: goto yy11; + } +yy26: + 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 yy44; + case ':': goto yy45; + case 'v': goto yy46; + default: goto yy11; + } +yy27: + yych = *++YYCURSOR; + switch (yych) { + case 'P': goto yy47; + default: goto yy13; + } +yy28: + yych = *++YYCURSOR; + switch (yych) { + case 'T': goto yy48; + default: goto yy11; + } +yy29: + ++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 yy16; + default: goto yy11; + } +yy30: + ++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 yy49; + default: goto yy11; + } +yy31: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60); + yych = *YYCURSOR; +yy32: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy31; + case '%': goto yy33; + case '@': + in->yyt10 = YYCURSOR; + goto yy23; + default: goto yy11; + } +yy33: + ++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 yy50; + default: goto yy11; + } +yy34: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + 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': + 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': + case '~': goto yy31; + case '%': goto yy33; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy34; + case '@': + in->yyt10 = YYCURSOR; + goto yy23; + default: goto yy11; + } +yy36: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL; + in->yyt7 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': goto yy36; + case '%': goto yy38; + default: goto yy11; + } +yy38: + ++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 yy51; + default: goto yy11; + } +yy39: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy39; + case '%': goto yy41; + case ':': + in->yyt12 = YYCURSOR; + goto yy42; + default: goto yy11; + } +yy41: + ++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 yy52; + default: goto yy11; + } +yy42: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = in->yyt13 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt13 = YYCURSOR; + goto yy53; + default: goto yy11; + } +yy43: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = in->yyt13 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + 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': + 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': + case '~': + in->yyt24 = YYCURSOR; + goto yy55; + case '%': + in->yyt24 = YYCURSOR; + goto yy57; + case '/': + in->yyt24 = YYCURSOR; + goto yy58; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt13 = in->yyt24 = YYCURSOR; + goto yy59; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt24 = in->yyt25 = YYCURSOR; + goto yy61; + case '@': + in->yyt10 = in->yyt24 = YYCURSOR; + goto yy62; + default: goto yy11; + } +yy44: + 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 yy63; + case ':': goto yy64; + default: goto yy11; + } +yy45: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy65; + default: goto yy11; + } +yy46: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy11; + default: goto yy67; + } +yy47: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy68; + default: goto yy13; + } +yy48: + yych = *++YYCURSOR; + switch (yych) { + case 'T': goto yy69; + default: goto yy11; + } +yy49: + ++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 yy19; + default: goto yy11; + } +yy50: + ++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 yy31; + default: goto yy11; + } +yy51: + ++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 yy36; + default: goto yy11; + } +yy52: + ++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 yy39; + default: goto yy11; + } +yy53: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy53; + default: goto yy11; + } +yy55: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt25 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy55; + case '%': goto yy57; + case '/': goto yy70; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt25 = YYCURSOR; + goto yy61; + case '@': + in->yyt10 = YYCURSOR; + goto yy62; + default: goto yy11; + } +yy57: + ++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 yy72; + default: goto yy11; + } +yy58: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy74; + default: goto yy71; + } +yy59: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + 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': + 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': + case '~': goto yy55; + case '%': goto yy57; + case '/': goto yy70; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy59; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt25 = YYCURSOR; + goto yy61; + case '@': + in->yyt10 = YYCURSOR; + goto yy62; + default: goto yy11; + } +yy61: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt6 = in->yyt26 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': + in->yyt26 = YYCURSOR; + goto yy75; + case '%': + in->yyt26 = YYCURSOR; + goto yy77; + default: goto yy11; + } +yy62: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt11 = in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': + in->yyt11 = YYCURSOR; + goto yy78; + case '%': + in->yyt11 = YYCURSOR; + goto yy80; + case ':': + in->yyt11 = in->yyt12 = YYCURSOR; + goto yy81; + case '[': + in->yyt4 = in->yyt5; + in->yyt11 = YYCURSOR; + goto yy26; + default: goto yy79; + } +yy63: + 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 yy82; + case ':': goto yy64; + default: goto yy11; + } +yy64: + 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; + case ':': goto yy84; + default: goto yy11; + } +yy65: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy85; + case '1': goto yy86; + case '2': goto yy87; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy88; + 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 yy89; + case ']': goto yy90; + default: goto yy11; + } +yy66: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; +yy67: + switch (yych) { + case '.': goto yy91; + 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 yy66; + default: goto yy11; + } +yy68: + 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 yy92; + default: goto yy11; + } +yy69: + yych = *++YYCURSOR; + switch (yych) { + case 'P': goto yy93; + default: goto yy11; + } +yy70: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; +yy71: + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt25 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy70; + case '%': goto yy73; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt25 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy72: + ++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 yy55; + default: goto yy11; + } +yy73: + ++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 yy94; + default: goto yy11; + } +yy74: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': + in->yyt16 = in->yyt17 = NULL; + in->yyt3 = in->yyt18 = YYCURSOR; + goto yy95; + case '%': + in->yyt16 = in->yyt17 = NULL; + in->yyt3 = in->yyt18 = YYCURSOR; + goto yy97; + case '/': + in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR; + goto yy98; + case ':': + in->yyt16 = in->yyt17 = NULL; + in->yyt3 = in->yyt18 = in->yyt19 = YYCURSOR; + goto yy100; + case '?': + in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + case '@': + in->yyt3 = in->yyt17 = YYCURSOR; + goto yy101; + case '[': + in->yyt16 = in->yyt17 = NULL; + in->yyt18 = YYCURSOR; + goto yy102; + default: goto yy11; + } +yy75: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt6 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + case '?': + 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': + 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': + case '~': goto yy75; + case '%': goto yy77; + default: goto yy11; + } +yy77: + ++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 yy103; + default: goto yy11; + } +yy78: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy79: + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt12 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy78; + case '%': goto yy80; + case '/': + case '@': goto yy70; + case ':': + in->yyt12 = YYCURSOR; + goto yy81; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt25 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy80: + ++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 yy104; + default: goto yy11; + } +yy81: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = in->yyt13 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt13 = YYCURSOR; + goto yy105; + default: goto yy71; + } +yy82: + 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 yy107; + case ':': goto yy64; + default: goto yy11; + } +yy83: + 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 yy108; + case ':': goto yy109; + default: goto yy11; + } +yy84: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy110; + case '1': goto yy111; + case '2': goto yy112; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy113; + 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 yy114; + case ']': goto yy90; + default: goto yy11; + } +yy85: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy116; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy86: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy118; + case ':': goto yy117; + 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 yy116; + case ']': goto yy90; + default: goto yy11; + } +yy87: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy118; + case '5': goto yy119; + case '6': + case '7': + case '8': + case '9': goto yy120; + case ':': goto yy117; + 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 yy116; + case ']': goto yy90; + default: goto yy11; + } +yy88: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy120; + case ':': goto yy117; + 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 yy116; + case ']': goto yy90; + default: goto yy11; + } +yy89: + 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 yy116; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy90: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt12 = YYCURSOR; + goto yy15; + case ':': + in->yyt5 = in->yyt4; + in->yyt12 = YYCURSOR; + goto yy42; + default: goto yy11; + } +yy91: + yych = *++YYCURSOR; + switch (yych) { + case ']': goto yy11; + default: goto yy122; + } +yy92: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy123; + default: goto yy11; + } +yy93: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy124; + default: goto yy11; + } +yy94: + ++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 yy70; + default: goto yy11; + } +yy95: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy95; + case '%': goto yy97; + case '/': + in->yyt20 = in->yyt21 = NULL; + in->yyt19 = in->yyt22 = YYCURSOR; + goto yy98; + case ':': + in->yyt19 = YYCURSOR; + goto yy100; + case '?': + in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + case '@': + in->yyt17 = YYCURSOR; + goto yy101; + default: goto yy11; + } +yy97: + ++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 yy125; + default: goto yy11; + } +yy98: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy98; + case '%': goto yy126; + case '?': + in->yyt24 = in->yyt25 = NULL; + in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy100: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '/': + in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR; + goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt20 = YYCURSOR; + goto yy130; + case '?': + in->yyt24 = in->yyt25 = NULL; + in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy128; + } +yy101: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt16 = in->yyt3; + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': + in->yyt18 = YYCURSOR; + goto yy132; + case '%': + in->yyt18 = YYCURSOR; + goto yy134; + case '/': + in->yyt16 = in->yyt3; + in->yyt20 = in->yyt21 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR; + goto yy98; + case ':': + in->yyt18 = in->yyt19 = YYCURSOR; + goto yy135; + case '?': + in->yyt16 = in->yyt3; + in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL; + in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + case '[': + in->yyt16 = in->yyt3; + in->yyt18 = YYCURSOR; + goto yy102; + default: goto yy11; + } +yy102: + 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 yy136; + case ':': goto yy137; + case 'v': goto yy138; + default: goto yy11; + } +yy103: + ++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 yy75; + default: goto yy11; + } +yy104: + ++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 yy78; + default: goto yy11; + } +yy105: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = in->yyt5; + in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt5 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case ':': + case ';': + case '=': + 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': + 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': + case '~': goto yy70; + case '%': goto yy73; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy105; + case '?': + in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL; + in->yyt25 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy107: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy64; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy139; + case ':': goto yy109; + default: goto yy11; + } +yy109: + 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 yy140; + case ':': goto yy141; + default: goto yy11; + } +yy110: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy142; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy111: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy144; + case ':': goto yy143; + 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 yy142; + case ']': goto yy90; + default: goto yy11; + } +yy112: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy144; + case '5': goto yy145; + case '6': + case '7': + case '8': + case '9': goto yy146; + case ':': goto yy143; + 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 yy142; + case ']': goto yy90; + default: goto yy11; + } +yy113: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy146; + case ':': goto yy143; + 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 yy142; + case ']': goto yy90; + default: goto yy11; + } +yy114: + 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 yy142; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy115: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy147; + case '1': goto yy148; + case '2': goto yy149; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy150; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy151; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy117: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy110; + case '1': goto yy111; + case '2': goto yy112; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy113; + 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 yy114; + default: goto yy11; + } +yy118: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy152; + case ':': goto yy117; + 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 yy151; + case ']': goto yy90; + default: goto yy11; + } +yy119: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy152; + 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 yy151; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy120: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy151; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy121: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy122: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy121; + case ']': goto yy90; + default: goto yy11; + } +yy123: + 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 yy153; + default: goto yy11; + } +yy124: + 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 yy154; + default: goto yy11; + } +yy125: + ++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 yy11; + } +yy126: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy155; + default: goto yy11; + } +yy127: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61); + yych = *YYCURSOR; +yy128: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy127; + case '%': goto yy129; + case '@': + in->yyt17 = YYCURSOR; + goto yy101; + default: goto yy11; + } +yy129: + ++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 yy156; + default: goto yy11; + } +yy130: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case ':': + case ';': + 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': + 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': + case '~': goto yy127; + case '%': goto yy129; + case '/': + in->yyt21 = in->yyt22 = YYCURSOR; + goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy130; + case '?': + in->yyt24 = in->yyt25 = NULL; + in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + case '@': + in->yyt17 = YYCURSOR; + goto yy101; + default: goto yy11; + } +yy132: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt16 = in->yyt3; + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ';': + 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': + 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': + case '~': goto yy132; + case '%': goto yy134; + case '/': + in->yyt16 = in->yyt3; + in->yyt20 = in->yyt21 = NULL; + in->yyt19 = in->yyt22 = YYCURSOR; + goto yy98; + case ':': + in->yyt19 = YYCURSOR; + goto yy135; + case '?': + in->yyt16 = in->yyt3; + in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy134: + ++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 yy157; + default: goto yy11; + } +yy135: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt16 = in->yyt3; + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '/': + in->yyt16 = in->yyt3; + in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR; + goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt20 = YYCURSOR; + goto yy158; + case '?': + in->yyt16 = in->yyt3; + in->yyt24 = in->yyt25 = NULL; + in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy136: + 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 yy160; + case ':': goto yy161; + default: goto yy11; + } +yy137: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy162; + default: goto yy11; + } +yy138: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy11; + default: goto yy164; + } +yy139: + 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 yy165; + case ':': goto yy109; + default: goto yy11; + } +yy140: + 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 yy166; + case ':': goto yy167; + default: goto yy11; + } +yy141: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy168; + case '1': goto yy169; + case '2': goto yy170; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy171; + 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 yy172; + case ']': goto yy90; + default: goto yy11; + } +yy142: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy173; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy143: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy168; + case '1': goto yy169; + case '2': goto yy170; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy171; + 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 yy172; + default: goto yy11; + } +yy144: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy174; + case ':': goto yy143; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy173; + case ']': goto yy90; + default: goto yy11; + } +yy145: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy174; + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy173; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy146: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy173; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy147: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy175; + default: goto yy11; + } +yy148: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy175; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy150; + default: goto yy11; + } +yy149: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy175; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy150; + case '5': goto yy176; + case '6': + case '7': + case '8': + case '9': goto yy147; + default: goto yy11; + } +yy150: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy175; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy147; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy177; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy152: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy177; + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy153: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt31 = YYCURSOR; + goto yy178; + default: goto yy11; + } +yy154: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy179; + default: goto yy11; + } +yy155: + ++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 yy98; + default: goto yy11; + } +yy156: + ++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 yy127; + default: goto yy11; + } +yy157: + ++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 yy132; + default: goto yy11; + } +yy158: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt16 = in->yyt3; + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '/': + in->yyt16 = in->yyt3; + in->yyt21 = in->yyt22 = YYCURSOR; + goto yy98; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy158; + case '?': + in->yyt16 = in->yyt3; + in->yyt24 = in->yyt25 = NULL; + in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy160: + 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 yy180; + case ':': goto yy161; + default: goto yy11; + } +yy161: + 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 yy181; + case ':': goto yy182; + default: goto yy11; + } +yy162: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy183; + case '1': goto yy184; + case '2': goto yy185; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy186; + 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 yy187; + case ']': goto yy188; + default: goto yy11; + } +yy163: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; +yy164: + switch (yych) { + case '.': goto yy189; + 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 yy163; + default: goto yy11; + } +yy165: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy109; + default: goto yy11; + } +yy166: + 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 yy190; + case ':': goto yy167; + default: goto yy11; + } +yy167: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + 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 yy191; + case ':': goto yy192; + default: goto yy11; + } +yy168: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy193; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy169: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy195; + case ':': goto yy194; + 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 yy193; + case ']': goto yy90; + default: goto yy11; + } +yy170: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy195; + case '5': goto yy196; + case '6': + case '7': + case '8': + case '9': goto yy197; + case ':': goto yy194; + 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 yy193; + case ']': goto yy90; + default: goto yy11; + } +yy171: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy197; + case ':': goto yy194; + 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 yy193; + case ']': goto yy90; + default: goto yy11; + } +yy172: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy193; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy173: + 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 yy198; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy174: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy198; + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy175: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy199; + case '1': goto yy200; + case '2': goto yy201; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy202; + default: goto yy11; + } +yy176: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy175; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy147; + default: goto yy11; + } +yy177: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy117; + case ']': goto yy90; + default: goto yy11; + } +yy178: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + in->yyt32 = YYCURSOR; + goto yy203; + default: goto yy11; + } +yy179: + 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 yy204; + default: goto yy11; + } +yy180: + 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 yy205; + case ':': goto yy161; + default: goto yy11; + } +yy181: + 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 yy206; + case ':': goto yy207; + default: goto yy11; + } +yy182: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy208; + case '1': goto yy209; + case '2': goto yy210; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy211; + 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 yy212; + case ']': goto yy188; + default: goto yy11; + } +yy183: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy214; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy184: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy216; + case ':': goto yy215; + 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 yy214; + case ']': goto yy188; + default: goto yy11; + } +yy185: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy216; + case '5': goto yy217; + case '6': + case '7': + case '8': + case '9': goto yy218; + case ':': goto yy215; + 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 yy214; + case ']': goto yy188; + default: goto yy11; + } +yy186: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy218; + case ':': goto yy215; + 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 yy214; + case ']': goto yy188; + default: goto yy11; + } +yy187: + 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 yy214; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy188: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy15; + case '/': + in->yyt20 = in->yyt21 = NULL; + in->yyt19 = in->yyt22 = YYCURSOR; + goto yy98; + case ':': + in->yyt3 = in->yyt16; + in->yyt19 = YYCURSOR; + goto yy135; + case '?': + in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL; + in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR; + goto yy61; + default: goto yy11; + } +yy189: + yych = *++YYCURSOR; + switch (yych) { + case ']': goto yy11; + default: goto yy220; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy221; + case ':': goto yy167; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy222; + case ':': goto yy223; + default: goto yy11; + } +yy192: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy224; + case '1': goto yy225; + case '2': goto yy226; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy227; + 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 yy228; + case ']': goto yy90; + default: goto yy11; + } +yy193: + 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 yy229; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy194: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy224; + case '1': goto yy225; + case '2': goto yy226; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy227; + 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 yy228; + default: goto yy11; + } +yy195: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy230; + case ':': goto yy194; + 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 yy229; + case ']': goto yy90; + default: goto yy11; + } +yy196: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy230; + 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 yy229; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy197: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy229; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy198: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy143; + case ']': goto yy90; + default: goto yy11; + } +yy199: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy231; + default: goto yy11; + } +yy200: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy231; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy202; + default: goto yy11; + } +yy201: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy231; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy202; + case '5': goto yy232; + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy11; + } +yy202: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy231; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy11; + } +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': goto yy233; + default: goto yy11; + } +yy204: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + in->yyt9 = YYCURSOR; + goto yy234; + default: goto yy11; + } +yy205: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy161; + default: goto yy11; + } +yy206: + 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 yy235; + case ':': goto yy207; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy236; + case ':': goto yy237; + default: goto yy11; + } +yy208: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy238; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy209: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy240; + case ':': goto yy239; + 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 yy238; + case ']': goto yy188; + default: goto yy11; + } +yy210: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy240; + case '5': goto yy241; + case '6': + case '7': + case '8': + case '9': goto yy242; + case ':': goto yy239; + 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 yy238; + case ']': goto yy188; + default: goto yy11; + } +yy211: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy242; + case ':': goto yy239; + 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 yy238; + case ']': goto yy188; + default: goto yy11; + } +yy212: + 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 yy238; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy213: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy243; + case '1': goto yy244; + case '2': goto yy245; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy246; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy247; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy215: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy208; + case '1': goto yy209; + case '2': goto yy210; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy211; + 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 yy212; + default: goto yy11; + } +yy216: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy248; + case ':': goto yy215; + 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 yy247; + case ']': goto yy188; + default: goto yy11; + } +yy217: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy248; + 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 yy247; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy218: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy247; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy219: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); + yych = *YYCURSOR; +yy220: + switch (yych) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + 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': + 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': + case '~': goto yy219; + case ']': goto yy188; + default: goto yy11; + } +yy221: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy167; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy249; + case ':': goto yy223; + default: goto yy11; + } +yy223: + 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 yy250; + case ':': goto yy251; + default: goto yy11; + } +yy224: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy252; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy225: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy254; + case ':': goto yy253; + 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 yy252; + case ']': goto yy90; + default: goto yy11; + } +yy226: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy254; + case '5': goto yy255; + case '6': + case '7': + case '8': + case '9': goto yy256; + case ':': goto yy253; + 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 yy252; + case ']': goto yy90; + default: goto yy11; + } +yy227: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy256; + case ':': goto yy253; + 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 yy252; + case ']': goto yy90; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy252; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy229: + 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 yy257; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy230: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy257; + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy231: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy258; + case '1': goto yy259; + case '2': goto yy260; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy261; + default: goto yy11; + } +yy232: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy231; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy199; + default: goto yy11; + } +yy233: + 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 yy262; + default: goto yy11; + } +yy234: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + YYMTAGN (in->yyt40); + YYMTAGN (in->yyt39); + YYMTAGN (in->yyt38); + YYMTAGN (in->yyt37); + YYMTAGN (in->yyt36); + in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL; + goto yy263; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': + YYMTAGP (in->yyt36); + in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL; + goto yy265; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy267; + case ':': goto yy207; + default: goto yy11; + } +yy236: + 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 yy268; + case ':': goto yy269; + default: goto yy11; + } +yy237: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy270; + case '1': goto yy271; + case '2': goto yy272; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy273; + 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 yy274; + case ']': goto yy188; + default: goto yy11; + } +yy238: + 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 yy275; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy239: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy270; + case '1': goto yy271; + case '2': goto yy272; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy273; + 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 yy274; + default: goto yy11; + } +yy240: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy276; + case ':': goto yy239; + 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 yy275; + case ']': goto yy188; + default: goto yy11; + } +yy241: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy276; + 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 yy275; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy242: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy275; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy243: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy277; + default: goto yy11; + } +yy244: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy277; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy246; + default: goto yy11; + } +yy245: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy277; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy246; + case '5': goto yy278; + case '6': + case '7': + case '8': + case '9': goto yy243; + default: goto yy11; + } +yy246: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy277; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy243; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy279; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy248: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy279; + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy280; + case ':': goto yy223; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy281; + case ':': goto yy282; + default: goto yy11; + } +yy251: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy283; + case '1': goto yy284; + case '2': goto yy285; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy286; + 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 yy287; + case ']': goto yy90; + default: goto yy11; + } +yy252: + 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 yy288; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy253: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy283; + case '1': goto yy284; + case '2': goto yy285; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy286; + 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 yy287; + default: goto yy11; + } +yy254: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy289; + case ':': goto yy253; + 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 yy288; + case ']': goto yy90; + default: goto yy11; + } +yy255: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy289; + 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 yy288; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy256: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy288; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy257: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy194; + case ']': goto yy90; + default: goto yy11; + } +yy258: + yych = *++YYCURSOR; + switch (yych) { + case ']': goto yy90; + default: goto yy11; + } +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': goto yy261; + case ']': goto yy90; + default: goto yy11; + } +yy260: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy261; + case '5': goto yy290; + case '6': + case '7': + case '8': + case '9': goto yy258; + case ']': goto yy90; + default: goto yy11; + } +yy261: + 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 yy258; + case ']': goto yy90; + default: goto yy11; + } +yy262: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt33 = YYCURSOR; + goto yy291; + default: goto yy11; + } +yy263: + ++YYCURSOR; + m1 = in->yyt1; + m2 = in->yyt2; + at = in->yyt3; + u3 = in->yyt4; + u4 = in->yyt10; + hs3 = in->yyt11; + hs4 = in->yyt12; + r3 = in->yyt13; + r4 = in->yyt5; + au = in->yyt14; + s1 = in->yyt14; + s2 = in->yyt15; + u1 = in->yyt16; + u2 = in->yyt17; + hs1 = in->yyt18; + hs2 = in->yyt19; + r1 = in->yyt20; + r2 = in->yyt21; + p1 = in->yyt22; + p2 = in->yyt23; + p3 = in->yyt24; + p4 = in->yyt25; + q1 = in->yyt26; + q2 = in->yyt6; + of = in->yyt27; + p5 = in->yyt27; + p6 = in->yyt28; + q3 = in->yyt29; + q4 = in->yyt7; + v3 = in->yyt8; + v4 = in->yyt9; + v1 = in->yyt30; + v2 = in->yyt31; + st1 = in->yyt32; + st2 = in->yyt33; + rp1 = in->yyt34; + rp2 = in->yyt35; + h1 = in->yyt36; + h2 = in->yyt37; + h3 = in->yyt38; + h4 = in->yyt39; + h5 = in->yyt40; + { + ++c; + if (st1) { + printf("%.*s %.*s %.*s\n", + (int)(v2 - v1), v1, + (int)(st2 - st1), st1, + (int)(rp2 - rp1), rp1); + } else if (m1) { + printf("%.*s ", (int)(m2 - m1), m1); + if (of) { + printf("%.*s", (int)(p6 - p5), p5); + if (q3) printf("?%.*s", (int)(q4 - q3), q3); + } else if (au) { + printf("%.*s:", (int)(s2 - s1), s1); + if (p1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + printf("%.*s", (int)(hs2 - hs1), hs1); + if (r1) printf(":%.*s", (int)(r2 - r1), r1); + if (p1) printf("%.*s", (int)(p2 - p1), p1); + if (p3) printf("%.*s", (int)(p4 - p3), p3); + if (q1) printf("?%.*s", (int)(q2 - q1), q1); + } else if (at) { + if (u3) printf("%.*s@", (int)(u4 - u3), u3); + printf("%.*s", (int)(hs4 - hs3), hs3); + if (r3) printf(":%.*s", (int)(r4 - r3), r3); + } else { + printf("*"); + } + printf(" %.*s\n", (int)(v4 - v3), v3); + } + print_headers(in->tok, h1, h2, h3, h4, h5); + printf("\n"); + mtagpool_clear(&in->mtp, in); + goto loop; + } +yy265: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': goto yy265; + case ':': + YYMTAGP (in->yyt37); + goto yy292; + default: goto yy11; + } +yy267: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy207; + default: goto yy11; + } +yy268: + 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 yy294; + case ':': goto yy269; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy295; + case ':': goto yy296; + default: goto yy11; + } +yy270: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy297; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy271: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy299; + case ':': goto yy298; + 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 yy297; + case ']': goto yy188; + default: goto yy11; + } +yy272: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy299; + case '5': goto yy300; + case '6': + case '7': + case '8': + case '9': goto yy301; + case ':': goto yy298; + 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 yy297; + case ']': goto yy188; + default: goto yy11; + } +yy273: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy301; + case ':': goto yy298; + 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 yy297; + case ']': goto yy188; + default: goto yy11; + } +yy274: + 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 yy297; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy302; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy276: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy302; + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy277: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy303; + case '1': goto yy304; + case '2': goto yy305; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy306; + default: goto yy11; + } +yy278: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy277; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy243; + default: goto yy11; + } +yy279: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy215; + case ']': goto yy188; + default: goto yy11; + } +yy280: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy223; + default: goto yy11; + } +yy281: + 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 yy307; + case ':': goto yy282; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy308; + case ':': goto yy309; + default: goto yy11; + } +yy283: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy310; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy284: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy312; + case ':': goto yy311; + 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 yy310; + case ']': goto yy90; + default: goto yy11; + } +yy285: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy312; + case '5': goto yy313; + case '6': + case '7': + case '8': + case '9': goto yy314; + case ':': goto yy311; + 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 yy310; + case ']': goto yy90; + default: goto yy11; + } +yy286: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy314; + case ':': goto yy311; + 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 yy310; + case ']': goto yy90; + default: goto yy11; + } +yy287: + 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 yy310; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy315; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy289: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy315; + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy290: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy258; + case ']': goto yy90; + default: goto yy11; + } +yy291: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\n': + in->yyt34 = in->yyt35 = YYCURSOR; + goto yy318; + default: + in->yyt34 = YYCURSOR; + goto yy316; + } +yy292: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + case ' ': goto yy292; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + YYMTAGP (in->yyt38); + goto yy319; + default: + YYMTAGP (in->yyt38); + goto yy320; + } +yy294: + 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 yy322; + case ':': goto yy269; + default: goto yy11; + } +yy295: + 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 yy323; + case ':': goto yy324; + default: goto yy11; + } +yy296: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy325; + case '1': goto yy326; + case '2': goto yy327; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy328; + 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 yy329; + case ']': goto yy188; + default: goto yy11; + } +yy297: + 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 yy330; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy298: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy325; + case '1': goto yy326; + case '2': goto yy327; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy328; + 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 yy329; + default: goto yy11; + } +yy299: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy331; + case ':': goto yy298; + 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 yy330; + case ']': goto yy188; + default: goto yy11; + } +yy300: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy331; + 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 yy330; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy301: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy330; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy302: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy239; + case ']': goto yy188; + default: goto yy11; + } +yy303: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy332; + default: goto yy11; + } +yy304: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy332; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy306; + default: goto yy11; + } +yy305: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy332; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy306; + case '5': goto yy333; + case '6': + case '7': + case '8': + case '9': goto yy303; + default: goto yy11; + } +yy306: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy332; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy303; + default: goto yy11; + } +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 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy334; + case ':': goto yy282; + default: goto yy11; + } +yy308: + 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 yy335; + case ':': goto yy336; + default: goto yy11; + } +yy309: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy337; + case '1': goto yy338; + case '2': goto yy339; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy340; + 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 yy341; + case ']': goto yy90; + default: goto yy11; + } +yy310: + 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 yy342; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy311: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy337; + case '1': goto yy338; + case '2': goto yy339; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy340; + 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 yy341; + default: goto yy11; + } +yy312: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy343; + case ':': goto yy311; + 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 yy342; + case ']': goto yy90; + default: goto yy11; + } +yy313: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy343; + 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 yy342; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy314: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy342; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy315: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy253; + case ']': goto yy90; + default: goto yy11; + } +yy316: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\n': + in->yyt35 = YYCURSOR; + goto yy318; + default: goto yy316; + } +yy318: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + YYMTAGN (in->yyt40); + YYMTAGN (in->yyt39); + YYMTAGN (in->yyt38); + YYMTAGN (in->yyt37); + YYMTAGN (in->yyt36); + in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + goto yy263; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': + YYMTAGP (in->yyt36); + in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL; + goto yy265; + default: goto yy11; + } +yy319: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy344; + case '\n': + in->yyt39 = in->yyt42; + in->yyt40 = in->yyt41; + goto yy263; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': + in->yyt39 = in->yyt42; + in->yyt40 = in->yyt41; + YYMTAGP (in->yyt36); + goto yy265; + default: goto yy11; + } +yy320: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy346; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy319; + case ' ': goto yy348; + default: goto yy320; + } +yy322: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy269; + default: goto yy11; + } +yy323: + 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 yy350; + case ':': goto yy324; + default: goto yy11; + } +yy324: + 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 yy351; + case ':': goto yy352; + default: goto yy11; + } +yy325: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy353; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy326: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy355; + case ':': goto yy354; + 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 yy353; + case ']': goto yy188; + default: goto yy11; + } +yy327: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy355; + case '5': goto yy356; + case '6': + case '7': + case '8': + case '9': goto yy357; + case ':': goto yy354; + 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 yy353; + case ']': goto yy188; + default: goto yy11; + } +yy328: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy357; + case ':': goto yy354; + 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 yy353; + case ']': goto yy188; + default: goto yy11; + } +yy329: + 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 yy353; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy330: + 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 yy358; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy331: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy358; + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy332: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy359; + case '1': goto yy360; + case '2': goto yy361; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy362; + default: goto yy11; + } +yy333: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy332; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy303; + default: goto yy11; + } +yy334: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy282; + default: goto yy11; + } +yy335: + 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 yy363; + case ':': goto yy336; + default: goto yy11; + } +yy336: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy364; + case '1': goto yy365; + case '2': goto yy366; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy367; + case ':': goto yy368; + 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 yy369; + default: goto yy11; + } +yy337: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy370; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy338: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy372; + case ':': goto yy371; + 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 yy370; + case ']': goto yy90; + default: goto yy11; + } +yy339: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy372; + case '5': goto yy373; + case '6': + case '7': + case '8': + case '9': goto yy374; + case ':': goto yy371; + 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 yy370; + case ']': goto yy90; + default: goto yy11; + } +yy340: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy374; + case ':': goto yy371; + 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 yy370; + case ']': goto yy90; + default: goto yy11; + } +yy341: + 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 yy370; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy342: + 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 yy375; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy343: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy375; + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy344: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + case ' ': goto yy344; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy319; + default: goto yy320; + } +yy346: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': goto yy346; + case '\n': + YYMTAGP (in->yyt40); + goto yy376; + case ' ': goto yy348; + default: goto yy377; + } +yy348: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy346; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy319; + case ' ': goto yy348; + default: goto yy378; + } +yy350: + 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 yy379; + case ':': goto yy324; + default: goto yy11; + } +yy351: + 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 yy380; + case ':': goto yy381; + default: goto yy11; + } +yy352: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy382; + case '1': goto yy383; + case '2': goto yy384; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy385; + 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 yy386; + case ']': goto yy188; + default: goto yy11; + } +yy353: + 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 yy387; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy354: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy382; + case '1': goto yy383; + case '2': goto yy384; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy385; + 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 yy386; + default: goto yy11; + } +yy355: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy388; + case ':': goto yy354; + 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 yy387; + case ']': goto yy188; + default: goto yy11; + } +yy356: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy388; + 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 yy387; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy357: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy387; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy358: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy298; + case ']': goto yy188; + default: goto yy11; + } +yy359: + yych = *++YYCURSOR; + switch (yych) { + case ']': goto yy188; + default: goto yy11; + } +yy360: + 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 yy362; + case ']': goto yy188; + default: goto yy11; + } +yy361: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy362; + case '5': goto yy389; + case '6': + case '7': + case '8': + case '9': goto yy359; + case ']': goto yy188; + default: goto yy11; + } +yy362: + 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 yy359; + case ']': goto yy188; + default: goto yy11; + } +yy363: + 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 yy390; + case ':': goto yy336; + default: goto yy11; + } +yy364: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy391; + case ':': goto yy392; + default: goto yy11; + } +yy365: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy393; + case ':': goto yy392; + 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 yy391; + default: goto yy11; + } +yy366: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy393; + case '5': goto yy394; + case '6': + case '7': + case '8': + case '9': goto yy395; + case ':': goto yy392; + 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 yy391; + default: goto yy11; + } +yy367: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy395; + case ':': goto yy392; + 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 yy391; + default: goto yy11; + } +yy368: + 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 yy396; + case ']': goto yy90; + default: goto yy11; + } +yy369: + 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 yy391; + case ':': goto yy392; + default: goto yy11; + } +yy370: + 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 yy397; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy371: + 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 yy396; + default: goto yy11; + } +yy372: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy398; + case ':': goto yy371; + 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 yy397; + case ']': goto yy90; + default: goto yy11; + } +yy373: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy398; + 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 yy397; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy374: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy397; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy375: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy311; + case ']': goto yy90; + default: goto yy11; + } +yy376: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\n': + in->yyt39 = in->yyt42; + goto yy263; + case '!': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '*': + case '+': + case '-': + case '.': + 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 '_': + 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': + case '|': + case '~': + in->yyt39 = in->yyt42; + YYMTAGP (in->yyt36); + goto yy265; + default: goto yy11; + } +yy377: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + YYMTAGP (in->yyt39); + goto yy399; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy319; + default: goto yy320; + } +yy378: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy401; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt42); + goto yy319; + default: goto yy320; + } +yy379: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy324; + default: goto yy11; + } +yy380: + 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 yy403; + case ':': goto yy381; + default: goto yy11; + } +yy381: + 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 yy404; + case ':': goto yy405; + default: goto yy11; + } +yy382: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy406; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy383: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy408; + case ':': goto yy407; + 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 yy406; + case ']': goto yy188; + default: goto yy11; + } +yy384: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy408; + case '5': goto yy409; + case '6': + case '7': + case '8': + case '9': goto yy410; + case ':': goto yy407; + 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 yy406; + case ']': goto yy188; + default: goto yy11; + } +yy385: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy410; + case ':': goto yy407; + 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 yy406; + case ']': goto yy188; + default: goto yy11; + } +yy386: + 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 yy406; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy387: + 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 yy411; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy388: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy411; + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy389: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy359; + case ']': goto yy188; + default: goto yy11; + } +yy390: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy336; + default: goto yy11; + } +yy391: + 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 yy412; + case ':': goto yy392; + default: goto yy11; + } +yy392: + 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 yy396; + case ':': goto yy258; + default: goto yy11; + } +yy393: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy413; + case ':': goto yy392; + 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 yy412; + default: goto yy11; + } +yy394: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy413; + 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 yy412; + case ':': goto yy392; + default: goto yy11; + } +yy395: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy412; + case ':': goto yy392; + default: goto yy11; + } +yy396: + 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 yy414; + case ']': goto yy90; + default: goto yy11; + } +yy397: + 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 yy415; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy398: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy415; + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy399: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy399; + case '\n': + in->yyt42 = in->yyt39; + YYMTAGP (in->yyt40); + goto yy376; + default: goto yy11; + } +yy401: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': goto yy401; + case '\n': + YYMTAGP (in->yyt40); + goto yy376; + case ' ': goto yy416; + default: goto yy377; + } +yy403: + 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 yy418; + case ':': goto yy381; + default: goto yy11; + } +yy404: + 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 yy419; + case ':': goto yy420; + default: goto yy11; + } +yy405: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy421; + case '1': goto yy422; + case '2': goto yy423; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy424; + 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 yy425; + case ']': goto yy188; + default: goto yy11; + } +yy406: + 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 yy426; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy407: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy421; + case '1': goto yy422; + case '2': goto yy423; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy424; + 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 yy425; + default: goto yy11; + } +yy408: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy427; + case ':': goto yy407; + 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 yy426; + case ']': goto yy188; + default: goto yy11; + } +yy409: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy427; + 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 yy426; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy410: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy426; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy411: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy354; + case ']': goto yy188; + default: goto yy11; + } +yy412: + 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 yy428; + case ':': goto yy392; + default: goto yy11; + } +yy413: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy115; + 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 yy428; + case ':': goto yy392; + default: goto yy11; + } +yy414: + 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 yy429; + case ']': goto yy90; + default: goto yy11; + } +yy415: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy371; + case ']': goto yy90; + default: goto yy11; + } +yy416: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x7F: goto yy11; + case '\t': goto yy401; + case '\n': + in->yyt41 = in->yyt40; + YYMTAGP (in->yyt41); + goto yy319; + case ' ': goto yy416; + default: goto yy378; + } +yy418: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy381; + default: goto yy11; + } +yy419: + 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 yy430; + case ':': goto yy420; + default: goto yy11; + } +yy420: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy431; + case '1': goto yy432; + case '2': goto yy433; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy434; + case ':': goto yy435; + 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 yy436; + default: goto yy11; + } +yy421: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy437; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy422: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy439; + case ':': goto yy438; + 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 yy437; + case ']': goto yy188; + default: goto yy11; + } +yy423: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy439; + case '5': goto yy440; + case '6': + case '7': + case '8': + case '9': goto yy441; + case ':': goto yy438; + 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 yy437; + case ']': goto yy188; + default: goto yy11; + } +yy424: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy441; + case ':': goto yy438; + 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 yy437; + case ']': goto yy188; + default: goto yy11; + } +yy425: + 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 yy437; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy426: + 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 yy442; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy427: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy442; + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy428: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy392; + default: goto yy11; + } +yy429: + 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 yy258; + case ']': goto yy90; + default: goto yy11; + } +yy430: + 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 yy443; + case ':': goto yy420; + default: goto yy11; + } +yy431: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy444; + case ':': goto yy445; + default: goto yy11; + } +yy432: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy446; + case ':': goto yy445; + 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 yy444; + default: goto yy11; + } +yy433: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy446; + case '5': goto yy447; + case '6': + case '7': + case '8': + case '9': goto yy448; + case ':': goto yy445; + 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 yy444; + default: goto yy11; + } +yy434: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy448; + case ':': goto yy445; + 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 yy444; + default: goto yy11; + } +yy435: + 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 yy449; + case ']': goto yy188; + default: goto yy11; + } +yy436: + 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 yy444; + case ':': goto yy445; + default: goto yy11; + } +yy437: + 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 yy450; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy438: + 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 yy449; + default: goto yy11; + } +yy439: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy451; + case ':': goto yy438; + 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 yy450; + case ']': goto yy188; + default: goto yy11; + } +yy440: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy451; + 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 yy450; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy441: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy450; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy442: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy407; + case ']': goto yy188; + default: goto yy11; + } +yy443: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy420; + default: goto yy11; + } +yy444: + 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 yy452; + case ':': goto yy445; + default: goto yy11; + } +yy445: + 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 yy449; + case ':': goto yy359; + default: goto yy11; + } +yy446: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy453; + case ':': goto yy445; + 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 yy452; + default: goto yy11; + } +yy447: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy453; + 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 yy452; + case ':': goto yy445; + default: goto yy11; + } +yy448: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy452; + case ':': goto yy445; + default: goto yy11; + } +yy449: + 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 yy454; + case ']': goto yy188; + default: goto yy11; + } +yy450: + 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 yy455; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy451: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy455; + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy452: + 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 yy456; + case ':': goto yy445; + default: goto yy11; + } +yy453: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy213; + 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 yy456; + case ':': goto yy445; + default: goto yy11; + } +yy454: + 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 yy457; + case ']': goto yy188; + default: goto yy11; + } +yy455: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy438; + case ']': goto yy188; + default: goto yy11; + } +yy456: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy445; + default: goto yy11; + } +yy457: + 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 yy359; + case ']': goto yy188; + default: goto yy11; + } +} + +} + +int main(int argc, char **argv) +{ + long count; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs\n", count); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill error\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 243: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'at' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'u3' has 3rd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'u4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'hs3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'hs4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'r3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'au' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 's1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 's2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'hs1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'hs2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'h3' has 3rd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 243: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/examples/11_http_rfc7230.i--tags.re b/re2c/test/examples/11_http_rfc7230.i--tags.re new file mode 100644 index 00000000..ed14b91a --- /dev/null +++ b/re2c/test/examples/11_http_rfc7230.i--tags.re @@ -0,0 +1,296 @@ +#include +#include +#include + +typedef struct mtag_t { + struct mtag_t *pred; + long dist; +} mtag_t; + +typedef struct mtagpool_t { + mtag_t *head; + mtag_t *next; + mtag_t *last; +} mtagpool_t; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + /*!stags:re2c format = "char *@@;\n"; */ + /*!mtags:re2c format = "mtag_t *@@;\n"; */ + mtagpool_t mtp; + int eof; +} input_t; + +static void mtagpool_clear(mtagpool_t *mtp, input_t *in) +{ + mtp->next = mtp->head; + /*!mtags:re2c format = "in->@@ = 0;\n"; */ +} + +static void mtagpool_init(mtagpool_t *mtp) +{ + static const unsigned size = 1024 * 1024; + mtp->head = (mtag_t*)malloc(size * sizeof(mtag_t)); + mtp->next = mtp->head; + mtp->last = mtp->head + size; +} + +static void mtagpool_free(mtagpool_t *mtp) +{ + free(mtp->head); + mtp->head = mtp->next = mtp->last = NULL; +} + +static mtag_t *mtagpool_next(mtagpool_t *mtp) +{ + unsigned size; + mtag_t *head; + + if (mtp->next < mtp->last) return mtp->next++; + + size = mtp->last - mtp->head; + head = (mtag_t*)malloc(2 * size * sizeof(mtag_t)); + memcpy(head, mtp->head, size * sizeof(mtag_t)); + free(mtp->head); + mtp->head = head; + mtp->next = head + size; + mtp->last = head + size * 2; + return mtp->next++; +} + +static void mtag(mtag_t **pmt, const char *b, const char *t, mtagpool_t *mtp) +{ + mtag_t *mt = mtagpool_next(mtp); + mt->pred = *pmt; + mt->dist = t - b; + *pmt = mt; +} + +/*!max:re2c*/ +static const size_t SIZE = 4096; + +static void init_input(input_t *in, const char *fname) +{ + in->file = fopen(fname, "r"); + in->buf = (char*) malloc(SIZE + YYMAXFILL); + in->lim = in->buf + SIZE; + in->cur = in->lim; + in->mar = in->lim; + in->tok = in->lim; + /*!stags:re2c format = "in->@@ = 0;\n"; */ + /*!mtags:re2c format = "in->@@ = 0;\n"; */ + mtagpool_init(&in->mtp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + mtagpool_free(&in->mtp); +} + +static int fill(input_t *in, size_t need) +{ + size_t free; + if (in->eof) return 1; + + free = in->tok - in->buf; + if (free < need) return 2; + + memmove(in->buf, in->tok, in->lim - in->tok); + in->lim -= free; + in->cur -= free; + in->mar -= free; + in->tok -= free; + /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */ + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + SIZE) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static void print_headers(const char *tok, + const mtag_t *h1, const mtag_t *h2, + const mtag_t *h3, const mtag_t *h4, + const mtag_t *h5) +{ + if (!h1) return; + print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred); + printf("%.*s%.*s%.*s%.*s\n", + (int)(h2->dist - h1->dist), tok + h1->dist, + (int)(h3->dist - h2->dist), tok + h2->dist, + (int)(h4->dist - h3->dist), tok + h3->dist, + (int)(h5->dist - h4->dist), tok + h4->dist); +} + +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(mt) mtag(&mt, in->tok, in->cur, &in->mtp) +#define YYMTAGN(mt) mtag(&mt, in->tok, NULL, &in->mtp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count) +{ + const char *of, *au, *at, + *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3, + *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4, + *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3, + *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4; + mtag_t *h1, *h2, *h3, *h4, *h5; + long c; + + c = 0;; + of = au = at + = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3 + = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4 + = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3 + = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL; +loop: + in->tok = in->cur; +/*!re2c + re2c:tags:expression = "in->@@"; + + end = "\x00"; + eol = "\n"; + + crlf = eol; + sp = " "; + htab = "\t"; + ows = (sp | htab)*; + digit = [0-9]; + alpha = [a-zA-Z]; + hexdigit = [0-9a-fA-F]; + unreserved = alpha | digit | [-._~]; + pct_encoded = "%" hexdigit{2}; + sub_delims = [!$&'()*+,;=]; + pchar = unreserved | pct_encoded | sub_delims | [:@]; + vchar = [\x1f-\x7e]; + tchar = [-!#$%&'*+.^_`|~] | digit | alpha; + + obs_fold = crlf (sp | htab)+; + obs_text = [\x80-\xff]; + field_name = tchar+; + field_vchar = vchar | obs_text; + field_content = field_vchar ((sp | htab)+ field_vchar)?; + field_value = (field_content | obs_fold)*; + header_field = #h1 field_name #h2 ":" ows #h3 field_value #h4 ows #h5; + scheme = alpha (alpha | digit | [-+.])*; + userinfo = (unreserved | pct_encoded | sub_delims | ":")*; + dec_octet + = digit + | [\x31-\x39] digit + | "1" digit{2} + | "2" [\x30-\x34] digit + | "25" [\x30-\x35]; + ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet; + h16 = hexdigit{1,4}; + ls32 = h16 ":" h16 | ipv4address; + ipv6address + = (h16 ":"){6} ls32 + | "::" (h16 ":"){5} ls32 + | ( h16)? "::" (h16 ":"){4} ls32 + | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32 + | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32 + | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32 + | ((h16 ":"){0,4} h16)? "::" ls32 + | ((h16 ":"){0,5} h16)? "::" h16 + | ((h16 ":"){0,6} h16)? "::"; + ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+; + ip_literal = "[" ( ipv6address | ipvfuture ) "]"; + reg_name = (unreserved | pct_encoded | sub_delims)*; + path_abempty = ("/" pchar*)*; + path_absolute = "/" (pchar+ ("/" pchar*)*)?; + path_rootless = pchar+ ("/" pchar*)*; + path_empty = ""; + host = ip_literal | ipv4address | reg_name; + port = digit*; + query = (pchar | [/?])*; + absolute_uri = @s1 scheme @s2 ":" + ( "//" (@u1 userinfo @u2 "@")? @hs1 host @hs2 (":" @r1 port @r2)? @p1 path_abempty @p2 + | @p3 (path_absolute | path_rootless | path_empty) @p4 + ) ("?" @q1 query @q2)?; + authority = (@u3 userinfo @u4 "@")? @hs3 host @hs4 (":" @r3 port @r4)?; + origin_form = @p5 path_abempty @p6 ("?" @q3 query @q4)?; + http_name = "HTTP"; + http_version = http_name "/" digit "." digit; + request_target + = @at authority + | @au absolute_uri + | @of origin_form + | "*"; + method = tchar+; + request_line = @m1 method @m2 sp request_target sp @v3 http_version @v4 crlf; + status_code = digit{3}; + reason_phrase = (htab | sp | vchar | obs_text)*; + status_line = @v1 http_version @v2 sp @st1 status_code @st2 sp @rp1 reason_phrase @rp2 crlf; + start_line = (request_line | status_line); + message_head = start_line (header_field crlf)* crlf; + + * { return 1; } + end { *count = c; return 0; } + eol { goto loop; } + message_head { + ++c; + if (st1) { + printf("%.*s %.*s %.*s\n", + (int)(v2 - v1), v1, + (int)(st2 - st1), st1, + (int)(rp2 - rp1), rp1); + } else if (m1) { + printf("%.*s ", (int)(m2 - m1), m1); + if (of) { + printf("%.*s", (int)(p6 - p5), p5); + if (q3) printf("?%.*s", (int)(q4 - q3), q3); + } else if (au) { + printf("%.*s:", (int)(s2 - s1), s1); + if (p1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + printf("%.*s", (int)(hs2 - hs1), hs1); + if (r1) printf(":%.*s", (int)(r2 - r1), r1); + if (p1) printf("%.*s", (int)(p2 - p1), p1); + if (p3) printf("%.*s", (int)(p4 - p3), p3); + if (q1) printf("?%.*s", (int)(q2 - q1), q1); + } else if (at) { + if (u3) printf("%.*s@", (int)(u4 - u3), u3); + printf("%.*s", (int)(hs4 - hs3), hs3); + if (r3) printf(":%.*s", (int)(r4 - r3), r3); + } else { + printf("*"); + } + printf(" %.*s\n", (int)(v4 - v3), v3); + } + print_headers(in->tok, h1, h2, h3, h4, h5); + printf("\n"); + mtagpool_clear(&in->mtp, in); + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs\n", count); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill error\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} diff --git a/re2c/test/examples/12_float.i--tags.c b/re2c/test/examples/12_float.i--tags.c new file mode 100644 index 00000000..75f01f42 --- /dev/null +++ b/re2c/test/examples/12_float.i--tags.c @@ -0,0 +1,356 @@ +/* Generated by re2c */ +#include +#include + +static double lex(const char *YYCURSOR) +{ + const char *YYMARKER, *h1, *h2, *l1, *l2, *e1, *e2, *n; + long e = 0; + double d = 0; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;const char *yyt6;const char *yyt7; + +{ + char yych; + yych = *YYCURSOR; + switch (yych) { + case 0x00: + yyt2 = yyt4 = yyt5 = yyt6 = yyt7 = NULL; + yyt1 = yyt3 = YYCURSOR; + goto yy2; + case '.': + yyt1 = yyt3 = YYCURSOR; + goto yy6; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = YYCURSOR; + goto yy7; + case 'E': + case 'e': goto yy8; + default: goto yy4; + } +yy2: + ++YYCURSOR; + h1 = yyt1; + h2 = yyt3; + l1 = yyt4; + l2 = yyt5; + n = yyt7; + e1 = yyt6; + e2 = yyt2; + { + for (; e1 < e2; ++e1) e = e * 10 + *e1 - '0'; + e = (n ? -e : e) - (l2 - l1); + for (; h1 < h2; ++h1) d = d * 10 + *h1 - '0'; + for (; l1 < l2; ++l1) d = d * 10 + *l1 - '0'; + for (; e < 0; ++e) d /= 10; + for (; e > 0; --e) d *= 10; + return d; + } +yy4: + ++YYCURSOR; +yy5: + { return NAN; } +yy6: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: + yyt1 = yyt2 = yyt3 = NULL; + goto yy9; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt4 = YYCURSOR; + goto yy11; + case 'E': + case 'e': + yyt4 = yyt5 = YYCURSOR; + goto yy14; + default: goto yy5; + } +yy7: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: + yyt2 = yyt4 = yyt5 = yyt6 = yyt7 = NULL; + yyt3 = YYCURSOR; + goto yy2; + case '.': + yyt3 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy16; + case 'E': + case 'e': + yyt4 = yyt5 = NULL; + yyt3 = YYCURSOR; + goto yy14; + default: goto yy5; + } +yy8: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '+': goto yy18; + case '-': + yyt3 = YYCURSOR; + goto yy19; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt3 = NULL; + yyt2 = YYCURSOR; + goto yy20; + default: goto yy5; + } +yy9: + ++YYCURSOR; + n = yyt3; + e1 = yyt2; + e2 = yyt1; + { return NAN; } +yy11: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt2 = yyt6 = yyt7 = NULL; + yyt5 = YYCURSOR; + goto yy2; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy11; + case 'E': + case 'e': + yyt5 = YYCURSOR; + goto yy14; + default: goto yy13; + } +yy13: + YYCURSOR = YYMARKER; + goto yy5; +yy14: + yych = *++YYCURSOR; + switch (yych) { + case '+': goto yy22; + case '-': + yyt7 = YYCURSOR; + goto yy23; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt7 = NULL; + yyt6 = YYCURSOR; + goto yy24; + default: goto yy13; + } +yy15: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt2 = yyt6 = yyt7 = NULL; + yyt4 = yyt5 = YYCURSOR; + goto yy2; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt4 = YYCURSOR; + goto yy11; + case 'E': + case 'e': + yyt4 = yyt5 = YYCURSOR; + goto yy14; + default: goto yy13; + } +yy16: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt2 = yyt4 = yyt5 = yyt6 = yyt7 = NULL; + yyt3 = YYCURSOR; + goto yy2; + case '.': + yyt3 = YYCURSOR; + goto yy15; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy16; + case 'E': + case 'e': + yyt4 = yyt5 = NULL; + yyt3 = YYCURSOR; + goto yy14; + default: goto yy13; + } +yy18: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt3 = NULL; + yyt2 = YYCURSOR; + goto yy20; + default: goto yy13; + } +yy19: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt2 = YYCURSOR; + goto yy20; + default: goto yy13; + } +yy20: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt1 = YYCURSOR; + goto yy9; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy20; + default: goto yy13; + } +yy22: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt7 = NULL; + yyt6 = YYCURSOR; + goto yy24; + default: goto yy13; + } +yy23: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt6 = YYCURSOR; + goto yy24; + default: goto yy13; + } +yy24: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + yyt2 = YYCURSOR; + goto yy2; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy24; + default: goto yy13; + } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + printf("%g\n", lex(argv[i])); + } + return 0; +} diff --git a/re2c/test/examples/12_float.i--tags.re b/re2c/test/examples/12_float.i--tags.re new file mode 100644 index 00000000..1b6920c5 --- /dev/null +++ b/re2c/test/examples/12_float.i--tags.re @@ -0,0 +1,41 @@ +#include +#include + +static double lex(const char *YYCURSOR) +{ + const char *YYMARKER, *h1, *h2, *l1, *l2, *e1, *e2, *n; + long e = 0; + double d = 0; + /*!stags:re2c format = 'const char *@@;'; */ + /*!re2c + re2c:define:YYCTYPE = char; + re2c:yyfill:enable = 0; + + end = [\x00]; + dot = "."; + high = @h1 [0-9]* @h2; + low = @l1 [0-9]* @l2; + exp = 'e' ([+]? | @n [-]) @e1 [0-9]+ @e2; + + * { return NAN; } + (exp | dot) end { return NAN; } + + high (dot low)? exp? end { + for (; e1 < e2; ++e1) e = e * 10 + *e1 - '0'; + e = (n ? -e : e) - (l2 - l1); + for (; h1 < h2; ++h1) d = d * 10 + *h1 - '0'; + for (; l1 < l2; ++l1) d = d * 10 + *l1 - '0'; + for (; e < 0; ++e) d /= 10; + for (; e > 0; --e) d *= 10; + return d; + } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) { + printf("%g\n", lex(argv[i])); + } + return 0; +} diff --git a/re2c/test/examples/13_records.i--tags.c b/re2c/test/examples/13_records.i--tags.c new file mode 100644 index 00000000..b3b34260 --- /dev/null +++ b/re2c/test/examples/13_records.i--tags.c @@ -0,0 +1,1226 @@ +/* Generated by re2c */ +#include +#include +#include + +struct mtag_t +{ + int pred; + const char *tag; +}; + +typedef std::vector mtagpool_t; + +static void mtag(int *pt, const char *t, mtagpool_t *tp) +{ + mtag_t l = {*pt, t}; + *pt = (int) tp->size(); + tp->push_back(l); +} + +static void print_channels(const mtagpool_t &tp, int x, int y) +{ + if (x == -1) return; + print_channels(tp, tp[x].pred, tp[y].pred); + const char *px = tp[x].tag, *py = tp[y].tag; + printf(" %.*s\n", (int) (py - px), px); +} + +#define YYMTAGP(t) mtag(&t, YYCURSOR, &tp) +#define YYMTAGN(t) mtag(&t, NULL, &tp) + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *n1, *n2, *a1, *a2, *c1, *c2; + mtagpool_t tp; + int h1, h2; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;const char *yyt6; + int yyt7;int yyt8; +loop: + tp.clear(); + yyt7 = -1;yyt8 = -1; + +{ + char yych; + yych = *YYCURSOR; + switch (yych) { + case 0x00: goto yy2; + case '\t': + case ' ': goto yy6; + case '\n': goto yy9; + 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': + yyt1 = YYCURSOR; + goto yy10; + default: goto yy4; + } +yy2: + ++YYCURSOR; + { return 0; } +yy4: + ++YYCURSOR; +yy5: + { printf("error: %s\n", YYCURSOR); return 1; } +yy6: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy6; + default: goto yy8; + } +yy8: + { goto loop; } +yy9: + ++YYCURSOR; + goto yy8; +yy10: + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + 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': + case '{': goto yy15; + default: goto yy5; + } +yy11: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy11; + case '{': goto yy16; + default: goto yy13; + } +yy13: + YYCURSOR = YYMARKER; + goto yy5; +yy14: + yych = *++YYCURSOR; +yy15: + switch (yych) { + case '\t': + case ' ': + yyt2 = YYCURSOR; + goto yy11; + 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 yy14; + case '{': + yyt2 = YYCURSOR; + goto yy16; + default: goto yy13; + } +yy16: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy16; + case '\n': goto yy18; + default: goto yy13; + } +yy18: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy18; + case 'n': goto yy20; + default: goto yy13; + } +yy20: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy21; + default: goto yy13; + } +yy21: + yych = *++YYCURSOR; + switch (yych) { + case 'm': goto yy22; + default: goto yy13; + } +yy22: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy23; + default: goto yy13; + } +yy23: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy23; + case '=': goto yy25; + default: goto yy13; + } +yy25: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy25; + 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': + yyt3 = YYCURSOR; + goto yy27; + default: goto yy13; + } +yy27: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy28; + 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 yy29; + default: goto yy13; + } +yy28: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': + yyt4 = YYCURSOR; + goto yy31; + case '\n': + yyt4 = YYCURSOR; + goto yy33; + 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 yy27; + default: goto yy13; + } +yy29: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': + yyt4 = YYCURSOR; + goto yy31; + case '\n': + yyt4 = YYCURSOR; + goto yy33; + 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 yy27; + 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 yy29; + default: goto yy13; + } +yy31: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy31; + case '\n': goto yy33; + 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 yy27; + default: goto yy13; + } +yy33: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy33; + case 'c': goto yy35; + default: goto yy13; + } +yy35: + yych = *++YYCURSOR; + switch (yych) { + case 'o': goto yy36; + default: goto yy13; + } +yy36: + yych = *++YYCURSOR; + switch (yych) { + case 'u': goto yy37; + default: goto yy13; + } +yy37: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy38; + default: goto yy13; + } +yy38: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy39; + default: goto yy13; + } +yy39: + yych = *++YYCURSOR; + switch (yych) { + case 'r': goto yy40; + default: goto yy13; + } +yy40: + yych = *++YYCURSOR; + switch (yych) { + case 'y': goto yy41; + default: goto yy13; + } +yy41: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy41; + case '=': goto yy43; + default: goto yy13; + } +yy43: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy43; + case ' ': + yyt5 = YYCURSOR; + goto yy45; + 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 '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': + yyt5 = YYCURSOR; + goto yy47; + default: goto yy13; + } +yy45: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + yyt6 = YYCURSOR; + goto yy49; + case '\n': + yyt6 = YYCURSOR; + goto yy51; + case ' ': + yyt5 = YYCURSOR; + goto yy45; + 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 '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': + yyt5 = YYCURSOR; + goto yy47; + default: goto yy13; + } +yy47: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + yyt6 = YYCURSOR; + goto yy53; + case '\n': + yyt6 = YYCURSOR; + goto yy51; + 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': + 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 yy47; + default: goto yy13; + } +yy49: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy49; + case '\n': goto yy51; + case ' ': + yyt5 = YYCURSOR; + goto yy45; + 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 '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': + yyt5 = YYCURSOR; + goto yy47; + default: goto yy13; + } +yy51: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy51; + case 'c': goto yy55; + default: goto yy13; + } +yy53: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy53; + case '\n': goto yy51; + default: goto yy13; + } +yy55: + yych = *++YYCURSOR; + switch (yych) { + case 'h': goto yy56; + default: goto yy13; + } +yy56: + yych = *++YYCURSOR; + switch (yych) { + case 'a': goto yy57; + default: goto yy13; + } +yy57: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy58; + default: goto yy13; + } +yy58: + yych = *++YYCURSOR; + switch (yych) { + case 'n': goto yy59; + default: goto yy13; + } +yy59: + yych = *++YYCURSOR; + switch (yych) { + case 'e': goto yy60; + default: goto yy13; + } +yy60: + yych = *++YYCURSOR; + switch (yych) { + case 'l': goto yy61; + default: goto yy13; + } +yy61: + yych = *++YYCURSOR; + switch (yych) { + case 's': goto yy62; + default: goto yy13; + } +yy62: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy62; + case '=': goto yy64; + default: goto yy13; + } +yy64: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy64; + case '\n': + YYMTAGN (yyt8); + YYMTAGN (yyt7); + goto yy66; + case '#': + YYMTAGP (yyt7); + goto yy68; + case '-': + 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': + YYMTAGP (yyt7); + goto yy69; + default: goto yy13; + } +yy66: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy66; + case '}': goto yy71; + default: goto yy13; + } +yy68: + yych = *++YYCURSOR; + switch (yych) { + case '-': + 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': goto yy73; + default: goto yy13; + } +yy69: + yych = *++YYCURSOR; + switch (yych) { + case '-': + 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': goto yy69; + case '/': goto yy75; + default: goto yy13; + } +yy71: + ++YYCURSOR; + n1 = yyt1; + n2 = yyt2; + a1 = yyt3; + a2 = yyt4; + c1 = yyt5; + c2 = yyt6; + h1 = yyt7; + h2 = yyt8; + { + printf("\n%.*s\n", (int) (n2 - n1), n1); + printf(" name: %.*s\n", (int) (a2 - a1), a1); + printf(" country: %.*s\n", (int) (c2 - c1), c1); + printf(" channels:\n"); + print_channels(tp, h1, h2); + goto loop; + } +yy73: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': + YYMTAGP (yyt8); + goto yy76; + case '-': + 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': goto yy73; + case ';': + YYMTAGP (yyt8); + goto yy78; + default: goto yy13; + } +yy75: + yych = *++YYCURSOR; + switch (yych) { + case '#': goto yy68; + default: goto yy13; + } +yy76: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy76; + case ';': goto yy78; + default: goto yy13; + } +yy78: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy78; + case '\n': goto yy66; + case '#': + YYMTAGP (yyt7); + goto yy68; + case '-': + 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': + YYMTAGP (yyt7); + goto yy69; + default: goto yy13; + } +} + +} + +int main(int argc, char **argv) +{ + if (argc < 2) { + fprintf(stderr, "no input files\n"); + return 1; + } + + FILE *file = fopen(argv[1], "r"); + + fseek(file, 0, SEEK_END); + const size_t fsize = (size_t) ftell(file); + fseek(file, 0, SEEK_SET); + + char *buffer = (char*) malloc(fsize + 1); + + fread(buffer, 1, fsize, file); + buffer[fsize] = 0; + + const int status = lex(buffer); + + fclose(file); + free(buffer); + + return status; +} +re2c: warning: line 57: rule matches empty string [-Wmatch-empty-string] +re2c: warning: line 63: tag 'a2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 63: tag 'c1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 63: tag 'c2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/examples/13_records.i--tags.re b/re2c/test/examples/13_records.i--tags.re new file mode 100644 index 00000000..7b41ff5b --- /dev/null +++ b/re2c/test/examples/13_records.i--tags.re @@ -0,0 +1,98 @@ +#include +#include +#include + +struct mtag_t +{ + int pred; + const char *tag; +}; + +typedef std::vector mtagpool_t; + +static void mtag(int *pt, const char *t, mtagpool_t *tp) +{ + mtag_t l = {*pt, t}; + *pt = (int) tp->size(); + tp->push_back(l); +} + +static void print_channels(const mtagpool_t &tp, int x, int y) +{ + if (x == -1) return; + print_channels(tp, tp[x].pred, tp[y].pred); + const char *px = tp[x].tag, *py = tp[y].tag; + printf(" %.*s\n", (int) (py - px), px); +} + +#define YYMTAGP(t) mtag(&t, YYCURSOR, &tp) +#define YYMTAGN(t) mtag(&t, NULL, &tp) + +static int lex(const char *YYCURSOR) +{ + const char *YYMARKER, *n1, *n2, *a1, *a2, *c1, *c2; + mtagpool_t tp; + int h1, h2; + /*!stags:re2c format = "const char *@@;"; */ + /*!mtags:re2c format = "int @@;"; */ +loop: + tp.clear(); + /*!mtags:re2c format = "@@ = -1;"; */ + /*!re2c + re2c:define:YYCTYPE = char; + re2c:yyfill:enable = 0; + + end = "\x00"; + eol = "\n"; + wsp = [ \t]*; + eq = wsp "=" wsp; + nick = [a-zA-Z0-9_]+; + name = [A-Z] ("." | [a-z]+); + names = name (wsp name)*; + country = [A-Za-z ]+; + channel = ([a-z0-9-]+ "/")? "#" [a-z0-9-]+; + + * { printf("error: %s\n", YYCURSOR); return 1; } + end { return 0; } + wsp | eol { goto loop; } + + @n1 nick @n2 wsp "{" wsp eol + wsp "name" eq @a1 names @a2 wsp eol + wsp "country" eq @c1 country @c2 wsp eol + wsp "channels" eq (wsp #h1 channel #h2 wsp ";")* wsp eol + wsp "}" { + printf("\n%.*s\n", (int) (n2 - n1), n1); + printf(" name: %.*s\n", (int) (a2 - a1), a1); + printf(" country: %.*s\n", (int) (c2 - c1), c1); + printf(" channels:\n"); + print_channels(tp, h1, h2); + goto loop; + } + */ +} + +int main(int argc, char **argv) +{ + if (argc < 2) { + fprintf(stderr, "no input files\n"); + return 1; + } + + FILE *file = fopen(argv[1], "r"); + + fseek(file, 0, SEEK_END); + const size_t fsize = (size_t) ftell(file); + fseek(file, 0, SEEK_SET); + + char *buffer = (char*) malloc(fsize + 1); + + fread(buffer, 1, fsize, file); + buffer[fsize] = 0; + + const int status = lex(buffer); + + fclose(file); + free(buffer); + + return status; +} diff --git a/re2c/test/examples/14_options.i--tags.c b/re2c/test/examples/14_options.i--tags.c new file mode 100644 index 00000000..228f9b34 --- /dev/null +++ b/re2c/test/examples/14_options.i--tags.c @@ -0,0 +1,1636 @@ +/* Generated by re2c */ +#include +#include +#include + +typedef std::vector > unknown_t; + +struct options_t +{ + std::string date; + std::string path; + std::string format; + std::string limit; + bool verbose; +}; + +static void show(const options_t &o, const unknown_t &u) +{ + printf("\noptions:\n"); + printf(" date: %s\n", o.date.c_str()); + printf(" path: %s\n", o.path.c_str()); + printf(" format: %s\n", o.format.c_str()); + printf(" limit: %s\n", o.limit.c_str()); + printf(" verbose: %s\n", o.verbose ? "yes" : "no"); + + printf("\nunknown:\n"); + unknown_t::const_iterator i = u.begin(), e = u.end(); + for (; i != e; ++i) { + printf(" %s: '%s'\n", i->first.c_str(), i->second.c_str()); + } +} + +static void bad_arg(const char *k, const char *v, const char *e) +{ + printf("bad argument '%.*s' to option %.*s\n", + (int) (e - v), v, (int) (v - k), k); +} + +static int lex(const char *s) +{ + options_t o; + unknown_t u; + const char *m, *k, *v; + const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; +loop: + +{ + char yych; + unsigned int yyaccept = 0; + yych = *s; + switch (yych) { + case 0x00: goto yy2; + case '\t': + case '\n': + case '\r': + case ' ': goto yy6; + case '-': + yyt2 = s; + goto yy9; + default: goto yy4; + } +yy2: + ++s; + { show(o, u); return 0; } +yy4: + ++s; +yy5: + { printf("error: %s\n", s); return 1; } +yy6: + yych = *++s; + switch (yych) { + case '\t': + case '\n': + case '\r': + case ' ': goto yy6; + default: goto yy8; + } +yy8: + { goto loop; } +yy9: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy5; + case '-': + yyt3 = s; + goto yy13; + case 'd': + yyt3 = s; + goto yy14; + case 'f': + yyt3 = s; + goto yy16; + case 'l': + yyt3 = s; + goto yy17; + case 'p': + yyt3 = s; + goto yy18; + case 'v': + yyt3 = s; + goto yy20; + default: + yyt3 = s; + goto yy10; + } +yy10: + yych = *++s; +yy11: + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt4 = s; + goto yy12; + case '"': + yyt4 = s; + goto yy22; + case '=': + yyt4 = s; + goto yy24; + default: goto yy10; + } +yy12: + k = yyt3; + v = yyt4; + { + u.push_back(std::make_pair(std::string(k, v), std::string(v, s))); + goto loop; + } +yy13: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt4 = s; + goto yy12; + case '"': + yyt1 = yyt4 = s; + goto yy25; + case '=': + yyt4 = s; + goto yy24; + case 'd': + yyt1 = s; + goto yy27; + case 'f': + yyt1 = s; + goto yy28; + case 'l': + yyt1 = s; + goto yy29; + case 'p': + yyt1 = s; + goto yy30; + case 'v': + yyt1 = s; + goto yy31; + default: + yyt3 = s; + goto yy10; + } +yy14: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt5 = s; + goto yy34; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = yyt5 = s; + goto yy36; + case '=': + yyt5 = s; + goto yy37; + default: + yyt5 = s; + goto yy32; + } +yy15: + k = yyt2; + v = yyt5; + { + bad_arg(k, v, s); + goto loop; + } +yy16: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt1 = yyt5 = s; + goto yy38; + case '=': + yyt5 = s; + goto yy37; + default: + yyt5 = s; + goto yy32; + } +yy17: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt5 = s; + goto yy34; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = yyt5 = s; + goto yy40; + case '=': + yyt5 = s; + goto yy37; + default: + yyt5 = s; + goto yy32; + } +yy18: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt1 = s; + goto yy19; + case '"': + yyt1 = yyt5 = s; + goto yy45; + case '=': + yyt5 = s; + goto yy37; + default: + yyt1 = s; + goto yy43; + } +yy19: + v = yyt1; + { o.path = std::string(v, s); goto loop; } +yy20: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy21; + default: goto yy11; + } +yy21: + { o.verbose = true; goto loop; } +yy22: + yyaccept = 0; + yych = *(m = ++s); + switch (yych) { + case 0x00: + yyt4 = s; + goto yy12; + case '\t': + case '\n': + case '\r': + case ' ': goto yy47; + case '"': + yyt4 = s; + goto yy22; + case '=': + yyt4 = s; + goto yy24; + default: goto yy22; + } +yy24: + yych = *++s; + switch (yych) { + case '"': goto yy52; + default: goto yy51; + } +yy25: + yyaccept = 1; + yych = *(m = ++s); + switch (yych) { + case 0x00: + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '\t': + case '\n': + case '\r': + case ' ': goto yy47; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + default: goto yy25; + } +yy27: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'a': goto yy54; + default: + yyt3 = yyt1; + goto yy10; + } +yy28: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'o': goto yy55; + default: + yyt3 = yyt1; + goto yy10; + } +yy29: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'i': goto yy56; + default: + yyt3 = yyt1; + goto yy10; + } +yy30: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'a': goto yy57; + default: + yyt3 = yyt1; + goto yy10; + } +yy31: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'e': goto yy58; + default: + yyt3 = yyt1; + goto yy10; + } +yy32: + yych = *++s; +yy33: + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy15; + case '"': + yyt4 = s; + goto yy59; + case '=': + yyt4 = s; + goto yy24; + default: goto yy32; + } +yy34: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy15; + case '\t': + case '\n': + case '\r': + case ' ': goto yy61; + case '=': + yyt4 = s; + goto yy24; + default: goto yy34; + } +yy36: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy63; + default: goto yy33; + } +yy37: + yych = *++s; + switch (yych) { + case '"': goto yy66; + default: goto yy65; + } +yy38: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy15; + case '\t': + case '\n': + case '\r': + case ' ': goto yy68; + case '"': goto yy70; + case '=': + yyt4 = s; + goto yy24; + default: goto yy38; + } +yy40: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy42; + case '"': + yyt4 = s; + goto yy59; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy40; + case '=': + yyt4 = s; + goto yy24; + case 'B': + case 'G': + case 'K': + case 'M': goto yy73; + default: goto yy32; + } +yy42: + v = yyt1; + { o.limit = std::string(v, s); goto loop; } +yy43: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy19; + case '"': + yyt4 = s; + goto yy74; + case '=': + yyt4 = s; + goto yy24; + default: goto yy43; + } +yy45: + yyaccept = 3; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy19; + case '\t': + case '\n': + case '\r': + case ' ': goto yy61; + case '=': + yyt4 = s; + goto yy24; + default: goto yy45; + } +yy47: + yych = *++s; + switch (yych) { + case 0x00: + case '=': goto yy49; + case '"': goto yy76; + default: goto yy47; + } +yy49: + s = m; + switch (yyaccept) { + case 0: + yyt4 = s; + goto yy12; + case 1: + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case 2: goto yy15; + case 3: goto yy19; + case 4: goto yy12; + default: goto yy72; + } +yy50: + yych = *++s; +yy51: + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy12; + default: goto yy50; + } +yy52: + yyaccept = 4; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy12; + case '\t': + case '\n': + case '\r': + case ' ': goto yy47; + default: goto yy52; + } +yy54: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 't': goto yy78; + default: + yyt3 = yyt1; + goto yy10; + } +yy55: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'r': goto yy79; + default: + yyt3 = yyt1; + goto yy10; + } +yy56: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'm': goto yy80; + default: + yyt3 = yyt1; + goto yy10; + } +yy57: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 't': goto yy81; + default: + yyt3 = yyt1; + goto yy10; + } +yy58: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'r': goto yy82; + default: + yyt3 = yyt1; + goto yy10; + } +yy59: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy15; + case '\t': + case '\n': + case '\r': + case ' ': goto yy47; + case '"': + yyt4 = s; + goto yy59; + case '=': + yyt4 = s; + goto yy24; + default: goto yy59; + } +yy61: + yych = *++s; + switch (yych) { + case 0x00: + case '=': goto yy49; + case '"': goto yy83; + default: goto yy61; + } +yy63: + yych = *++s; + switch (yych) { + case '/': goto yy85; + default: goto yy33; + } +yy64: + yych = *++s; +yy65: + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy15; + default: goto yy64; + } +yy66: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy15; + case '\t': + case '\n': + case '\r': + case ' ': goto yy61; + default: goto yy66; + } +yy68: + yych = *++s; + switch (yych) { + case 0x00: + case '=': goto yy49; + case '"': goto yy86; + default: goto yy68; + } +yy70: + yyaccept = 5; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy72; + case '\t': + case '\n': + case '\r': + case ' ': goto yy68; + case '"': goto yy70; + case '=': + yyt4 = s; + goto yy24; + default: goto yy38; + } +yy72: + v = yyt1; + { o.format = std::string(v, s); goto loop; } +yy73: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy42; + default: goto yy33; + } +yy74: + yyaccept = 3; + yych = *(m = ++s); + switch (yych) { + case 0x00: goto yy19; + case '\t': + case '\n': + case '\r': + case ' ': goto yy47; + case '"': + yyt4 = s; + goto yy74; + case '=': + yyt4 = s; + goto yy24; + default: goto yy74; + } +yy76: + yyaccept = 4; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy12; + case '"': goto yy76; + default: goto yy47; + } +yy78: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'e': goto yy88; + default: + yyt3 = yyt1; + goto yy10; + } +yy79: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'm': goto yy89; + default: + yyt3 = yyt1; + goto yy10; + } +yy80: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'i': goto yy90; + default: + yyt3 = yyt1; + goto yy10; + } +yy81: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'h': goto yy91; + default: + yyt3 = yyt1; + goto yy10; + } +yy82: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'b': goto yy92; + default: + yyt3 = yyt1; + goto yy10; + } +yy83: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy15; + case '"': goto yy83; + default: goto yy61; + } +yy85: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy93; + default: goto yy33; + } +yy86: + yyaccept = 5; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy72; + case '"': goto yy86; + default: goto yy68; + } +yy88: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt3 = yyt1; + yyt5 = s; + goto yy34; + case '=': + yyt5 = s; + goto yy94; + default: + yyt3 = yyt1; + yyt5 = s; + goto yy32; + } +yy89: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'a': goto yy95; + default: + yyt3 = yyt1; + goto yy10; + } +yy90: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 't': goto yy96; + default: + yyt3 = yyt1; + goto yy10; + } +yy91: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt3 = yyt1; + yyt5 = s; + goto yy34; + case '=': + yyt5 = s; + goto yy97; + default: + yyt3 = yyt1; + yyt5 = s; + goto yy32; + } +yy92: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'o': goto yy98; + default: + yyt3 = yyt1; + goto yy10; + } +yy93: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy99; + default: goto yy33; + } +yy94: + yych = *++s; + switch (yych) { + case '"': goto yy66; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = s; + goto yy100; + default: goto yy65; + } +yy95: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 't': goto yy101; + default: + yyt3 = yyt1; + goto yy10; + } +yy96: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt3 = yyt1; + yyt5 = s; + goto yy34; + case '=': + yyt5 = s; + goto yy102; + default: + yyt3 = yyt1; + yyt5 = s; + goto yy32; + } +yy97: + yych = *++s; + yyt1 = s; + switch (yych) { + case '"': goto yy105; + default: goto yy104; + } +yy98: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 's': goto yy107; + default: + yyt3 = yyt1; + goto yy10; + } +yy99: + yych = *++s; + switch (yych) { + case '/': goto yy108; + default: goto yy33; + } +yy100: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy109; + default: goto yy65; + } +yy101: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt5 = s; + goto yy15; + case '"': + yyt3 = yyt1; + yyt5 = s; + goto yy34; + case '=': + yyt5 = s; + goto yy110; + default: + yyt3 = yyt1; + yyt5 = s; + goto yy32; + } +yy102: + yych = *++s; + switch (yych) { + case '"': goto yy66; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yyt1 = s; + goto yy111; + default: goto yy65; + } +yy103: + yych = *++s; +yy104: + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy19; + default: goto yy103; + } +yy105: + yyaccept = 3; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy19; + case '\t': + case '\n': + case '\r': + case ' ': goto yy61; + default: goto yy105; + } +yy107: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + yyt3 = yyt1; + yyt4 = s; + goto yy12; + case '"': + yyt3 = yyt1; + yyt4 = s; + goto yy22; + case '=': + yyt3 = yyt1; + yyt4 = s; + goto yy24; + case 'e': + yyt3 = yyt1; + goto yy20; + default: + yyt3 = yyt1; + goto yy10; + } +yy108: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy113; + default: goto yy33; + } +yy109: + yych = *++s; + switch (yych) { + case '/': goto yy114; + default: goto yy65; + } +yy110: + yych = *++s; + switch (yych) { + case '"': + yyt1 = s; + goto yy115; + default: goto yy65; + } +yy111: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy42; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy111; + case 'B': + case 'G': + case 'K': + case 'M': goto yy117; + default: goto yy64; + } +yy113: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy118; + default: goto yy33; + } +yy114: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy119; + default: goto yy65; + } +yy115: + yyaccept = 2; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy15; + case '\t': + case '\n': + case '\r': + case ' ': goto yy68; + case '"': goto yy120; + default: goto yy115; + } +yy117: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy42; + default: goto yy64; + } +yy118: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy122; + default: goto yy33; + } +yy119: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy123; + default: goto yy65; + } +yy120: + yyaccept = 5; + yych = *(m = ++s); + switch (yych) { + case 0x00: + case '=': goto yy72; + case '\t': + case '\n': + case '\r': + case ' ': goto yy68; + case '"': goto yy120; + default: goto yy115; + } +yy122: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy124; + default: goto yy33; + } +yy123: + yych = *++s; + switch (yych) { + case '/': goto yy126; + default: goto yy65; + } +yy124: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': goto yy125; + default: goto yy33; + } +yy125: + v = yyt1; + { o.date = std::string(v, s); goto loop; } +yy126: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy127; + default: goto yy65; + } +yy127: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy128; + default: goto yy65; + } +yy128: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy129; + default: goto yy65; + } +yy129: + yych = *++s; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy130; + default: goto yy65; + } +yy130: + yych = *++s; + switch (yych) { + case 0x00: + case '\t': + case '\n': + case '\r': + case ' ': + case '=': goto yy125; + default: goto yy64; + } +} + +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) lex(argv[i]); + return 0; +} +re2c: warning: line 68: rule matches empty string [-Wmatch-empty-string] +re2c: warning: line 80: tag 'k' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 80: tag 'v' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/examples/14_options.i--tags.re b/re2c/test/examples/14_options.i--tags.re new file mode 100644 index 00000000..2b9b1c48 --- /dev/null +++ b/re2c/test/examples/14_options.i--tags.re @@ -0,0 +1,91 @@ +#include +#include +#include + +typedef std::vector > unknown_t; + +struct options_t +{ + std::string date; + std::string path; + std::string format; + std::string limit; + bool verbose; +}; + +static void show(const options_t &o, const unknown_t &u) +{ + printf("\noptions:\n"); + printf(" date: %s\n", o.date.c_str()); + printf(" path: %s\n", o.path.c_str()); + printf(" format: %s\n", o.format.c_str()); + printf(" limit: %s\n", o.limit.c_str()); + printf(" verbose: %s\n", o.verbose ? "yes" : "no"); + + printf("\nunknown:\n"); + unknown_t::const_iterator i = u.begin(), e = u.end(); + for (; i != e; ++i) { + printf(" %s: '%s'\n", i->first.c_str(), i->second.c_str()); + } +} + +static void bad_arg(const char *k, const char *v, const char *e) +{ + printf("bad argument '%.*s' to option %.*s\n", + (int) (e - v), v, (int) (v - k), k); +} + +static int lex(const char *s) +{ + options_t o; + unknown_t u; + const char *m, *k, *v; + /*!stags:re2c format = 'const char *@@;'; */ +loop: + /*!re2c + re2c:define:YYCTYPE = char; + re2c:define:YYCURSOR = s; + re2c:define:YYMARKER = m; + re2c:yyfill:enable = 0; + + end = "\x00"; + sp = [ \t\n\r]; + eq = "="; + wsp = sp*; + char = [^=] \ end; + ochar = char \ sp; + pchar = ochar \ [/]; + str = ["] (char \ ["] | [\]["])* ["]; + opt = ochar+; + arg = ochar* | str; + date = [0-9]{2} "/" [0-9]{2} "/" [0-9]{4}; + path = pchar* ("/" pchar*)*; + format = str; + limit = [0-9]+ [BKMG]?; + + * { printf("error: %s\n", s); return 1; } + end { show(o, u); return 0; } + wsp { goto loop; } + + "-v" | "--verbose" { o.verbose = true; goto loop; } + ("-l" | "--limit" eq) @v limit { o.limit = std::string(v, s); goto loop; } + ("-f" | "--format" eq) @v str { o.format = std::string(v, s); goto loop; } + ("-d" | "--date" eq) @v date { o.date = std::string(v, s); goto loop; } + ("-p" | "--path" eq) @v path { o.path = std::string(v, s); goto loop; } + + @k ("--" ("limit" | "format" | "date" | "path") | "-" [lfdp]) @v eq? arg { + bad_arg(k, v, s); + goto loop; + } + [-]{1,2} @k opt @v eq? arg { + u.push_back(std::make_pair(std::string(k, v), std::string(v, s))); + goto loop; + } + */ +} + +int main(int argc, char **argv) +{ + for (int i = 1; i < argc; ++i) lex(argv[i]); + return 0; +} -- 2.40.0