From 6152e0280f5e0641995295c861a5b69be08b99e9 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Wed, 16 Aug 2017 18:43:13 +0100 Subject: [PATCH] Added benchmarks to test suite. --- re2c/test/tags/bench_http_rfc7230.i.c | 13288 +++++++++++++++++++++++ re2c/test/tags/bench_http_rfc7230.i.re | 318 + re2c/test/tags/bench_http_simple.i.c | 2437 +++++ re2c/test/tags/bench_http_simple.i.re | 231 + re2c/test/tags/bench_uri_rfc3986.i.c | 7943 ++++++++++++++ re2c/test/tags/bench_uri_rfc3986.i.re | 178 + re2c/test/tags/bench_uri_simple.i.c | 1382 +++ re2c/test/tags/bench_uri_simple.i.re | 134 + 8 files changed, 25911 insertions(+) create mode 100644 re2c/test/tags/bench_http_rfc7230.i.c create mode 100644 re2c/test/tags/bench_http_rfc7230.i.re create mode 100644 re2c/test/tags/bench_http_simple.i.c create mode 100644 re2c/test/tags/bench_http_simple.i.re create mode 100644 re2c/test/tags/bench_uri_rfc3986.i.c create mode 100644 re2c/test/tags/bench_uri_rfc3986.i.re create mode 100644 re2c/test/tags/bench_uri_simple.i.c create mode 100644 re2c/test/tags/bench_uri_simple.i.re diff --git a/re2c/test/tags/bench_http_rfc7230.i.c b/re2c/test/tags/bench_http_rfc7230.i.c new file mode 100644 index 00000000..a94637f9 --- /dev/null +++ b/re2c/test/tags/bench_http_rfc7230.i.c @@ -0,0 +1,13288 @@ +/* Generated by re2c */ +#include +#include +#include +#include +#include + +typedef struct taglist_t { + struct taglist_t *pred; + long dist; +} taglist_t; + +typedef struct taglistpool_t { + taglist_t *head; + taglist_t *next; + taglist_t *last; +} taglistpool_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; + + taglist_t *yyt36; +taglist_t *yyt37; +taglist_t *yyt38; +taglist_t *yyt39; +taglist_t *yyt40; +taglist_t *yyt41; +taglist_t *yyt42; + + taglistpool_t tlp; + int eof; +} input_t; + +static void taglistpool_clear(taglistpool_t *tlp, input_t *in) +{ + tlp->next = tlp->head; + in->yyt36 = 0; +in->yyt37 = 0; +in->yyt38 = 0; +in->yyt39 = 0; +in->yyt40 = 0; +in->yyt41 = 0; +in->yyt42 = 0; + +} + +static void taglistpool_init(taglistpool_t *tlp) +{ + static const unsigned size = 1024 * 1024; + tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t)); + tlp->next = tlp->head; + tlp->last = tlp->head + size; +} + +static void taglistpool_free(taglistpool_t *tlp) +{ + free(tlp->head); + tlp->head = tlp->next = tlp->last = NULL; +} + +static taglist_t *taglistpool_next(taglistpool_t *tlp) +{ + if (tlp->next < tlp->last) { + return tlp->next++; + } + + const unsigned size = tlp->last - tlp->head; + taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t)); + memcpy(head, tlp->head, size * sizeof(taglist_t)); + free(tlp->head); + tlp->head = head; + tlp->next = head + size; + tlp->last = head + size * 2; + return tlp->next++; +} + +static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp) +{ + taglist_t *tl = taglistpool_next(tlp); + tl->pred = *ptl; + tl->dist = t - b; + *ptl = tl; +} + +#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; + + taglistpool_init(&in->tlp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + taglistpool_free(&in->tlp); +} + +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 taglist_t *h1, const taglist_t *h2, + const taglist_t *h3, const taglist_t *h4, + const taglist_t *h5) +{ + if (!h1 || !h2 || !h3 || !h4 || !h5) { + assert(!h1 && !h2 && !h3 && !h4 && !h5); + 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(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count, long *total) +{ + 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; + taglist_t *h1, *h2, *h3, *h4, *h5; + long c, t; + + c = 0; t = 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; *total = t; 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; + { +#ifndef VERIFY + c += 1; + if (st1) t += (v2 - v1) + (st2 - st1) + (rp2 - rp1); + if (m1) { + if (of) t += (p6 - p5) + (q4 - q3); + if (au) t += (s2 - s1) + (u2 - u1) + (hs2 - hs1) + + (r2 - r1) + (p2 - p1) + (p4 - p3) + (q2 - q1); + if (at) t += (u4 - u3) + (hs4 - hs3) + (r4 - r3); + t += (v4 - v3); + } + for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, + h3 = h3->pred, h4 = h4->pred, h5 = h5->pred) { + t += (h2->dist - h1->dist) + (h3->dist - h2->dist) + + (h4->dist - h3->dist) + (h5->dist - h4->dist); + } +#else + 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"); +#endif + taglistpool_clear(&in->tlp, 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, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break; + case 2: fprintf(stderr, "fill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 249: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'at' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'u3' has 3rd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'u4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'hs3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'hs4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'r3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'au' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 's1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 's2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'hs1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'hs2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'h3' has 3rd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 249: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/bench_http_rfc7230.i.re b/re2c/test/tags/bench_http_rfc7230.i.re new file mode 100644 index 00000000..b39d747c --- /dev/null +++ b/re2c/test/tags/bench_http_rfc7230.i.re @@ -0,0 +1,318 @@ +#include +#include +#include +#include +#include + +typedef struct taglist_t { + struct taglist_t *pred; + long dist; +} taglist_t; + +typedef struct taglistpool_t { + taglist_t *head; + taglist_t *next; + taglist_t *last; +} taglistpool_t; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + /*!stags:re2c format = "char *@@;\n"; */ + /*!mtags:re2c format = "taglist_t *@@;\n"; */ + taglistpool_t tlp; + int eof; +} input_t; + +static void taglistpool_clear(taglistpool_t *tlp, input_t *in) +{ + tlp->next = tlp->head; + /*!mtags:re2c format = "in->@@ = 0;\n"; */ +} + +static void taglistpool_init(taglistpool_t *tlp) +{ + static const unsigned size = 1024 * 1024; + tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t)); + tlp->next = tlp->head; + tlp->last = tlp->head + size; +} + +static void taglistpool_free(taglistpool_t *tlp) +{ + free(tlp->head); + tlp->head = tlp->next = tlp->last = NULL; +} + +static taglist_t *taglistpool_next(taglistpool_t *tlp) +{ + if (tlp->next < tlp->last) { + return tlp->next++; + } + + const unsigned size = tlp->last - tlp->head; + taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t)); + memcpy(head, tlp->head, size * sizeof(taglist_t)); + free(tlp->head); + tlp->head = head; + tlp->next = head + size; + tlp->last = head + size * 2; + return tlp->next++; +} + +static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp) +{ + taglist_t *tl = taglistpool_next(tlp); + tl->pred = *ptl; + tl->dist = t - b; + *ptl = tl; +} + +/*!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"; */ + taglistpool_init(&in->tlp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + taglistpool_free(&in->tlp); +} + +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 taglist_t *h1, const taglist_t *h2, + const taglist_t *h3, const taglist_t *h4, + const taglist_t *h5) +{ + if (!h1 || !h2 || !h3 || !h4 || !h5) { + assert(!h1 && !h2 && !h3 && !h4 && !h5); + 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(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count, long *total) +{ + 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; + taglist_t *h1, *h2, *h3, *h4, *h5; + long c, t; + + c = 0; t = 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:flags:tags = 1; + 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; *total = t; return 0; } + eol { goto loop; } + message_head { +#ifndef VERIFY + c += 1; + if (st1) t += (v2 - v1) + (st2 - st1) + (rp2 - rp1); + if (m1) { + if (of) t += (p6 - p5) + (q4 - q3); + if (au) t += (s2 - s1) + (u2 - u1) + (hs2 - hs1) + + (r2 - r1) + (p2 - p1) + (p4 - p3) + (q2 - q1); + if (at) t += (u4 - u3) + (hs4 - hs3) + (r4 - r3); + t += (v4 - v3); + } + for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, + h3 = h3->pred, h4 = h4->pred, h5 = h5->pred) { + t += (h2->dist - h1->dist) + (h3->dist - h2->dist) + + (h4->dist - h3->dist) + (h5->dist - h4->dist); + } +#else + 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"); +#endif + taglistpool_clear(&in->tlp, in); + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break; + case 2: fprintf(stderr, "fill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} diff --git a/re2c/test/tags/bench_http_simple.i.c b/re2c/test/tags/bench_http_simple.i.c new file mode 100644 index 00000000..0111300f --- /dev/null +++ b/re2c/test/tags/bench_http_simple.i.c @@ -0,0 +1,2437 @@ +/* Generated by re2c */ +#include +#include +#include +#include +#include + +typedef struct taglist_t { + struct taglist_t *pred; + long dist; +} taglist_t; + +typedef struct taglistpool_t { + taglist_t *head; + taglist_t *next; + taglist_t *last; +} taglistpool_t; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + char *yyt1; +char *yyt10; +char *yyt11; +char *yyt12; +char *yyt2; +char *yyt3; +char *yyt4; +char *yyt5; +char *yyt6; +char *yyt7; +char *yyt8; +char *yyt9; + + taglist_t *yyt13; +taglist_t *yyt14; +taglist_t *yyt15; +taglist_t *yyt16; + + taglistpool_t tlp; + int eof; +} input_t; + +static void taglistpool_clear(taglistpool_t *tlp, input_t *in) +{ + tlp->next = tlp->head; + in->yyt13 = 0; +in->yyt14 = 0; +in->yyt15 = 0; +in->yyt16 = 0; + +} + +static void taglistpool_init(taglistpool_t *tlp) +{ + static const unsigned size = 1024 * 1024; + tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t)); + tlp->next = tlp->head; + tlp->last = tlp->head + size; +} + +static void taglistpool_free(taglistpool_t *tlp) +{ + free(tlp->head); + tlp->head = tlp->next = tlp->last = NULL; +} + +static taglist_t *taglistpool_next(taglistpool_t *tlp) +{ + if (tlp->next < tlp->last) { + return tlp->next++; + } + + const unsigned size = tlp->last - tlp->head; + taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t)); + memcpy(head, tlp->head, size * sizeof(taglist_t)); + free(tlp->head); + tlp->head = head; + tlp->next = head + size; + tlp->last = head + size * 2; + return tlp->next++; +} + +static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp) +{ + taglist_t *tl = taglistpool_next(tlp); + tl->pred = *ptl; + tl->dist = t - b; + *ptl = tl; +} + +#define YYMAXFILL 15 + +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->yyt2 = 0; +in->yyt3 = 0; +in->yyt4 = 0; +in->yyt5 = 0; +in->yyt6 = 0; +in->yyt7 = 0; +in->yyt8 = 0; +in->yyt9 = 0; + + in->yyt13 = 0; +in->yyt14 = 0; +in->yyt15 = 0; +in->yyt16 = 0; + + taglistpool_init(&in->tlp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + taglistpool_free(&in->tlp); +} + +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->yyt2) in->yyt2 -= 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 void print_headers(const char *tok, + const taglist_t *h1, const taglist_t *h2, const taglist_t *h3) +{ + if (!h1 || !h2 || !h3) { + assert(!h1 && !h2 && !h3); + return; + } + print_headers(tok, h1->pred, h2->pred, h3->pred); + printf("%.*s%.*s\n", + (int)(h2->dist - h1->dist), tok + h1->dist, + (int)(h3->dist - h2->dist), tok + h2->dist); +} + +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count, long *total) +{ + const char *s1, *s2, *v1, *v2, *v3, *v4, *m1, *m2, *rp1, *rp2, *rt1, *rt2; + taglist_t *h1, *h2, *h3; + long c, t; + + c = 0; t = 0; +loop: + in->tok = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 15) YYFILL(15); + 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->yyt7 = YYCURSOR; + goto yy9; + default: goto yy4; + } +yy2: + ++YYCURSOR; + { *count = c; *total = t; 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 '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case ',': + case ':': + case ';': + case '=': + case '_': + case '~': + in->yyt3 = YYCURSOR; + goto yy15; + 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': + in->yyt3 = YYCURSOR; + goto yy17; + case '/': + in->yyt3 = YYCURSOR; + goto yy19; + case '[': + case ']': + in->yyt3 = YYCURSOR; + goto yy21; + default: goto yy11; + } +yy11: + YYCURSOR = YYMARKER; + goto yy5; +yy12: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + 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 yy23; + default: goto yy13; + } +yy15: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 yy15; + case '@': goto yy25; + case '[': + case ']': goto yy21; + default: goto yy11; + } +yy17: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + case '!': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case ',': + case ';': + case '=': + case '_': + case '~': goto yy15; + 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 yy17; + case ':': goto yy26; + case '@': goto yy25; + case '[': + case ']': goto yy21; + default: goto yy11; + } +yy19: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy20: + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + case '!': + 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 yy19; + default: goto yy11; + } +yy21: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy22: + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 ']': + 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 yy21; + default: goto yy11; + } +yy23: + yych = *++YYCURSOR; + switch (yych) { + case 'P': goto yy27; + default: goto yy13; + } +yy24: + yych = *++YYCURSOR; + switch (yych) { + case 'H': + in->yyt5 = YYCURSOR; + goto yy28; + default: goto yy11; + } +yy25: + yych = *++YYCURSOR; + switch (yych) { + case ' ': goto yy11; + default: goto yy22; + } +yy26: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy31; + default: goto yy30; + } +yy27: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy34; + default: goto yy13; + } +yy28: + yych = *++YYCURSOR; + switch (yych) { + case 'T': goto yy35; + default: goto yy11; + } +yy29: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy30: + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 yy29; + case '/': + case '?': goto yy19; + case '@': goto yy32; + case '[': + case ']': goto yy21; + default: goto yy11; + } +yy31: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy36; + default: goto yy20; + } +yy32: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 yy32; + case '/': + case '?': + case '@': goto yy19; + case '[': + case ']': goto yy21; + default: goto yy11; + } +yy34: + 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 yy37; + default: goto yy11; + } +yy35: + yych = *++YYCURSOR; + switch (yych) { + case 'T': goto yy38; + default: goto yy11; + } +yy36: + yych = *++YYCURSOR; + switch (yych) { + case '@': goto yy19; + default: goto yy40; + } +yy37: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy43; + default: goto yy11; + } +yy38: + yych = *++YYCURSOR; + switch (yych) { + case 'P': goto yy44; + default: goto yy11; + } +yy39: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy40: + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 yy39; + case '/': + case '?': goto yy19; + case '@': + case '[': + case ']': goto yy41; + default: goto yy11; + } +yy41: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case ' ': + in->yyt4 = YYCURSOR; + goto yy24; + 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 ']': + 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 yy41; + case '/': + case '?': + case '@': goto yy19; + default: goto yy11; + } +yy43: + 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 yy45; + default: goto yy11; + } +yy44: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy46; + default: goto yy11; + } +yy45: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt8 = YYCURSOR; + goto yy47; + default: goto yy11; + } +yy46: + 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 yy48; + default: goto yy11; + } +yy47: + 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->yyt9 = YYCURSOR; + goto yy49; + default: goto yy11; + } +yy48: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy50; + default: goto yy11; + } +yy49: + 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 yy51; + default: goto yy11; + } +yy50: + 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 yy52; + default: goto yy11; + } +yy51: + 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 yy53; + default: goto yy11; + } +yy52: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + in->yyt6 = YYCURSOR; + goto yy54; + default: goto yy11; + } +yy53: + yych = *++YYCURSOR; + switch (yych) { + case ' ': + in->yyt10 = YYCURSOR; + goto yy55; + default: goto yy11; + } +yy54: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + YYMTAGN (in->yyt15); + YYMTAGN (in->yyt14); + YYMTAGN (in->yyt13); + in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = NULL; + goto yy56; + 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->yyt13); + in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = NULL; + goto yy58; + default: goto yy11; + } +yy55: + 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->yyt11 = in->yyt12 = YYCURSOR; + goto yy62; + default: + in->yyt11 = YYCURSOR; + goto yy60; + } +yy56: + ++YYCURSOR; + m1 = in->yyt1; + m2 = in->yyt2; + rt1 = in->yyt3; + rt2 = in->yyt4; + v3 = in->yyt5; + v4 = in->yyt6; + v1 = in->yyt7; + v2 = in->yyt8; + s1 = in->yyt9; + s2 = in->yyt10; + rp1 = in->yyt11; + rp2 = in->yyt12; + h1 = in->yyt13; + h2 = in->yyt14; + h3 = in->yyt15; + { +#ifndef VERIFY + c += 1; + t += (v2 - v1) + (s2 - s1) + (rp2 - rp1) + + (m2 - m1) + (rt2 - rt1) + (v4 - v3); + for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, h3 = h3->pred) { + t += (h2->dist - h1->dist) + (h3->dist - h2->dist); + } +#else + if (s1) printf("%.*s %.*s %.*s\n", + (int)(v2 - v1), v1, + (int)(s2 - s1), s1, + (int)(rp2 - rp1), rp1); + if (m1) printf("%.*s %.*s %.*s\n", + (int)(m2 - m1), m1, + (int)(rt2 - rt1), rt1, + (int)(v4 - v3), v3); + print_headers(in->tok, h1, h2, h3); + printf("\n"); +#endif + taglistpool_clear(&in->tlp, in); + goto loop; + } +yy58: + ++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 yy58; + case ':': goto yy63; + default: goto yy11; + } +yy60: + ++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->yyt12 = YYCURSOR; + goto yy62; + default: goto yy60; + } +yy62: + yych = *++YYCURSOR; + switch (yych) { + case '\n': + YYMTAGN (in->yyt15); + YYMTAGN (in->yyt14); + YYMTAGN (in->yyt13); + in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = NULL; + goto yy56; + 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->yyt13); + in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = NULL; + goto yy58; + default: goto yy11; + } +yy63: + ++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 ' ': + YYMTAGP (in->yyt14); + goto yy64; + case '\n': + in->yyt16 = in->yyt15; + YYMTAGP (in->yyt16); + YYMTAGP (in->yyt14); + goto yy66; + default: + YYMTAGP (in->yyt14); + goto yy67; + } +yy64: + ++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 yy64; + case '\n': + in->yyt16 = in->yyt15; + YYMTAGP (in->yyt16); + goto yy66; + default: goto yy67; + } +yy66: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy64; + case '\n': + in->yyt15 = in->yyt16; + goto yy56; + 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->yyt15 = in->yyt16; + YYMTAGP (in->yyt13); + goto yy58; + default: goto yy11; + } +yy67: + ++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 yy69; + case '\n': + in->yyt16 = in->yyt15; + YYMTAGP (in->yyt16); + goto yy66; + default: goto yy67; + } +yy69: + ++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 yy69; + case '\n': + YYMTAGP (in->yyt15); + goto yy71; + case ' ': goto yy67; + default: goto yy72; + } +yy71: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\n': goto yy56; + 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->yyt13); + goto yy58; + default: goto yy11; + } +yy72: + ++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 yy73; + case '\n': + in->yyt16 = in->yyt15; + YYMTAGP (in->yyt16); + goto yy66; + default: goto yy67; + } +yy73: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy73; + case '\n': + YYMTAGP (in->yyt15); + goto yy71; + default: goto yy11; + } +} + +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break; + case 2: fprintf(stderr, "fill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 190: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 190: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 190: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/bench_http_simple.i.re b/re2c/test/tags/bench_http_simple.i.re new file mode 100644 index 00000000..bcbbabe0 --- /dev/null +++ b/re2c/test/tags/bench_http_simple.i.re @@ -0,0 +1,231 @@ +#include +#include +#include +#include +#include + +typedef struct taglist_t { + struct taglist_t *pred; + long dist; +} taglist_t; + +typedef struct taglistpool_t { + taglist_t *head; + taglist_t *next; + taglist_t *last; +} taglistpool_t; + +typedef struct { + FILE *file; + char *buf; + char *lim; + char *cur; + char *mar; + char *tok; + /*!stags:re2c format = "char *@@;\n"; */ + /*!mtags:re2c format = "taglist_t *@@;\n"; */ + taglistpool_t tlp; + int eof; +} input_t; + +static void taglistpool_clear(taglistpool_t *tlp, input_t *in) +{ + tlp->next = tlp->head; + /*!mtags:re2c format = "in->@@ = 0;\n"; */ +} + +static void taglistpool_init(taglistpool_t *tlp) +{ + static const unsigned size = 1024 * 1024; + tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t)); + tlp->next = tlp->head; + tlp->last = tlp->head + size; +} + +static void taglistpool_free(taglistpool_t *tlp) +{ + free(tlp->head); + tlp->head = tlp->next = tlp->last = NULL; +} + +static taglist_t *taglistpool_next(taglistpool_t *tlp) +{ + if (tlp->next < tlp->last) { + return tlp->next++; + } + + const unsigned size = tlp->last - tlp->head; + taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t)); + memcpy(head, tlp->head, size * sizeof(taglist_t)); + free(tlp->head); + tlp->head = head; + tlp->next = head + size; + tlp->last = head + size * 2; + return tlp->next++; +} + +static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp) +{ + taglist_t *tl = taglistpool_next(tlp); + tl->pred = *ptl; + tl->dist = t - b; + *ptl = tl; +} + +/*!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"; */ + taglistpool_init(&in->tlp); + in->eof = 0; +} + +static void free_input(input_t *in) +{ + fclose(in->file); + free(in->buf); + taglistpool_free(&in->tlp); +} + +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 taglist_t *h1, const taglist_t *h2, const taglist_t *h3) +{ + if (!h1 || !h2 || !h3) { + assert(!h1 && !h2 && !h3); + return; + } + print_headers(tok, h1->pred, h2->pred, h3->pred); + printf("%.*s%.*s\n", + (int)(h2->dist - h1->dist), tok + h1->dist, + (int)(h3->dist - h2->dist), tok + h2->dist); +} + +#define YYCTYPE char +#define YYCURSOR in->cur +#define YYMARKER in->mar +#define YYLIMIT in->lim +#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp) +#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp) +#define YYFILL(n) if (fill(in, n) != 0) return 2; + +static int lex(input_t *in, long *count, long *total) +{ + const char *s1, *s2, *v1, *v2, *v3, *v4, *m1, *m2, *rp1, *rp2, *rt1, *rt2; + taglist_t *h1, *h2, *h3; + long c, t; + + c = 0; t = 0; +loop: + in->tok = in->cur; +/*!re2c + re2c:flags:tags = 1; + re2c:tags:expression = "in->@@"; + + end = "\x00"; + eol = "\n"; + sp = " "; + htab = "\t"; + ows = (sp | htab)*; + char = [-._~%!$&'()*+,;=a-zA-Z0-9]; + tchar = [-._~%!$&'*+#^`|a-zA-Z0-9]; + vchar = [\x1f-\x7e\x80-\xff]; + scheme = [-+.a-zA-Z0-9]+; + userinfo = (char | [:])+; + host = (char | [:[\]])+; + port = [0-9]*; + path = (char | [:@/])*; + query = (char | [:@?/])*; + obs_fold = eol (sp | htab)+; + field_content = vchar ((sp | htab)+ vchar)?; + header_field = #h1 tchar+ ":" #h2 ows (field_content | obs_fold)* ows #h3; + authority = (userinfo "@")? host (":" port)?; + absolute_uri = scheme ":" ("//" (userinfo "@")? host (":" port)?)? path ("?" query)?; + origin_form = "/" path ("?" query)?; + http_version = "HTTP/" [0-9] "." [0-9]; + request_target = authority | absolute_uri | origin_form | "*"; + method = tchar+; + request_line = @m1 method @m2 sp @rt1 request_target @rt2 sp @v3 http_version @v4 eol; + status_code = [0-9]{3}; + reason_phrase = (htab | sp | vchar)*; + status_line = @v1 http_version @v2 sp @s1 status_code @s2 sp @rp1 reason_phrase @rp2 eol; + start_line = (request_line | status_line); + message_head = start_line (header_field eol)* eol; + + * { return 1; } + end { *count = c; *total = t; return 0; } + eol { goto loop; } + message_head { +#ifndef VERIFY + c += 1; + t += (v2 - v1) + (s2 - s1) + (rp2 - rp1) + + (m2 - m1) + (rt2 - rt1) + (v4 - v3); + for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, h3 = h3->pred) { + t += (h2->dist - h1->dist) + (h3->dist - h2->dist); + } +#else + if (s1) printf("%.*s %.*s %.*s\n", + (int)(v2 - v1), v1, + (int)(s2 - s1), s1, + (int)(rp2 - rp1), rp1); + if (m1) printf("%.*s %.*s %.*s\n", + (int)(m2 - m1), m1, + (int)(rt2 - rt1), rt1, + (int)(v4 - v3), v3); + print_headers(in->tok, h1, h2, h3); + printf("\n"); +#endif + taglistpool_clear(&in->tlp, in); + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break; + case 2: fprintf(stderr, "fill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} diff --git a/re2c/test/tags/bench_uri_rfc3986.i.c b/re2c/test/tags/bench_uri_rfc3986.i.c new file mode 100644 index 00000000..da85824d --- /dev/null +++ b/re2c/test/tags/bench_uri_rfc3986.i.c @@ -0,0 +1,7943 @@ +/* Generated by re2c */ +#include +#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, long *total) +{ + const char + *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1, + *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2; + long c, t; + + c = 0; t = 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; *total = t; 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; + { +#ifndef VERIFY + c += 1; + t += (s2 - s1) + (u2 - u1) + (h2 - h1) + (h4 - h3) + + (h6 - h5) + (r2 - r1) + (p2 - p1) + (p4 - p3) + + (q2 - q1) + (f2 - f1); +#else + printf("%.*s:", (int)(s2 - s1), s1); + if (p1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + if (h1) printf("%.*s", (int)(h2 - h1), h1); + if (h3) printf("%.*s", (int)(h4 - h3), h3); + if (h5) printf("%.*s", (int)(h6 - h5), h5); + 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); + if (f1) printf("#%.*s", (int)(f2 - f1), f1); + printf("\n"); +#endif + 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, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 138: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'h6' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 138: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/bench_uri_rfc3986.i.re b/re2c/test/tags/bench_uri_rfc3986.i.re new file mode 100644 index 00000000..0a9c80ff --- /dev/null +++ b/re2c/test/tags/bench_uri_rfc3986.i.re @@ -0,0 +1,178 @@ +#include +#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, long *total) +{ + const char + *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1, + *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2; + long c, t; + + c = 0; t = 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:flags:tags = 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; *total = t; return 0; } + eol { goto loop; } + uri { +#ifndef VERIFY + c += 1; + t += (s2 - s1) + (u2 - u1) + (h2 - h1) + (h4 - h3) + + (h6 - h5) + (r2 - r1) + (p2 - p1) + (p4 - p3) + + (q2 - q1) + (f2 - f1); +#else + printf("%.*s:", (int)(s2 - s1), s1); + if (p1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + if (h1) printf("%.*s", (int)(h2 - h1), h1); + if (h3) printf("%.*s", (int)(h4 - h3), h3); + if (h5) printf("%.*s", (int)(h6 - h5), h5); + 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); + if (f1) printf("#%.*s", (int)(f2 - f1), f1); + printf("\n"); +#endif + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} diff --git a/re2c/test/tags/bench_uri_simple.i.c b/re2c/test/tags/bench_uri_simple.i.c new file mode 100644 index 00000000..5f4efcc2 --- /dev/null +++ b/re2c/test/tags/bench_uri_simple.i.c @@ -0,0 +1,1382 @@ +/* Generated by re2c */ +#include +#include +#include +#include + +#define YYMAXFILL 7 + +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 *yyt2; +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->yyt2 = 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->yyt2) in->yyt2 -= 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, long *total) +{ + const char + *s1, *u1, *h1, *r1, *p1, *q1, *f1, + *s2, *u2, *h2, *r2, *p2, *q2, *f2; + long c, t; + + c = 0; t = 0; +loop: + in->tok = in->cur; + +{ + char yych; + if ((in->lim - in->cur) < 7) if (fill(in, 7) != 0) return 2; + yych = *in->cur; + switch (yych) { + case 0x00: goto yy2; + case '\n': goto yy6; + 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': + in->yyt1 = in->cur; + goto yy8; + default: goto yy4; + } +yy2: + ++in->cur; + { *count = c; *total = t; return 0; } +yy4: + ++in->cur; +yy5: + { return 1; } +yy6: + ++in->cur; + { goto loop; } +yy8: + 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) < 6) if (fill(in, 6) != 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; + goto yy5; +yy12: + 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 '~': + in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL; + in->yyt12 = in->cur; + goto yy14; + case '#': + in->yyt4 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt12 = in->cur; + goto yy16; + case '/': + in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL; + in->yyt12 = in->cur; + goto yy17; + case '?': + in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL; + in->yyt3 = in->yyt12 = in->cur; + goto yy18; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt12 = in->cur; + goto yy13; + } +yy13: + s1 = in->yyt1; + s2 = in->yyt2; + u1 = in->yyt7; + u2 = in->yyt8; + h1 = in->yyt9; + h2 = in->yyt10; + r1 = in->yyt11; + r2 = in->yyt11; + p1 = in->yyt12; + p2 = in->yyt3; + q1 = in->yyt13; + q2 = in->yyt4; + f1 = in->yyt5; + f2 = in->yyt6; + { +#ifndef VERIFY + c += 1; + t += (s2 - s1) + (u2 - u1) + (h2 - h1) + + (r2 - r1) + (p2 - p1) + (q2 - q1) + (f2 - f1); +#else + printf("%.*s:", (int)(s2 - s1), s1); + if (h1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + if (h1) printf("%.*s", (int)(h2 - h1), h1); + if (r1) printf(":%.*s", (int)(r2 - r1), r1); + printf("%.*s", (int)(p2 - p1), p1); + if (q1) printf("?%.*s", (int)(q2 - q1), q1); + if (f1) printf("#%.*s", (int)(f2 - f1), f1); + printf("\n"); +#endif + goto loop; + } +yy14: + ++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 '/': + 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->yyt4 = in->yyt13 = NULL; + in->yyt3 = in->cur; + goto yy16; + case '?': + in->yyt3 = in->cur; + goto yy18; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt13 = NULL; + in->yyt3 = in->cur; + goto yy13; + } +yy16: + yych = *++in->cur; + switch (yych) { + case '!': + 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->yyt5 = in->cur; + goto yy19; + default: + in->yyt5 = in->yyt6 = in->cur; + goto yy13; + } +yy17: + yych = *++in->cur; + switch (yych) { + case '/': goto yy21; + default: goto yy15; + } +yy18: + yych = *++in->cur; + switch (yych) { + case '!': + 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->yyt13 = in->cur; + goto yy22; + case '#': + in->yyt4 = in->yyt13 = in->cur; + goto yy16; + default: + in->yyt5 = in->yyt6 = NULL; + in->yyt4 = in->yyt13 = in->cur; + goto yy13; + } +yy19: + ++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 '/': + 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 yy19; + default: + in->yyt6 = in->cur; + goto yy13; + } +yy21: + 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 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case '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->yyt8 = NULL; + in->yyt3 = in->yyt9 = in->cur; + goto yy24; + case '[': + case ']': + in->yyt7 = in->yyt8 = NULL; + in->yyt9 = in->cur; + goto yy26; + default: goto yy15; + } +yy22: + ++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 '/': + 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 yy22; + case '#': + in->yyt4 = in->cur; + goto yy16; + default: + in->yyt5 = in->yyt6 = NULL; + in->yyt4 = in->cur; + goto yy13; + } +yy24: + ++in->cur; + if ((in->lim - in->cur) < 4) if (fill(in, 4) != 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 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case '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 yy24; + case '#': + in->yyt4 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy16; + case '/': + in->yyt11 = NULL; + in->yyt10 = in->yyt12 = in->cur; + goto yy14; + case '?': + in->yyt11 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy18; + case '@': + in->yyt11 = NULL; + in->yyt4 = in->yyt10 = in->yyt12 = in->cur; + goto yy28; + case '[': + case ']': goto yy26; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy13; + } +yy26: + ++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 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case '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 '~': goto yy26; + case '#': + in->yyt4 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy16; + case '/': + case '@': + in->yyt11 = NULL; + in->yyt10 = in->yyt12 = in->cur; + goto yy14; + case '?': + in->yyt11 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy18; + default: + in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt13 = NULL; + in->yyt3 = in->yyt10 = in->yyt12 = in->cur; + goto yy13; + } +yy28: + 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 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case '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 '~': + in->yyt7 = in->yyt3; + in->yyt8 = in->yyt4; + in->yyt9 = in->cur; + goto yy26; + default: goto yy15; + } +} + +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} +re2c: warning: line 98: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'r2' has 2nd degree of nondeterminism [-Wnondeterministic-tags] +re2c: warning: line 98: tag 'p1' has 2nd degree of nondeterminism [-Wnondeterministic-tags] diff --git a/re2c/test/tags/bench_uri_simple.i.re b/re2c/test/tags/bench_uri_simple.i.re new file mode 100644 index 00000000..24be9148 --- /dev/null +++ b/re2c/test/tags/bench_uri_simple.i.re @@ -0,0 +1,134 @@ +#include +#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, long *total) +{ + const char + *s1, *u1, *h1, *r1, *p1, *q1, *f1, + *s2, *u2, *h2, *r2, *p2, *q2, *f2; + long c, t; + + c = 0; t = 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:flags:tags = 1; + re2c:tags:expression = "in->@@"; + + end = "\x00"; + eol = "\n"; + char = [-._~%!$&'()*+,;=a-zA-Z0-9]; + scheme = @s1 [-+.a-zA-Z0-9]+ @s2; + userinfo = @u1 (char | [:])+ @u2; + host = @h1 (char | [:[\]])+ @h2; + port = @r1 [0-9]* @r2; + path = @p1 (char | [:@/])* @p2; + query = @q1 (char | [:@?/])* @q2; + fragment = @f1 (char | [:@?/])* @f2; + uri = scheme ":" ("//" (userinfo "@")? host (":" port)?)? path ("?" query)? ("#" fragment)?; + + * { return 1; } + end { *count = c; *total = t; return 0; } + eol { goto loop; } + uri { +#ifndef VERIFY + c += 1; + t += (s2 - s1) + (u2 - u1) + (h2 - h1) + + (r2 - r1) + (p2 - p1) + (q2 - q1) + (f2 - f1); +#else + printf("%.*s:", (int)(s2 - s1), s1); + if (h1) printf("//"); + if (u1) printf("%.*s@", (int)(u2 - u1), u1); + if (h1) printf("%.*s", (int)(h2 - h1), h1); + if (r1) printf(":%.*s", (int)(r2 - r1), r1); + printf("%.*s", (int)(p2 - p1), p1); + if (q1) printf("?%.*s", (int)(q2 - q1), q1); + if (f1) printf("#%.*s", (int)(f2 - f1), f1); + printf("\n"); +#endif + goto loop; + } +*/ +} + +int main(int argc, char **argv) +{ + long count, total; + input_t in; + init_input(&in, argv[1]); + + switch (lex(&in, &count, &total)) { + case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break; + case 1: fprintf(stderr, "syntax error\n"); break; + case 2: fprintf(stderr, "yyfill failed\n"); break; + default: fprintf(stderr, "panic!\n"); break; + } + + free_input(&in); + return 0; +} -- 2.40.0