From 3d77b5b65efb78c1da9485dfde1fcd417066b803 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Thu, 27 Jul 2017 12:43:25 +0200 Subject: [PATCH 1/1] cpp: fix relative includes --- src/cpp.c | 41 +- src/cpp.h | 2 +- src/parser.c | 4770 +++++++++++++++++++------------------ src/parser.h | 11 - src/parser.re | 46 +- src/parser_proc.c | 3402 +++++++++++++------------- src/parser_proc_grammar.y | 18 +- src/types/cpp_exp.c | 6 +- 8 files changed, 4252 insertions(+), 4044 deletions(-) diff --git a/src/cpp.c b/src/cpp.c index 8075cf6..b181e27 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -25,6 +25,8 @@ #include "php_psi_stdinc.h" +#include + #include "cpp.h" #include "parser.h" @@ -427,24 +429,49 @@ static inline bool try_include(struct psi_cpp *cpp, const char *path, bool *pars return false; } -bool psi_cpp_include(struct psi_cpp *cpp, const char *file, unsigned flags) +static inline void include_path(const struct psi_token *file, char **path) +{ + if (*file->text == '/') { + *path = file->text; + } else { + char *dir; + size_t len; + + strncpy(*path, file->file, PATH_MAX); + + dir = dirname(*path); + len = strlen(dir); + + assert(len + file->size + 1 < PATH_MAX); + + memmove(*path, dir, len); + (*path)[len] = '/'; + memcpy(&(*path)[len + 1], file->text, file->size + 1); + } +} + +bool psi_cpp_include(struct psi_cpp *cpp, const struct psi_token *file, unsigned flags) { bool parsed = false; - int f_len = strlen(file); + int f_len = strlen(file->text); - if (!(flags & PSI_CPP_INCLUDE_NEXT) || *file == '/') { + if (!(flags & PSI_CPP_INCLUDE_NEXT) || *file->text == '/') { /* first try as is, full or relative path */ - if ((flags & PSI_CPP_INCLUDE_ONCE) && zend_hash_str_exists(&cpp->once, file, f_len)) { + char temp[PATH_MAX], *path = temp; + + include_path(file, &path); + + if ((flags & PSI_CPP_INCLUDE_ONCE) && zend_hash_str_exists(&cpp->once, path, f_len)) { return true; } - if (try_include(cpp, file, &parsed)) { + if (try_include(cpp, path, &parsed)) { /* found */ return parsed; } } /* look through search paths */ - if (*file != '/') { + if (*file->text != '/') { char path[PATH_MAX]; const char *sep; int p_len; @@ -468,7 +495,7 @@ bool psi_cpp_include(struct psi_cpp *cpp, const char *file, unsigned flags) sep = strchr(cpp->search, ':'); d_len = sep ? sep - cpp->search : strlen(cpp->search); - if (PATH_MAX > (p_len = snprintf(path, PATH_MAX, "%.*s/%.*s", d_len, cpp->search, f_len, file))) { + if (PATH_MAX > (p_len = snprintf(path, PATH_MAX, "%.*s/%.*s", d_len, cpp->search, f_len, file->text))) { if ((flags & PSI_CPP_INCLUDE_ONCE) && zend_hash_str_exists(&cpp->once, path, p_len)) { return true; } diff --git a/src/cpp.h b/src/cpp.h index 9c74588..49bdd31 100644 --- a/src/cpp.h +++ b/src/cpp.h @@ -59,7 +59,7 @@ bool psi_cpp_undef(struct psi_cpp *cpp, struct psi_token *tok); #define PSI_CPP_INCLUDE_NEXT 0x1 #define PSI_CPP_INCLUDE_ONCE 0x2 -bool psi_cpp_include(struct psi_cpp *cpp, const char *file, unsigned flags); +bool psi_cpp_include(struct psi_cpp *cpp, const struct psi_token *file, unsigned flags); void psi_cpp_tokiter_reset(struct psi_cpp *cpp); bool psi_cpp_tokiter_seek(struct psi_cpp *cpp, size_t index); diff --git a/src/parser.c b/src/parser.c index f2d2473..4e979dd 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Thu Jul 27 10:44:33 2017 */ +/* Generated by re2c 0.16 on Thu Jul 27 12:41:40 2017 */ #line 1 "src/parser.re" /******************************************************************************* Copyright (c) 2016, Michael Wallner . @@ -354,18 +354,12 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input case '?': goto yy52; case 'A': case 'a': goto yy54; - case 'B': - case 'b': goto yy56; - case 'C': - case 'c': goto yy57; - case 'D': - case 'd': goto yy58; - case 'E': - case 'e': goto yy59; - case 'F': - case 'f': goto yy60; - case 'I': - case 'i': goto yy63; + case 'B': goto yy56; + case 'C': goto yy57; + case 'D': goto yy58; + case 'E': goto yy59; + case 'F': goto yy60; + case 'I': goto yy63; case 'L': goto yy64; case 'M': case 'm': goto yy65; @@ -376,29 +370,34 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input case 'P': goto yy68; case 'R': case 'r': goto yy69; - case 'S': - case 's': goto yy70; - case 'T': - case 't': goto yy71; + case 'S': goto yy70; + case 'T': goto yy71; case 'U': goto yy72; - case 'V': - case 'v': goto yy73; case 'W': - case 'w': goto yy74; + case 'w': goto yy73; case 'Z': - case 'z': goto yy75; - case '[': goto yy76; - case '\\': goto yy78; - case ']': goto yy80; - case '^': goto yy82; - case '_': goto yy84; - case 'l': goto yy85; - case 'p': goto yy86; - case 'u': goto yy87; - case '{': goto yy88; - case '|': goto yy90; - case '}': goto yy92; - case '~': goto yy94; + case 'z': goto yy74; + case '[': goto yy75; + case '\\': goto yy77; + case ']': goto yy79; + case '^': goto yy81; + case '_': goto yy83; + case 'b': goto yy84; + case 'c': goto yy85; + case 'd': goto yy86; + case 'e': goto yy87; + case 'f': goto yy88; + case 'i': goto yy89; + case 'l': goto yy90; + case 'p': goto yy91; + case 's': goto yy92; + case 't': goto yy93; + case 'u': goto yy94; + case 'v': goto yy95; + case '{': goto yy96; + case '|': goto yy98; + case '}': goto yy100; + case '~': goto yy102; default: goto yy61; } yy2: @@ -406,7 +405,7 @@ yy2: yy3: #line 452 "src/parser.re" { NEWTOKEN(-2); goto error; } -#line 410 "src/parser.c" +#line 409 "src/parser.c" yy4: ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -420,37 +419,37 @@ yy4: yy6: #line 451 "src/parser.re" { NEWTOKEN(PSI_T_WHITESPACE); goto start; } -#line 424 "src/parser.c" +#line 423 "src/parser.c" yy7: ++cur; #line 450 "src/parser.re" { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; } -#line 429 "src/parser.c" +#line 428 "src/parser.c" yy9: ++cur; switch ((yych = *cur)) { - case '=': goto yy96; + case '=': goto yy104; default: goto yy10; } yy10: #line 349 "src/parser.re" { NEWTOKEN(PSI_T_NOT); goto start; } -#line 439 "src/parser.c" +#line 438 "src/parser.c" yy11: ++cur; #line 322 "src/parser.re" { escaped = false; tok += 1; goto string; } -#line 444 "src/parser.c" +#line 443 "src/parser.c" yy13: ++cur; switch ((yych = *cur)) { - case '#': goto yy98; + case '#': goto yy106; default: goto yy14; } yy14: #line 332 "src/parser.re" { NEWTOKEN(PSI_T_HASH); goto start; } -#line 454 "src/parser.c" +#line 453 "src/parser.c" yy15: yych = *++cur; switch (yych) { @@ -519,48 +518,48 @@ yy15: case '}': case '~': case 0x7F: goto yy3; - default: goto yy100; + default: goto yy108; } yy16: ++cur; #line 350 "src/parser.re" { NEWTOKEN(PSI_T_MODULO); goto start; } -#line 529 "src/parser.c" +#line 528 "src/parser.c" yy18: ++cur; switch ((yych = *cur)) { - case '&': goto yy103; + case '&': goto yy111; default: goto yy19; } yy19: #line 351 "src/parser.re" { NEWTOKEN(PSI_T_AMPERSAND); goto start; } -#line 539 "src/parser.c" +#line 538 "src/parser.c" yy20: ++cur; #line 321 "src/parser.re" { escaped = false; tok += 1; goto character; } -#line 544 "src/parser.c" +#line 543 "src/parser.c" yy22: ++cur; #line 333 "src/parser.re" { NEWTOKEN(PSI_T_LPAREN); goto start; } -#line 549 "src/parser.c" +#line 548 "src/parser.c" yy24: ++cur; #line 334 "src/parser.re" { NEWTOKEN(PSI_T_RPAREN); goto start; } -#line 554 "src/parser.c" +#line 553 "src/parser.c" yy26: ++cur; #line 347 "src/parser.re" { NEWTOKEN(PSI_T_ASTERISK); goto start; } -#line 559 "src/parser.c" +#line 558 "src/parser.c" yy28: yyaccept = 0; yych = *(mrk = ++cur); switch (yych) { - case '.': goto yy105; + case '.': goto yy113; case '0': goto yy38; case '1': case '2': @@ -576,17 +575,17 @@ yy28: yy29: #line 352 "src/parser.re" { NEWTOKEN(PSI_T_PLUS); goto start; } -#line 580 "src/parser.c" +#line 579 "src/parser.c" yy30: ++cur; #line 336 "src/parser.re" { NEWTOKEN(PSI_T_COMMA); goto start; } -#line 585 "src/parser.c" +#line 584 "src/parser.c" yy32: yyaccept = 1; yych = *(mrk = ++cur); switch (yych) { - case '.': goto yy105; + case '.': goto yy113; case '0': goto yy38; case '1': case '2': @@ -602,12 +601,12 @@ yy32: yy33: #line 353 "src/parser.re" { NEWTOKEN(PSI_T_MINUS); goto start; } -#line 606 "src/parser.c" +#line 605 "src/parser.c" yy34: yyaccept = 2; yych = *(mrk = ++cur); switch (yych) { - case '.': goto yy107; + case '.': goto yy115; case '0': case '1': case '2': @@ -617,30 +616,30 @@ yy34: case '6': case '7': case '8': - case '9': goto yy108; + case '9': goto yy116; default: goto yy35; } yy35: #line 364 "src/parser.re" { NEWTOKEN(PSI_T_PERIOD); goto start; } -#line 627 "src/parser.c" +#line 626 "src/parser.c" yy36: ++cur; switch ((yych = *cur)) { - case '*': goto yy111; - case '/': goto yy113; + case '*': goto yy119; + case '/': goto yy121; default: goto yy37; } yy37: #line 354 "src/parser.re" { NEWTOKEN(PSI_T_SLASH); goto start; } -#line 638 "src/parser.c" +#line 637 "src/parser.c" yy38: yyaccept = 3; yych = *(mrk = ++cur); ctxmrk = cur; switch (yych) { - case '.': goto yy115; + case '.': goto yy123; case '0': case '1': case '2': @@ -648,21 +647,21 @@ yy38: case '4': case '5': case '6': - case '7': goto yy117; + case '7': goto yy125; case 'E': - case 'e': goto yy119; + case 'e': goto yy127; case 'L': - case 'l': goto yy120; + case 'l': goto yy128; case 'U': - case 'u': goto yy122; + case 'u': goto yy130; case 'X': - case 'x': goto yy124; + case 'x': goto yy132; default: goto yy39; } yy39: #line 308 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; } -#line 666 "src/parser.c" +#line 665 "src/parser.c" yy40: yyaccept = 3; mrk = ++cur; @@ -670,7 +669,7 @@ yy40: yych = *cur; ctxmrk = cur; switch (yych) { - case '.': goto yy115; + case '.': goto yy123; case '0': case '1': case '2': @@ -682,23 +681,23 @@ yy40: case '8': case '9': goto yy40; case 'E': - case 'e': goto yy119; + case 'e': goto yy127; case 'L': - case 'l': goto yy120; + case 'l': goto yy128; case 'U': - case 'u': goto yy122; + case 'u': goto yy130; default: goto yy39; } yy42: ++cur; #line 337 "src/parser.re" { NEWTOKEN(PSI_T_COLON); goto start; } -#line 697 "src/parser.c" +#line 696 "src/parser.c" yy44: ++cur; #line 335 "src/parser.re" { NEWTOKEN(PSI_T_EOS); goto start; } -#line 702 "src/parser.c" +#line 701 "src/parser.c" yy46: yyaccept = 4; yych = *(mrk = ++cur); @@ -768,59 +767,59 @@ yy46: case 'w': case 'x': case 'y': - case 'z': goto yy125; - case '<': goto yy127; - case '=': goto yy129; + case 'z': goto yy133; + case '<': goto yy135; + case '=': goto yy137; default: goto yy47; } yy47: #line 362 "src/parser.re" { NEWTOKEN(PSI_T_LCHEVR); goto start; } -#line 780 "src/parser.c" +#line 779 "src/parser.c" yy48: ++cur; switch ((yych = *cur)) { - case '=': goto yy131; + case '=': goto yy139; default: goto yy49; } yy49: #line 346 "src/parser.re" { NEWTOKEN(PSI_T_EQUALS); goto start; } -#line 790 "src/parser.c" +#line 789 "src/parser.c" yy50: ++cur; switch ((yych = *cur)) { - case '=': goto yy133; - case '>': goto yy135; + case '=': goto yy141; + case '>': goto yy143; default: goto yy51; } yy51: #line 363 "src/parser.re" { NEWTOKEN(PSI_T_RCHEVR); goto start; } -#line 801 "src/parser.c" +#line 800 "src/parser.c" yy52: ++cur; #line 366 "src/parser.re" { NEWTOKEN(PSI_T_IIF); goto start; } -#line 806 "src/parser.c" +#line 805 "src/parser.c" yy54: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy137; + case 'r': goto yy145; default: goto yy62; } yy55: #line 445 "src/parser.re" { NEWTOKEN(PSI_T_NAME); goto start; } -#line 818 "src/parser.c" +#line 817 "src/parser.c" yy56: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy139; + case 'o': goto yy147; default: goto yy62; } yy57: @@ -828,11 +827,9 @@ yy57: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy140; - case 'H': - case 'h': goto yy141; + case 'a': goto yy148; case 'O': - case 'o': goto yy142; + case 'o': goto yy149; default: goto yy62; } yy58: @@ -840,9 +837,7 @@ yy58: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy143; - case 'O': - case 'o': goto yy144; + case 'e': goto yy150; default: goto yy62; } yy59: @@ -850,11 +845,11 @@ yy59: yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy145; + case 'l': goto yy151; case 'N': - case 'n': goto yy146; + case 'n': goto yy152; case 'R': - case 'r': goto yy147; + case 'r': goto yy153; default: goto yy62; } yy60: @@ -862,13 +857,13 @@ yy60: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy148; + case 'a': goto yy154; case 'L': - case 'l': goto yy149; + case 'l': goto yy155; case 'R': - case 'r': goto yy150; + case 'r': goto yy156; case 'U': - case 'u': goto yy151; + case 'u': goto yy157; default: goto yy62; } yy61: @@ -942,7 +937,7 @@ yy62: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy138; + case '\\': goto yy146; default: goto yy61; } yy63: @@ -950,9 +945,9 @@ yy63: yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy152; + case 'f': goto yy158; case 'N': - case 'n': goto yy154; + case 'n': goto yy160; default: goto yy62; } yy64: @@ -961,13 +956,11 @@ yy64: ctxmrk = cur; switch (yych) { case '"': - case '\'': goto yy155; + case '\'': goto yy161; case 'E': - case 'e': goto yy157; + case 'e': goto yy163; case 'I': - case 'i': goto yy158; - case 'O': - case 'o': goto yy159; + case 'i': goto yy164; default: goto yy62; } yy65: @@ -975,7 +968,7 @@ yy65: yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy160; + case 'i': goto yy165; default: goto yy62; } yy66: @@ -983,7 +976,7 @@ yy66: yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy161; + case 'u': goto yy166; default: goto yy62; } yy67: @@ -991,7 +984,7 @@ yy67: yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy162; + case 'b': goto yy167; default: goto yy62; } yy68: @@ -999,11 +992,11 @@ yy68: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy163; + case 'a': goto yy168; case 'O': - case 'o': goto yy164; + case 'o': goto yy169; case 'R': - case 'r': goto yy165; + case 'r': goto yy170; default: goto yy62; } yy69: @@ -1011,7 +1004,7 @@ yy69: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy166; + case 'e': goto yy171; default: goto yy62; } yy70: @@ -1019,13 +1012,9 @@ yy70: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy167; - case 'H': - case 'h': goto yy168; - case 'I': - case 'i': goto yy169; + case 'e': goto yy172; case 'T': - case 't': goto yy170; + case 't': goto yy173; default: goto yy62; } yy71: @@ -1033,13 +1022,11 @@ yy71: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy171; + case 'e': goto yy174; case 'O': - case 'o': goto yy172; + case 'o': goto yy175; case 'R': - case 'r': goto yy173; - case 'Y': - case 'y': goto yy174; + case 'r': goto yy176; default: goto yy62; } yy72: @@ -1048,22 +1035,12 @@ yy72: ctxmrk = cur; switch (yych) { case '"': - case '\'': goto yy175; - case 'I': - case 'i': goto yy177; + case '\'': goto yy177; case 'N': - case 'n': goto yy178; + case 'n': goto yy179; default: goto yy62; } yy73: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'O': - case 'o': goto yy179; - default: goto yy62; - } -yy74: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { @@ -1071,7 +1048,7 @@ yy74: case 'a': goto yy180; default: goto yy62; } -yy75: +yy74: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { @@ -1079,12 +1056,12 @@ yy75: case 'v': goto yy181; default: goto yy62; } -yy76: +yy75: ++cur; #line 340 "src/parser.re" { NEWTOKEN(PSI_T_LBRACKET); goto start; } -#line 1087 "src/parser.c" -yy78: +#line 1064 "src/parser.c" +yy77: ++cur; switch ((yych = *cur)) { case 0x00: @@ -1161,104 +1138,198 @@ yy78: case '|': case '}': case '~': - case 0x7F: goto yy79; + case 0x7F: goto yy78; default: goto yy182; } -yy79: +yy78: #line 355 "src/parser.re" { NEWTOKEN(PSI_T_BSLASH); goto start; } -#line 1171 "src/parser.c" -yy80: +#line 1148 "src/parser.c" +yy79: ++cur; #line 341 "src/parser.re" { NEWTOKEN(PSI_T_RBRACKET); goto start; } -#line 1176 "src/parser.c" -yy82: +#line 1153 "src/parser.c" +yy81: ++cur; #line 357 "src/parser.re" { NEWTOKEN(PSI_T_CARET); goto start; } -#line 1181 "src/parser.c" -yy84: +#line 1158 "src/parser.c" +yy83: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case '_': goto yy185; default: goto yy62; } +yy84: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'O': goto yy147; + case 'o': goto yy186; + default: goto yy62; + } yy85: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy157; - case 'I': goto yy158; - case 'O': - case 'o': goto yy159; - case 'i': goto yy186; + case 'A': + case 'a': goto yy148; + case 'O': goto yy149; + case 'h': goto yy187; + case 'o': goto yy188; default: goto yy62; } yy86: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy150; + case 'o': goto yy189; + default: goto yy62; + } +yy87: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy151; + case 'N': goto yy152; + case 'R': + case 'r': goto yy153; + case 'n': goto yy190; + default: goto yy62; + } +yy88: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy154; + case 'L': goto yy155; + case 'R': + case 'r': goto yy156; + case 'U': + case 'u': goto yy157; + case 'l': goto yy191; + default: goto yy62; + } +yy89: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'F': + case 'f': goto yy158; + case 'N': goto yy160; + case 'n': goto yy192; + default: goto yy62; + } +yy90: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy163; + case 'I': goto yy164; + case 'i': goto yy193; + case 'o': goto yy194; + default: goto yy62; + } +yy91: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy163; + case 'a': goto yy168; case 'O': - case 'o': goto yy164; - case 'R': goto yy165; - case 'r': goto yy187; + case 'o': goto yy169; + case 'R': goto yy170; + case 'r': goto yy195; default: goto yy62; } -yy87: +yy92: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy172; + case 'T': goto yy173; + case 'h': goto yy196; + case 'i': goto yy197; + case 't': goto yy198; + default: goto yy62; + } +yy93: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy174; + case 'O': + case 'o': goto yy175; + case 'R': + case 'r': goto yy176; + case 'y': goto yy199; + default: goto yy62; + } +yy94: yyaccept = 5; yych = *(mrk = ++cur); ctxmrk = cur; switch (yych) { case '"': - case '\'': goto yy188; - case '8': goto yy190; - case 'I': - case 'i': goto yy177; - case 'N': - case 'n': goto yy178; + case '\'': goto yy200; + case '8': goto yy202; + case 'N': goto yy179; + case 'i': goto yy203; + case 'n': goto yy204; default: goto yy62; } -yy88: +yy95: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'o': goto yy205; + default: goto yy62; + } +yy96: ++cur; #line 338 "src/parser.re" { NEWTOKEN(PSI_T_LBRACE); goto start; } -#line 1231 "src/parser.c" -yy90: +#line 1302 "src/parser.c" +yy98: ++cur; switch ((yych = *cur)) { - case '|': goto yy191; - default: goto yy91; + case '|': goto yy206; + default: goto yy99; } -yy91: +yy99: #line 356 "src/parser.re" { NEWTOKEN(PSI_T_PIPE); goto start; } -#line 1241 "src/parser.c" -yy92: +#line 1312 "src/parser.c" +yy100: ++cur; #line 339 "src/parser.re" { NEWTOKEN(PSI_T_RBRACE); goto start; } -#line 1246 "src/parser.c" -yy94: +#line 1317 "src/parser.c" +yy102: ++cur; #line 348 "src/parser.re" { NEWTOKEN(PSI_T_TILDE); goto start; } -#line 1251 "src/parser.c" -yy96: +#line 1322 "src/parser.c" +yy104: ++cur; #line 342 "src/parser.re" { NEWTOKEN(PSI_T_CMP_NE); goto start; } -#line 1256 "src/parser.c" -yy98: +#line 1327 "src/parser.c" +yy106: ++cur; #line 331 "src/parser.re" { NEWTOKEN(PSI_T_CPP_PASTE); goto start; } -#line 1261 "src/parser.c" -yy100: +#line 1332 "src/parser.c" +yy108: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1327,19 +1398,19 @@ yy100: case '|': case '}': case '~': - case 0x7F: goto yy102; - default: goto yy100; + case 0x7F: goto yy110; + default: goto yy108; } -yy102: +yy110: #line 447 "src/parser.re" { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; } -#line 1337 "src/parser.c" -yy103: +#line 1408 "src/parser.c" +yy111: ++cur; #line 344 "src/parser.re" { NEWTOKEN(PSI_T_AND); goto start; } -#line 1342 "src/parser.c" -yy105: +#line 1413 "src/parser.c" +yy113: yych = *++cur; switch (yych) { case '0': @@ -1351,10 +1422,10 @@ yy105: case '6': case '7': case '8': - case '9': goto yy108; - default: goto yy106; + case '9': goto yy116; + default: goto yy114; } -yy106: +yy114: cur = mrk; switch (yyaccept) { case 0: goto yy29; @@ -1363,95 +1434,95 @@ yy106: case 3: goto yy39; case 4: goto yy47; case 5: goto yy55; - case 6: goto yy110; - case 7: goto yy121; - case 8: goto yy153; + case 6: goto yy118; + case 7: goto yy129; + case 8: goto yy159; case 9: goto yy184; - case 10: goto yy229; - case 11: goto yy231; - case 12: goto yy233; - case 13: goto yy243; - case 14: goto yy279; - case 15: goto yy282; - case 16: goto yy288; - case 17: goto yy290; - case 18: goto yy293; - case 19: goto yy298; - case 20: goto yy309; - case 21: goto yy312; - case 22: goto yy327; - case 23: goto yy335; - case 24: goto yy342; - case 25: goto yy345; - case 26: goto yy351; - case 27: goto yy354; - case 28: goto yy361; - case 29: goto yy363; - case 30: goto yy367; - case 31: goto yy369; - case 32: goto yy371; - case 33: goto yy373; - case 34: goto yy376; - case 35: goto yy385; - case 36: goto yy393; - case 37: goto yy412; - case 38: goto yy414; - case 39: goto yy423; - case 40: goto yy428; - case 41: goto yy430; - case 42: goto yy432; - case 43: goto yy436; - case 44: goto yy442; - case 45: goto yy444; - case 46: goto yy446; - case 47: goto yy448; - case 48: goto yy453; - case 49: goto yy455; - case 50: goto yy457; - case 51: goto yy459; - case 52: goto yy461; - case 53: goto yy463; - case 54: goto yy465; - case 55: goto yy470; - case 56: goto yy485; - case 57: goto yy487; - case 58: goto yy491; - case 59: goto yy495; - case 60: goto yy497; - case 61: goto yy499; - case 62: goto yy501; - case 63: goto yy503; - case 64: goto yy508; - case 65: goto yy513; - case 66: goto yy518; - case 67: goto yy521; - case 68: goto yy523; - case 69: goto yy530; - case 70: goto yy532; - case 71: goto yy534; - case 72: goto yy536; - case 73: goto yy541; - case 74: goto yy543; - case 75: goto yy547; - case 76: goto yy549; - case 77: goto yy551; - case 78: goto yy553; - case 79: goto yy563; - case 80: goto yy565; - case 81: goto yy573; - case 82: goto yy577; - case 83: goto yy581; - case 84: goto yy585; - case 85: goto yy587; - default: goto yy592; - } -yy107: + case 10: goto yy241; + case 11: goto yy243; + case 12: goto yy252; + case 13: goto yy271; + case 14: goto yy302; + case 15: goto yy304; + case 16: goto yy310; + case 17: goto yy318; + case 18: goto yy330; + case 19: goto yy338; + case 20: goto yy342; + case 21: goto yy348; + case 22: goto yy350; + case 23: goto yy354; + case 24: goto yy361; + case 25: goto yy363; + case 26: goto yy373; + case 27: goto yy375; + case 28: goto yy382; + case 29: goto yy385; + case 30: goto yy387; + case 31: goto yy389; + case 32: goto yy393; + case 33: goto yy398; + case 34: goto yy416; + case 35: goto yy423; + case 36: goto yy426; + case 37: goto yy433; + case 38: goto yy442; + case 39: goto yy445; + case 40: goto yy450; + case 41: goto yy452; + case 42: goto yy456; + case 43: goto yy459; + case 44: goto yy461; + case 45: goto yy463; + case 46: goto yy468; + case 47: goto yy470; + case 48: goto yy472; + case 49: goto yy474; + case 50: goto yy476; + case 51: goto yy481; + case 52: goto yy490; + case 53: goto yy495; + case 54: goto yy497; + case 55: goto yy499; + case 56: goto yy501; + case 57: goto yy509; + case 58: goto yy513; + case 59: goto yy517; + case 60: goto yy519; + case 61: goto yy524; + case 62: goto yy529; + case 63: goto yy531; + case 64: goto yy536; + case 65: goto yy538; + case 66: goto yy540; + case 67: goto yy544; + case 68: goto yy549; + case 69: goto yy552; + case 70: goto yy554; + case 71: goto yy556; + case 72: goto yy558; + case 73: goto yy563; + case 74: goto yy565; + case 75: goto yy574; + case 76: goto yy576; + case 77: goto yy578; + case 78: goto yy580; + case 79: goto yy585; + case 80: goto yy587; + case 81: goto yy595; + case 82: goto yy599; + case 83: goto yy603; + case 84: goto yy607; + case 85: goto yy609; + default: goto yy614; + } +yy115: yych = *++cur; switch (yych) { - case '.': goto yy193; - default: goto yy106; + case '.': goto yy208; + default: goto yy114; } -yy108: +yy116: yyaccept = 6; mrk = ++cur; if ((lim - cur) < 2) if (cur >= lim) goto done;; @@ -1467,30 +1538,30 @@ yy108: case '6': case '7': case '8': - case '9': goto yy108; + case '9': goto yy116; case 'D': - case 'd': goto yy195; + case 'd': goto yy210; case 'F': - case 'f': goto yy196; + case 'f': goto yy211; case 'L': - case 'l': goto yy198; - default: goto yy110; + case 'l': goto yy213; + default: goto yy118; } -yy110: +yy118: #line 314 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; } -#line 1483 "src/parser.c" -yy111: +#line 1554 "src/parser.c" +yy119: ++cur; #line 328 "src/parser.re" { goto comment; } -#line 1488 "src/parser.c" -yy113: +#line 1559 "src/parser.c" +yy121: ++cur; #line 329 "src/parser.re" { goto comment_sl; } -#line 1493 "src/parser.c" -yy115: +#line 1564 "src/parser.c" +yy123: yyaccept = 6; mrk = ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; @@ -1506,18 +1577,18 @@ yy115: case '6': case '7': case '8': - case '9': goto yy115; + case '9': goto yy123; case 'D': - case 'd': goto yy195; + case 'd': goto yy210; case 'E': - case 'e': goto yy119; + case 'e': goto yy127; case 'F': - case 'f': goto yy196; + case 'f': goto yy211; case 'L': - case 'l': goto yy198; - default: goto yy110; + case 'l': goto yy213; + default: goto yy118; } -yy117: +yy125: ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; @@ -1530,18 +1601,18 @@ yy117: case '4': case '5': case '6': - case '7': goto yy117; + case '7': goto yy125; case 'L': - case 'l': goto yy120; + case 'l': goto yy128; case 'U': - case 'u': goto yy122; + case 'u': goto yy130; default: goto yy39; } -yy119: +yy127: yych = *++cur; switch (yych) { case '+': - case '-': goto yy105; + case '-': goto yy113; case '0': case '1': case '2': @@ -1551,37 +1622,37 @@ yy119: case '6': case '7': case '8': - case '9': goto yy108; - default: goto yy106; + case '9': goto yy116; + default: goto yy114; } -yy120: +yy128: yyaccept = 7; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy200; + case 'l': goto yy215; case 'U': - case 'u': goto yy201; - default: goto yy121; + case 'u': goto yy216; + default: goto yy129; } -yy121: +yy129: cur = ctxmrk; #line 310 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; } -#line 1572 "src/parser.c" -yy122: +#line 1643 "src/parser.c" +yy130: ++cur; switch ((yych = *cur)) { case 'L': - case 'l': goto yy203; - default: goto yy123; + case 'l': goto yy218; + default: goto yy131; } -yy123: +yy131: cur = ctxmrk; #line 309 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; } -#line 1584 "src/parser.c" -yy124: +#line 1655 "src/parser.c" +yy132: yych = *++cur; switch (yych) { case '0': @@ -1605,10 +1676,10 @@ yy124: case 'c': case 'd': case 'e': - case 'f': goto yy204; - default: goto yy106; + case 'f': goto yy219; + default: goto yy114; } -yy125: +yy133: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1678,44 +1749,44 @@ yy125: case 'w': case 'x': case 'y': - case 'z': goto yy125; - case '>': goto yy206; - default: goto yy106; + case 'z': goto yy133; + case '>': goto yy221; + default: goto yy114; } -yy127: +yy135: ++cur; #line 358 "src/parser.re" { NEWTOKEN(PSI_T_LSHIFT); goto start; } -#line 1690 "src/parser.c" -yy129: +#line 1761 "src/parser.c" +yy137: ++cur; #line 360 "src/parser.re" { NEWTOKEN(PSI_T_CMP_LE); goto start; } -#line 1695 "src/parser.c" -yy131: +#line 1766 "src/parser.c" +yy139: ++cur; #line 343 "src/parser.re" { NEWTOKEN(PSI_T_CMP_EQ); goto start; } -#line 1700 "src/parser.c" -yy133: +#line 1771 "src/parser.c" +yy141: ++cur; #line 361 "src/parser.re" { NEWTOKEN(PSI_T_CMP_GE); goto start; } -#line 1705 "src/parser.c" -yy135: +#line 1776 "src/parser.c" +yy143: ++cur; #line 359 "src/parser.re" { NEWTOKEN(PSI_T_RSHIFT); goto start; } -#line 1710 "src/parser.c" -yy137: +#line 1781 "src/parser.c" +yy145: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy208; + case 'r': goto yy223; default: goto yy62; } -yy138: +yy146: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1794,120 +1865,100 @@ yy138: case '|': case '}': case '~': - case 0x7F: goto yy106; + case 0x7F: goto yy114; default: goto yy182; } -yy139: +yy147: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy209; + case 'o': goto yy224; default: goto yy62; } -yy140: +yy148: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy210; - default: goto yy62; - } -yy141: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy211; + case 'l': goto yy225; default: goto yy62; } -yy142: +yy149: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy212; case 'U': - case 'u': goto yy213; + case 'u': goto yy226; default: goto yy62; } -yy143: +yy150: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy214; - default: goto yy62; - } -yy144: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'U': - case 'u': goto yy215; + case 'f': goto yy227; default: goto yy62; } -yy145: +yy151: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy216; + case 'i': goto yy228; case 'S': - case 's': goto yy217; + case 's': goto yy229; default: goto yy62; } -yy146: +yy152: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy218; - case 'U': - case 'u': goto yy219; + case 'd': goto yy230; default: goto yy62; } -yy147: +yy153: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy220; + case 'r': goto yy231; default: goto yy62; } -yy148: +yy154: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy221; + case 'l': goto yy232; default: goto yy62; } -yy149: +yy155: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy222; + case 'o': goto yy233; default: goto yy62; } -yy150: +yy156: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy223; + case 'e': goto yy234; default: goto yy62; } -yy151: +yy157: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy224; + case 'n': goto yy235; default: goto yy62; } -yy152: +yy158: yyaccept = 8; yych = *(mrk = ++cur); switch (yych) { @@ -1974,219 +2025,167 @@ yy152: case '|': case '}': case '~': - case 0x7F: goto yy153; + case 0x7F: goto yy159; case 'D': - case 'd': goto yy225; + case 'd': goto yy236; case 'N': - case 'n': goto yy226; - case '\\': goto yy138; + case 'n': goto yy237; + case '\\': goto yy146; default: goto yy61; } -yy153: -#line 373 "src/parser.re" +yy159: +#line 396 "src/parser.re" { NEWTOKEN(PSI_T_IF); goto start; } -#line 1989 "src/parser.c" -yy154: +#line 2040 "src/parser.c" +yy160: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy227; + case 'c': goto yy238; case 'T': - case 't': goto yy228; + case 't': goto yy239; default: goto yy62; } -yy155: +yy161: ++cur; cur = ctxmrk; #line 326 "src/parser.re" { char_width = SIZEOF_WCHAR_T/8; } -#line 2005 "src/parser.c" -yy157: +#line 2056 "src/parser.c" +yy163: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy230; + case 't': goto yy240; default: goto yy62; } -yy158: +yy164: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy232; + case 'b': goto yy242; default: goto yy62; } -yy159: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy234; - default: goto yy62; - } -yy160: +yy165: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy235; + case 'x': goto yy244; default: goto yy62; } -yy161: +yy166: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy236; + case 'l': goto yy245; default: goto yy62; } -yy162: +yy167: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy237; + case 'j': goto yy246; default: goto yy62; } -yy163: +yy168: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy238; + case 't': goto yy247; default: goto yy62; } -yy164: +yy169: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy239; + case 's': goto yy248; default: goto yy62; } -yy165: +yy170: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy240; + case 'e': goto yy249; default: goto yy62; } -yy166: +yy171: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy241; + case 't': goto yy250; default: goto yy62; } -yy167: +yy172: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy242; + case 't': goto yy251; default: goto yy62; } -yy168: +yy173: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy244; + case 'A': + case 'a': goto yy253; + case 'R': + case 'r': goto yy254; default: goto yy62; } -yy169: +yy174: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy245; + case 'M': + case 'm': goto yy255; default: goto yy62; } -yy170: +yy175: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy246; - case 'R': - case 'r': goto yy247; + case '_': goto yy256; default: goto yy62; } -yy171: +yy176: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'M': - case 'm': goto yy248; + case 'U': + case 'u': goto yy257; default: goto yy62; } -yy172: +yy177: + ++cur; + cur = ctxmrk; +#line 325 "src/parser.re" + { char_width = 4; } +#line 2175 "src/parser.c" +yy179: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy249; + case 'D': + case 'd': goto yy258; default: goto yy62; } -yy173: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'U': - case 'u': goto yy250; - default: goto yy62; - } -yy174: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'P': - case 'p': goto yy251; - default: goto yy62; - } -yy175: - ++cur; - cur = ctxmrk; -#line 325 "src/parser.re" - { char_width = 4; } -#line 2156 "src/parser.c" -yy177: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy252; - default: goto yy62; - } -yy178: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy253; - case 'I': - case 'i': goto yy254; - case 'S': - case 's': goto yy255; - default: goto yy62; - } -yy179: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'I': - case 'i': goto yy256; - default: goto yy62; - } -yy180: +yy180: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy257; + case 'r': goto yy259; default: goto yy62; } yy181: @@ -2194,7 +2193,7 @@ yy181: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy258; + case 'a': goto yy260; default: goto yy62; } yy182: @@ -2267,116 +2266,236 @@ yy182: case '}': case '~': case 0x7F: goto yy184; - case '\\': goto yy138; + case '\\': goto yy146; default: goto yy182; } yy184: #line 446 "src/parser.re" { NEWTOKEN(PSI_T_NSNAME); goto start; } -#line 2277 "src/parser.c" +#line 2276 "src/parser.c" yy185: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'a': goto yy259; - case 'e': goto yy260; - case 'r': goto yy261; + case 'a': goto yy261; + case 'e': goto yy262; + case 'r': goto yy263; default: goto yy62; } yy186: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy232; - case 'n': goto yy262; + case 'O': goto yy224; + case 'o': goto yy264; default: goto yy62; } yy187: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy240; - case 'a': goto yy263; + case 'a': goto yy265; default: goto yy62; } yy188: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'U': + case 'u': goto yy226; + case 'n': goto yy266; + default: goto yy62; + } +yy189: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'u': goto yy267; + default: goto yy62; + } +yy190: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy230; + case 'u': goto yy268; + default: goto yy62; + } +yy191: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'O': goto yy233; + case 'o': goto yy269; + default: goto yy62; + } +yy192: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy238; + case 'T': goto yy239; + case 't': goto yy270; + default: goto yy62; + } +yy193: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'B': + case 'b': goto yy242; + case 'n': goto yy272; + default: goto yy62; + } +yy194: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy273; + default: goto yy62; + } +yy195: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy249; + case 'a': goto yy274; + default: goto yy62; + } +yy196: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'o': goto yy275; + default: goto yy62; + } +yy197: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'g': goto yy276; + default: goto yy62; + } +yy198: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy253; + case 'R': goto yy254; + case 'r': goto yy277; + default: goto yy62; + } +yy199: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'p': goto yy278; + default: goto yy62; + } +yy200: ++cur; cur = ctxmrk; #line 324 "src/parser.re" { char_width = 2; } -#line 2310 "src/parser.c" -yy190: +#line 2405 "src/parser.c" +yy202: yyaccept = 5; yych = *(mrk = ++cur); ctxmrk = cur; switch (yych) { - case '"': goto yy264; + case '"': goto yy279; default: goto yy62; } -yy191: +yy203: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy281; + default: goto yy62; + } +yy204: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy258; + case 'i': goto yy282; + case 's': goto yy283; + default: goto yy62; + } +yy205: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy284; + default: goto yy62; + } +yy206: ++cur; #line 345 "src/parser.re" { NEWTOKEN(PSI_T_OR); goto start; } -#line 2323 "src/parser.c" -yy193: +#line 2442 "src/parser.c" +yy208: ++cur; #line 365 "src/parser.re" { NEWTOKEN(PSI_T_ELLIPSIS); goto start; } -#line 2328 "src/parser.c" -yy195: +#line 2447 "src/parser.c" +yy210: yych = *++cur; switch (yych) { case 'D': - case 'd': goto yy266; + case 'd': goto yy285; case 'F': - case 'f': goto yy268; + case 'f': goto yy287; case 'L': - case 'l': goto yy270; - default: goto yy106; + case 'l': goto yy289; + default: goto yy114; } -yy196: +yy211: ++cur; cur = ctxmrk; #line 315 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; } -#line 2345 "src/parser.c" -yy198: +#line 2464 "src/parser.c" +yy213: ++cur; cur = ctxmrk; #line 316 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; } -#line 2351 "src/parser.c" -yy200: +#line 2470 "src/parser.c" +yy215: yych = *++cur; switch (yych) { case 'U': - case 'u': goto yy272; - default: goto yy106; + case 'u': goto yy291; + default: goto yy114; } -yy201: +yy216: ++cur; -yy202: +yy217: cur = ctxmrk; #line 311 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; } -#line 2365 "src/parser.c" -yy203: +#line 2484 "src/parser.c" +yy218: yych = *++cur; switch (yych) { case 'L': - case 'l': goto yy272; - default: goto yy202; + case 'l': goto yy291; + default: goto yy217; } -yy204: +yy219: yyaccept = 3; mrk = ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; ctxmrk = cur; switch (yych) { - case '.': goto yy274; + case '.': goto yy293; case '0': case '1': case '2': @@ -2398,183 +2517,159 @@ yy204: case 'c': case 'd': case 'e': - case 'f': goto yy204; + case 'f': goto yy219; case 'L': - case 'l': goto yy120; + case 'l': goto yy128; case 'P': - case 'p': goto yy119; + case 'p': goto yy127; case 'U': - case 'u': goto yy122; + case 'u': goto yy130; default: goto yy39; } -yy206: +yy221: ++cur; #line 448 "src/parser.re" { tok += 1; cur -= 1; NEWTOKEN(PSI_T_CPP_HEADER); cur += 1; goto start; } -#line 2415 "src/parser.c" -yy208: +#line 2534 "src/parser.c" +yy223: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy276; + case 'a': goto yy295; case 'V': - case 'v': goto yy277; + case 'v': goto yy296; default: goto yy62; } -yy209: +yy224: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy278; + case 'l': goto yy297; default: goto yy62; } -yy210: +yy225: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy280; - default: goto yy62; - } -yy211: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy281; - default: goto yy62; - } -yy212: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'S': - case 's': goto yy283; + case 'l': goto yy298; default: goto yy62; } -yy213: +yy226: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy284; + case 'n': goto yy299; default: goto yy62; } -yy214: +yy227: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy285; - default: goto yy62; - } -yy215: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'B': - case 'b': goto yy286; + case 'i': goto yy300; default: goto yy62; } -yy216: +yy228: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy287; + case 'f': goto yy301; default: goto yy62; } -yy217: +yy229: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy289; + case 'e': goto yy303; default: goto yy62; } -yy218: +yy230: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy291; - default: goto yy62; - } -yy219: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'M': - case 'm': goto yy292; + case 'i': goto yy305; default: goto yy62; } -yy220: +yy231: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy294; + case 'o': goto yy306; default: goto yy62; } -yy221: +yy232: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy295; + case 's': goto yy307; default: goto yy62; } -yy222: +yy233: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy296; + case 'a': goto yy308; default: goto yy62; } -yy223: +yy234: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy297; + case 'e': goto yy309; default: goto yy62; } -yy224: +yy235: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy299; + case 'c': goto yy311; default: goto yy62; } -yy225: +yy236: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy300; + case 'e': goto yy312; default: goto yy62; } -yy226: +yy237: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy301; + case 'd': goto yy313; default: goto yy62; } -yy227: +yy238: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy302; + case 'l': goto yy314; default: goto yy62; } -yy228: +yy239: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'V': + case 'v': goto yy315; + default: goto yy62; + } +yy240: yyaccept = 10; yych = *(mrk = ++cur); switch (yych) { @@ -2641,21 +2736,15 @@ yy228: case '|': case '}': case '~': - case 0x7F: goto yy229; - case '1': goto yy303; - case '3': goto yy304; - case '6': goto yy305; - case '8': goto yy306; - case 'V': - case 'v': goto yy307; - case '\\': goto yy138; + case 0x7F: goto yy241; + case '\\': goto yy146; default: goto yy61; } -yy229: -#line 395 "src/parser.re" - { NEWTOKEN(PSI_T_INT); goto start; } -#line 2658 "src/parser.c" -yy230: +yy241: +#line 421 "src/parser.re" + { NEWTOKEN(PSI_T_LET); goto start; } +#line 2747 "src/parser.c" +yy242: yyaccept = 11; yych = *(mrk = ++cur); switch (yych) { @@ -2722,29 +2811,86 @@ yy230: case '|': case '}': case '~': - case 0x7F: goto yy231; - case '\\': goto yy138; + case 0x7F: goto yy243; + case '\\': goto yy146; default: goto yy61; } -yy231: -#line 421 "src/parser.re" - { NEWTOKEN(PSI_T_LET); goto start; } -#line 2733 "src/parser.c" -yy232: - yyaccept = 12; +yy243: +#line 420 "src/parser.re" + { NEWTOKEN(PSI_T_LIB); goto start; } +#line 2822 "src/parser.c" +yy244: + yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 0x00: - case 0x01: - case 0x02: - case 0x03: - case 0x04: - case 0x05: - case 0x06: - case 0x07: - case 0x08: - case '\t': - case '\n': + case 'E': + case 'e': goto yy316; + default: goto yy62; + } +yy245: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy317; + default: goto yy62; + } +yy246: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy319; + case 'V': + case 'v': goto yy320; + default: goto yy62; + } +yy247: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'H': + case 'h': goto yy321; + default: goto yy62; + } +yy248: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy322; + default: goto yy62; + } +yy249: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy323; + default: goto yy62; + } +yy250: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'U': + case 'u': goto yy324; + default: goto yy62; + } +yy251: + yyaccept = 12; + yych = *(mrk = ++cur); + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\t': + case '\n': case '\v': case '\f': case '\r': @@ -2797,80 +2943,159 @@ yy232: case '|': case '}': case '~': - case 0x7F: goto yy233; - case '\\': goto yy138; + case 0x7F: goto yy252; + case '\\': goto yy146; default: goto yy61; } -yy233: -#line 420 "src/parser.re" - { NEWTOKEN(PSI_T_LIB); goto start; } -#line 2808 "src/parser.c" -yy234: +yy252: +#line 422 "src/parser.re" + { NEWTOKEN(PSI_T_SET); goto start; } +#line 2954 "src/parser.c" +yy253: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy308; + case 'T': + case 't': goto yy325; default: goto yy62; } -yy235: +yy254: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy326; + case 'L': + case 'l': goto yy327; + case 'V': + case 'v': goto yy328; + default: goto yy62; + } +yy255: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'P': + case 'p': goto yy329; + default: goto yy62; + } +yy256: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy331; + case 'B': + case 'b': goto yy332; + case 'F': + case 'f': goto yy333; + case 'I': + case 'i': goto yy334; + case 'O': + case 'o': goto yy335; + case 'S': + case 's': goto yy336; + default: goto yy62; + } +yy257: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy310; + case 'e': goto yy337; default: goto yy62; } -yy236: +yy258: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy339; + default: goto yy62; + } +yy259: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy340; + default: goto yy62; + } +yy260: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy311; + case 'l': goto yy341; default: goto yy62; } -yy237: +yy261: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy313; - case 'V': - case 'v': goto yy314; + case 's': goto yy343; + case 't': goto yy344; default: goto yy62; } -yy238: +yy262: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'H': - case 'h': goto yy315; + case 'x': goto yy345; default: goto yy62; } -yy239: +yy263: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy316; + case 'e': goto yy346; default: goto yy62; } -yy240: +yy264: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy317; + case 'L': goto yy297; + case 'l': goto yy347; default: goto yy62; } -yy241: +yy265: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy318; + case 'r': goto yy349; default: goto yy62; } -yy242: +yy266: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 's': goto yy351; + default: goto yy62; + } +yy267: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'b': goto yy352; + default: goto yy62; + } +yy268: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'm': goto yy353; + default: goto yy62; + } +yy269: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': goto yy308; + case 'a': goto yy355; + default: goto yy62; + } +yy270: yyaccept = 13; yych = *(mrk = ++cur); switch (yych) { @@ -2937,217 +3162,134 @@ yy242: case '|': case '}': case '~': - case 0x7F: goto yy243; - case '\\': goto yy138; - default: goto yy61; - } -yy243: -#line 422 "src/parser.re" - { NEWTOKEN(PSI_T_SET); goto start; } -#line 2948 "src/parser.c" -yy244: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy319; - default: goto yy62; - } -yy245: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy320; - default: goto yy62; - } -yy246: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy321; - default: goto yy62; - } -yy247: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'I': - case 'i': goto yy322; - case 'L': - case 'l': goto yy323; - case 'U': - case 'u': goto yy324; + case 0x7F: goto yy271; + case '1': goto yy356; + case '3': goto yy357; + case '6': goto yy358; + case '8': goto yy359; case 'V': - case 'v': goto yy325; - default: goto yy62; - } -yy248: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'P': - case 'p': goto yy326; - default: goto yy62; - } -yy249: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy328; - case 'B': - case 'b': goto yy329; - case 'F': - case 'f': goto yy330; - case 'I': - case 'i': goto yy331; - case 'O': - case 'o': goto yy332; - case 'S': - case 's': goto yy333; - default: goto yy62; + case 'v': goto yy315; + case '\\': goto yy146; + default: goto yy61; } -yy250: +yy271: +#line 382 "src/parser.re" + { NEWTOKEN(PSI_T_INT); goto start; } +#line 3179 "src/parser.c" +yy272: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy334; + case 'e': goto yy360; default: goto yy62; } -yy251: +yy273: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy336; + case 'g': goto yy362; default: goto yy62; } -yy252: +yy274: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy337; + case 'g': goto yy364; default: goto yy62; } -yy253: +yy275: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy338; + case 'r': goto yy365; default: goto yy62; } -yy254: +yy276: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy339; + case 'n': goto yy366; default: goto yy62; } -yy255: +yy277: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy340; - default: goto yy62; - } -yy256: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy341; - default: goto yy62; - } -yy257: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy343; - default: goto yy62; - } -yy258: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { + case 'i': goto yy326; case 'L': - case 'l': goto yy344; + case 'l': goto yy327; + case 'V': + case 'v': goto yy328; + case 'u': goto yy367; default: goto yy62; } -yy259: +yy278: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy346; - case 't': goto yy347; + case 'e': goto yy368; default: goto yy62; } -yy260: +yy279: + ++cur; + cur = ctxmrk; +#line 323 "src/parser.re" + { char_width = 1; } +#line 3240 "src/parser.c" +yy281: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'x': goto yy348; + case 't': goto yy369; default: goto yy62; } -yy261: +yy282: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy349; + case 'o': goto yy370; default: goto yy62; } -yy262: +yy283: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy350; + case 'i': goto yy371; default: goto yy62; } -yy263: +yy284: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'g': goto yy352; + case 'd': goto yy372; default: goto yy62; } -yy264: - ++cur; - cur = ctxmrk; -#line 323 "src/parser.re" - { char_width = 1; } -#line 3126 "src/parser.c" -yy266: +yy285: ++cur; cur = ctxmrk; #line 318 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; } -#line 3132 "src/parser.c" -yy268: +#line 3274 "src/parser.c" +yy287: ++cur; cur = ctxmrk; #line 317 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; } -#line 3138 "src/parser.c" -yy270: +#line 3280 "src/parser.c" +yy289: ++cur; cur = ctxmrk; #line 319 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; } -#line 3144 "src/parser.c" -yy272: +#line 3286 "src/parser.c" +yy291: ++cur; cur = ctxmrk; #line 312 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; } -#line 3150 "src/parser.c" -yy274: +#line 3292 "src/parser.c" +yy293: ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; @@ -3173,118 +3315,65 @@ yy274: case 'c': case 'd': case 'e': - case 'f': goto yy274; + case 'f': goto yy293; case 'P': - case 'p': goto yy119; - default: goto yy106; + case 'p': goto yy127; + default: goto yy114; } -yy276: +yy295: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'Y': - case 'y': goto yy353; + case 'y': goto yy374; default: goto yy62; } -yy277: +yy296: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy355; + case 'a': goto yy376; default: goto yy62; } -yy278: - yyaccept = 14; +yy297: + yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 0x00: - case 0x01: - case 0x02: - case 0x03: - case 0x04: - case 0x05: - case 0x06: - case 0x07: - case 0x08: - case '\t': - case '\n': - 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 0x1F: - case ' ': - case '!': - case '"': - case '#': - case '$': - case '%': - case '&': - case '\'': - case '(': - case ')': - case '*': - case '+': - case ',': - case '-': - case '.': - case '/': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case '[': - case ']': - case '^': - case '`': - case '{': - case '|': - case '}': - case '~': - case 0x7F: goto yy279; case 'V': - case 'v': goto yy356; - case '\\': goto yy138; - default: goto yy61; + case 'v': goto yy377; + default: goto yy62; } -yy279: -#line 392 "src/parser.re" - { NEWTOKEN(PSI_T_BOOL); goto start; } -#line 3274 "src/parser.c" -yy280: +yy298: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy357; + case 'a': goto yy378; case 'B': - case 'b': goto yy358; + case 'b': goto yy379; case 'O': - case 'o': goto yy359; + case 'o': goto yy380; default: goto yy62; } -yy281: - yyaccept = 15; +yy299: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy381; + default: goto yy62; + } +yy300: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy383; + default: goto yy62; + } +yy301: + yyaccept = 14; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3350,48 +3439,16 @@ yy281: case '|': case '}': case '~': - case 0x7F: goto yy282; - case '\\': goto yy138; + case 0x7F: goto yy302; + case '\\': goto yy146; default: goto yy61; } -yy282: -#line 393 "src/parser.re" - { NEWTOKEN(PSI_T_CHAR); goto start; } -#line 3361 "src/parser.c" -yy283: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy360; - default: goto yy62; - } -yy284: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy362; - default: goto yy62; - } -yy285: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy364; - default: goto yy62; - } -yy286: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy365; - default: goto yy62; - } -yy287: - yyaccept = 16; +yy302: +#line 400 "src/parser.re" + { NEWTOKEN(PSI_T_ELIF); goto start; } +#line 3450 "src/parser.c" +yy303: + yyaccept = 15; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3457,16 +3514,48 @@ yy287: case '|': case '}': case '~': - case 0x7F: goto yy288; - case '\\': goto yy138; + case 0x7F: goto yy304; + case '\\': goto yy146; default: goto yy61; } -yy288: -#line 377 "src/parser.re" - { NEWTOKEN(PSI_T_ELIF); goto start; } -#line 3468 "src/parser.c" -yy289: - yyaccept = 17; +yy304: +#line 399 "src/parser.re" + { NEWTOKEN(PSI_T_ELSE); goto start; } +#line 3525 "src/parser.c" +yy305: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'F': + case 'f': goto yy384; + default: goto yy62; + } +yy306: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy386; + default: goto yy62; + } +yy307: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy388; + default: goto yy62; + } +yy308: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy390; + default: goto yy62; + } +yy309: + yyaccept = 16; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3532,24 +3621,64 @@ yy289: case '|': case '}': case '~': - case 0x7F: goto yy290; - case '\\': goto yy138; + case 0x7F: goto yy310; + case '\\': goto yy146; default: goto yy61; } -yy290: -#line 376 "src/parser.re" - { NEWTOKEN(PSI_T_ELSE); goto start; } -#line 3543 "src/parser.c" -yy291: +yy310: +#line 426 "src/parser.re" + { NEWTOKEN(PSI_T_FREE); goto start; } +#line 3632 "src/parser.c" +yy311: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy391; + default: goto yy62; + } +yy312: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy366; + case 'f': goto yy392; default: goto yy62; } -yy292: - yyaccept = 18; +yy313: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy394; + default: goto yy62; + } +yy314: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'U': + case 'u': goto yy395; + default: goto yy62; + } +yy315: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy396; + default: goto yy62; + } +yy316: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy397; + default: goto yy62; + } +yy317: + yyaccept = 17; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3615,40 +3744,95 @@ yy292: case '|': case '}': case '~': - case 0x7F: goto yy293; - case '\\': goto yy138; + case 0x7F: goto yy318; + case '\\': goto yy146; default: goto yy61; } -yy293: -#line 418 "src/parser.re" - { NEWTOKEN(PSI_T_ENUM); goto start; } -#line 3626 "src/parser.c" -yy294: +yy318: +#line 411 "src/parser.re" + { NEWTOKEN(PSI_T_NULL); goto start; } +#line 3755 "src/parser.c" +yy319: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy399; + default: goto yy62; + } +yy320: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy400; + default: goto yy62; + } +yy321: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'V': + case 'v': goto yy401; + default: goto yy62; + } +yy322: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy402; + default: goto yy62; + } +yy323: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy403; + default: goto yy62; + } +yy324: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy368; + case 'r': goto yy404; default: goto yy62; } -yy295: +yy325: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy405; + default: goto yy62; + } +yy326: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy406; + default: goto yy62; + } +yy327: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy370; + case 'e': goto yy407; default: goto yy62; } -yy296: +yy328: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy372; + case 'A': + case 'a': goto yy408; default: goto yy62; } -yy297: - yyaccept = 19; +yy329: + yyaccept = 18; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3714,84 +3898,64 @@ yy297: case '|': case '}': case '~': - case 0x7F: goto yy298; - case '\\': goto yy138; + case 0x7F: goto yy330; + case '\\': goto yy146; default: goto yy61; } -yy298: -#line 426 "src/parser.re" - { NEWTOKEN(PSI_T_FREE); goto start; } -#line 3725 "src/parser.c" -yy299: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy374; - default: goto yy62; - } -yy300: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'F': - case 'f': goto yy375; - default: goto yy62; - } -yy301: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy377; - default: goto yy62; - } -yy302: +yy330: +#line 427 "src/parser.re" + { NEWTOKEN(PSI_T_TEMP); goto start; } +#line 3909 "src/parser.c" +yy331: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy378; + case 'R': + case 'r': goto yy409; default: goto yy62; } -yy303: +yy332: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy379; + case 'O': + case 'o': goto yy410; default: goto yy62; } -yy304: +yy333: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy380; + case 'L': + case 'l': goto yy411; default: goto yy62; } -yy305: +yy334: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy381; + case 'N': + case 'n': goto yy412; default: goto yy62; } -yy306: +yy335: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy382; + case 'B': + case 'b': goto yy413; default: goto yy62; } -yy307: +yy336: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy383; + case 'T': + case 't': goto yy414; default: goto yy62; } -yy308: - yyaccept = 20; +yy337: + yyaccept = 19; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3857,24 +4021,32 @@ yy308: case '|': case '}': case '~': - case 0x7F: goto yy309; - case '\\': goto yy138; + case 0x7F: goto yy338; + case '\\': goto yy146; default: goto yy61; } -yy309: -#line 396 "src/parser.re" - { NEWTOKEN(PSI_T_LONG); goto start; } -#line 3868 "src/parser.c" -yy310: +yy338: +#line 409 "src/parser.re" + { NEWTOKEN(PSI_T_TRUE); goto start; } +#line 4032 "src/parser.c" +yy339: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy384; + case 'F': + case 'f': goto yy415; default: goto yy62; } -yy311: - yyaccept = 21; +yy340: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy417; + default: goto yy62; + } +yy341: + yyaccept = 20; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3940,118 +4112,120 @@ yy311: case '|': case '}': case '~': - case 0x7F: goto yy312; - case '\\': goto yy138; + case 0x7F: goto yy342; + case '\\': goto yy146; default: goto yy61; } -yy312: -#line 388 "src/parser.re" - { NEWTOKEN(PSI_T_NULL); goto start; } -#line 3951 "src/parser.c" -yy313: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'C': - case 'c': goto yy386; - default: goto yy62; - } -yy314: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy387; - default: goto yy62; - } -yy315: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'V': - case 'v': goto yy388; - default: goto yy62; - } -yy316: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy389; - default: goto yy62; - } -yy317: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy390; - default: goto yy62; - } -yy318: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy391; - default: goto yy62; - } -yy319: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy392; - default: goto yy62; - } -yy320: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy394; - default: goto yy62; - } -yy321: +yy342: +#line 436 "src/parser.re" + { NEWTOKEN(PSI_T_ZVAL); goto start; } +#line 4123 "src/parser.c" +yy343: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy395; + case 'm': goto yy418; default: goto yy62; } -yy322: +yy344: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy396; + case 't': goto yy419; default: goto yy62; } -yy323: +yy345: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy397; + case 't': goto yy420; default: goto yy62; } -yy324: +yy346: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy398; + case 's': goto yy421; default: goto yy62; } -yy325: - yyaccept = 5; +yy347: + yyaccept = 21; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy399; - default: goto yy62; + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\t': + case '\n': + 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 0x1F: + case ' ': + case '!': + case '"': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case ':': + case ';': + case '<': + case '=': + case '>': + case '?': + case '@': + case '[': + case ']': + case '^': + case '`': + case '{': + case '|': + case '}': + case '~': + case 0x7F: goto yy348; + case 'V': + case 'v': goto yy377; + case '\\': goto yy146; + default: goto yy61; } -yy326: +yy348: +#line 379 "src/parser.re" + { NEWTOKEN(PSI_T_BOOL); goto start; } +#line 4228 "src/parser.c" +yy349: yyaccept = 22; yych = *(mrk = ++cur); switch (yych) { @@ -4118,63 +4292,29 @@ yy326: case '|': case '}': case '~': - case 0x7F: goto yy327; - case '\\': goto yy138; + case 0x7F: goto yy350; + case '\\': goto yy146; default: goto yy61; } -yy327: -#line 427 "src/parser.re" - { NEWTOKEN(PSI_T_TEMP); goto start; } -#line 4129 "src/parser.c" -yy328: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy400; - default: goto yy62; - } -yy329: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'O': - case 'o': goto yy401; - default: goto yy62; - } -yy330: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy402; - default: goto yy62; - } -yy331: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy403; - default: goto yy62; - } -yy332: +yy350: +#line 380 "src/parser.re" + { NEWTOKEN(PSI_T_CHAR); goto start; } +#line 4303 "src/parser.c" +yy351: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy404; + case 't': goto yy422; default: goto yy62; } -yy333: +yy352: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy405; + case 'l': goto yy424; default: goto yy62; } -yy334: +yy353: yyaccept = 23; yych = *(mrk = ++cur); switch (yych) { @@ -4241,57 +4381,51 @@ yy334: case '|': case '}': case '~': - case 0x7F: goto yy335; - case '\\': goto yy138; + case 0x7F: goto yy354; + case '\\': goto yy146; default: goto yy61; } -yy335: -#line 386 "src/parser.re" - { NEWTOKEN(PSI_T_TRUE); goto start; } -#line 4252 "src/parser.c" -yy336: +yy354: +#line 376 "src/parser.re" + { NEWTOKEN(PSI_T_ENUM); goto start; } +#line 4392 "src/parser.c" +yy355: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy406; + case 'T': goto yy390; + case 't': goto yy425; default: goto yy62; } -yy337: +yy356: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '1': goto yy407; - case '3': goto yy408; - case '6': goto yy409; - case '8': goto yy410; + case '6': goto yy427; default: goto yy62; } -yy338: +yy357: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'F': - case 'f': goto yy411; + case '2': goto yy428; default: goto yy62; } -yy339: +yy358: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy413; + case '4': goto yy429; default: goto yy62; } -yy340: +yy359: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy415; + case '_': goto yy430; default: goto yy62; } -yy341: +yy360: yyaccept = 24; yych = *(mrk = ++cur); switch (yych) { @@ -4358,23 +4492,15 @@ yy341: case '|': case '}': case '~': - case 0x7F: goto yy342; - case '\\': goto yy138; - default: goto yy61; - } -yy342: -#line 391 "src/parser.re" - { NEWTOKEN(PSI_T_VOID); goto start; } -#line 4369 "src/parser.c" -yy343: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'I': - case 'i': goto yy416; - default: goto yy62; + case 0x7F: goto yy361; + case '\\': goto yy146; + default: goto yy61; } -yy344: +yy361: +#line 372 "src/parser.re" + { NEWTOKEN(PSI_T_LINE); goto start; } +#line 4503 "src/parser.c" +yy362: yyaccept = 25; yych = *(mrk = ++cur); switch (yych) { @@ -4441,43 +4567,74 @@ yy344: case '|': case '}': case '~': - case 0x7F: goto yy345; - case '\\': goto yy138; + case 0x7F: goto yy363; + case '\\': goto yy146; default: goto yy61; } -yy345: -#line 436 "src/parser.re" - { NEWTOKEN(PSI_T_ZVAL); goto start; } -#line 4452 "src/parser.c" -yy346: +yy363: +#line 383 "src/parser.re" + { NEWTOKEN(PSI_T_LONG); goto start; } +#line 4578 "src/parser.c" +yy364: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'm': goto yy417; + case 'm': goto yy431; default: goto yy62; } -yy347: +yy365: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy418; + case 't': goto yy432; default: goto yy62; } -yy348: +yy366: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy419; + case 'e': goto yy434; default: goto yy62; } -yy349: +yy367: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy420; + case 'c': goto yy435; default: goto yy62; } -yy350: +yy368: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'd': goto yy436; + default: goto yy62; + } +yy369: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '1': goto yy437; + case '3': goto yy438; + case '6': goto yy439; + case '8': goto yy440; + default: goto yy62; + } +yy370: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy441; + default: goto yy62; + } +yy371: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'g': goto yy443; + default: goto yy62; + } +yy372: yyaccept = 26; yych = *(mrk = ++cur); switch (yych) { @@ -4544,22 +4701,15 @@ yy350: case '|': case '}': case '~': - case 0x7F: goto yy351; - case '\\': goto yy138; + case 0x7F: goto yy373; + case '\\': goto yy146; default: goto yy61; } -yy351: -#line 372 "src/parser.re" - { NEWTOKEN(PSI_T_LINE); goto start; } -#line 4555 "src/parser.c" -yy352: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'm': goto yy421; - default: goto yy62; - } -yy353: +yy373: +#line 378 "src/parser.re" + { NEWTOKEN(PSI_T_VOID); goto start; } +#line 4712 "src/parser.c" +yy374: yyaccept = 27; yych = *(mrk = ++cur); switch (yych) { @@ -4626,55 +4776,55 @@ yy353: case '|': case '}': case '~': - case 0x7F: goto yy354; - case '\\': goto yy138; + case 0x7F: goto yy375; + case '\\': goto yy146; default: goto yy61; } -yy354: -#line 410 "src/parser.re" +yy375: +#line 415 "src/parser.re" { NEWTOKEN(PSI_T_ARRAY); goto start; } -#line 4637 "src/parser.c" -yy355: +#line 4787 "src/parser.c" +yy376: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy422; + case 'l': goto yy444; default: goto yy62; } -yy356: +yy377: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy424; + case 'a': goto yy446; default: goto yy62; } -yy357: +yy378: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy425; + case 'b': goto yy447; default: goto yy62; } -yy358: +yy379: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy426; + case 'a': goto yy448; default: goto yy62; } -yy359: +yy380: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy427; + case 'c': goto yy449; default: goto yy62; } -yy360: +yy381: yyaccept = 28; yych = *(mrk = ++cur); switch (yych) { @@ -4741,15 +4891,23 @@ yy360: case '|': case '}': case '~': - case 0x7F: goto yy361; - case '\\': goto yy138; + case 0x7F: goto yy382; + case '\\': goto yy146; default: goto yy61; } -yy361: -#line 419 "src/parser.re" - { NEWTOKEN(PSI_T_CONST); goto start; } -#line 4752 "src/parser.c" -yy362: +yy382: +#line 437 "src/parser.re" + { NEWTOKEN(PSI_T_COUNT); goto start; } +#line 4902 "src/parser.c" +yy383: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy451; + default: goto yy62; + } +yy384: yyaccept = 29; yych = *(mrk = ++cur); switch (yych) { @@ -4816,31 +4974,15 @@ yy362: case '|': case '}': case '~': - case 0x7F: goto yy363; - case '\\': goto yy138; + case 0x7F: goto yy385; + case '\\': goto yy146; default: goto yy61; } -yy363: -#line 437 "src/parser.re" - { NEWTOKEN(PSI_T_COUNT); goto start; } -#line 4827 "src/parser.c" -yy364: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy429; - default: goto yy62; - } -yy365: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy431; - default: goto yy62; - } -yy366: +yy385: +#line 401 "src/parser.re" + { NEWTOKEN(PSI_T_ENDIF); goto start; } +#line 4985 "src/parser.c" +yy386: yyaccept = 30; yych = *(mrk = ++cur); switch (yych) { @@ -4907,15 +5049,15 @@ yy366: case '|': case '}': case '~': - case 0x7F: goto yy367; - case '\\': goto yy138; + case 0x7F: goto yy387; + case '\\': goto yy146; default: goto yy61; } -yy367: -#line 378 "src/parser.re" - { NEWTOKEN(PSI_T_ENDIF); goto start; } -#line 4918 "src/parser.c" -yy368: +yy387: +#line 406 "src/parser.re" + { NEWTOKEN(PSI_T_ERROR); goto start; } +#line 5060 "src/parser.c" +yy388: yyaccept = 31; yych = *(mrk = ++cur); switch (yych) { @@ -4982,15 +5124,31 @@ yy368: case '|': case '}': case '~': - case 0x7F: goto yy369; - case '\\': goto yy138; + case 0x7F: goto yy389; + case '\\': goto yy146; default: goto yy61; } -yy369: -#line 383 "src/parser.re" - { NEWTOKEN(PSI_T_ERROR); goto start; } -#line 4993 "src/parser.c" -yy370: +yy389: +#line 410 "src/parser.re" + { NEWTOKEN(PSI_T_FALSE); goto start; } +#line 5135 "src/parser.c" +yy390: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'V': + case 'v': goto yy453; + default: goto yy62; + } +yy391: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy454; + default: goto yy62; + } +yy392: yyaccept = 32; yych = *(mrk = ++cur); switch (yych) { @@ -5057,15 +5215,39 @@ yy370: case '|': case '}': case '~': - case 0x7F: goto yy371; - case '\\': goto yy138; + case 0x7F: goto yy393; + case '\\': goto yy146; default: goto yy61; } -yy371: -#line 387 "src/parser.re" - { NEWTOKEN(PSI_T_FALSE); goto start; } -#line 5068 "src/parser.c" -yy372: +yy393: +#line 397 "src/parser.re" + { NEWTOKEN(PSI_T_IFDEF); goto start; } +#line 5226 "src/parser.c" +yy394: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'F': + case 'f': goto yy455; + default: goto yy62; + } +yy395: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy457; + default: goto yy62; + } +yy396: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy458; + default: goto yy62; + } +yy397: yyaccept = 33; yych = *(mrk = ++cur); switch (yych) { @@ -5132,25 +5314,143 @@ yy372: case '|': case '}': case '~': - case 0x7F: goto yy373; - case 'V': - case 'v': goto yy433; - case '\\': goto yy138; + case 0x7F: goto yy398; + case '\\': goto yy146; default: goto yy61; } -yy373: -#line 397 "src/parser.re" - { NEWTOKEN(PSI_T_FLOAT); goto start; } -#line 5145 "src/parser.c" -yy374: +yy398: +#line 412 "src/parser.re" + { NEWTOKEN(PSI_T_MIXED); goto start; } +#line 5325 "src/parser.c" +yy399: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy460; + default: goto yy62; + } +yy400: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy462; + default: goto yy62; + } +yy401: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy464; + default: goto yy62; + } +yy402: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy465; + default: goto yy62; + } +yy403: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'S': + case 's': goto yy466; + default: goto yy62; + } +yy404: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy467; + default: goto yy62; + } +yy405: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy469; + default: goto yy62; + } +yy406: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'G': + case 'g': goto yy471; + default: goto yy62; + } +yy407: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy473; + default: goto yy62; + } +yy408: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy475; + default: goto yy62; + } +yy409: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy477; + default: goto yy62; + } +yy410: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy434; + case 'O': + case 'o': goto yy478; default: goto yy62; } -yy375: +yy411: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'O': + case 'o': goto yy479; + default: goto yy62; + } +yy412: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy480; + default: goto yy62; + } +yy413: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'J': + case 'j': goto yy482; + default: goto yy62; + } +yy414: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy483; + default: goto yy62; + } +yy415: yyaccept = 34; yych = *(mrk = ++cur); switch (yych) { @@ -5217,68 +5517,51 @@ yy375: case '|': case '}': case '~': - case 0x7F: goto yy376; - case '\\': goto yy138; + case 0x7F: goto yy416; + case '\\': goto yy146; default: goto yy61; } -yy376: -#line 374 "src/parser.re" - { NEWTOKEN(PSI_T_IFDEF); goto start; } -#line 5228 "src/parser.c" -yy377: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'F': - case 'f': goto yy435; - default: goto yy62; - } -yy378: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy437; - default: goto yy62; - } -yy379: +yy416: +#line 404 "src/parser.re" + { NEWTOKEN(PSI_T_UNDEF); goto start; } +#line 5528 "src/parser.c" +yy417: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy438; + case 'N': + case 'n': goto yy484; default: goto yy62; } -yy380: +yy418: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy439; + case '_': goto yy485; default: goto yy62; } -yy381: +yy419: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy440; + case 'r': goto yy486; default: goto yy62; } -yy382: +yy420: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy441; + case 'e': goto yy487; default: goto yy62; } -yy383: +yy421: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy443; + case 't': goto yy488; default: goto yy62; } -yy384: +yy422: yyaccept = 35; yych = *(mrk = ++cur); switch (yych) { @@ -5345,63 +5628,22 @@ yy384: case '|': case '}': case '~': - case 0x7F: goto yy385; - case '\\': goto yy138; + case 0x7F: goto yy423; + case '\\': goto yy146; default: goto yy61; } -yy385: -#line 389 "src/parser.re" - { NEWTOKEN(PSI_T_MIXED); goto start; } -#line 5356 "src/parser.c" -yy386: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy445; - default: goto yy62; - } -yy387: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy447; - default: goto yy62; - } -yy388: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy449; - default: goto yy62; - } -yy389: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy450; - default: goto yy62; - } -yy390: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'S': - case 's': goto yy451; - default: goto yy62; - } -yy391: +yy423: +#line 377 "src/parser.re" + { NEWTOKEN(PSI_T_CONST); goto start; } +#line 5639 "src/parser.c" +yy424: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy452; + case 'e': goto yy489; default: goto yy62; } -yy392: +yy425: yyaccept = 36; yych = *(mrk = ++cur); switch (yych) { @@ -5468,147 +5710,52 @@ yy392: case '|': case '}': case '~': - case 0x7F: goto yy393; - case '\\': goto yy138; + case 0x7F: goto yy426; + case 'V': + case 'v': goto yy453; + case '\\': goto yy146; default: goto yy61; } -yy393: -#line 394 "src/parser.re" - { NEWTOKEN(PSI_T_SHORT); goto start; } -#line 5479 "src/parser.c" -yy394: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy454; - default: goto yy62; - } -yy395: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'C': - case 'c': goto yy456; - default: goto yy62; - } -yy396: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'G': - case 'g': goto yy458; - default: goto yy62; - } -yy397: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy460; - default: goto yy62; - } -yy398: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy462; - default: goto yy62; - } -yy399: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy464; - default: goto yy62; - } -yy400: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy466; - default: goto yy62; - } -yy401: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'O': - case 'o': goto yy467; - default: goto yy62; - } -yy402: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'O': - case 'o': goto yy468; - default: goto yy62; - } -yy403: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy469; - default: goto yy62; - } -yy404: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'J': - case 'j': goto yy471; - default: goto yy62; - } -yy405: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'R': - case 'r': goto yy472; - default: goto yy62; - } -yy406: +yy426: +#line 384 "src/parser.re" + { NEWTOKEN(PSI_T_FLOAT); goto start; } +#line 5723 "src/parser.c" +yy427: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy473; + case '_': goto yy491; default: goto yy62; } -yy407: +yy428: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy474; + case '_': goto yy492; default: goto yy62; } -yy408: +yy429: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy475; + case '_': goto yy493; default: goto yy62; } -yy409: +yy430: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy476; + case 't': goto yy494; default: goto yy62; } -yy410: +yy431: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy477; + case 'a': goto yy496; default: goto yy62; } -yy411: +yy432: yyaccept = 37; yych = *(mrk = ++cur); switch (yych) { @@ -5675,15 +5822,64 @@ yy411: case '|': case '}': case '~': - case 0x7F: goto yy412; - case '\\': goto yy138; + case 0x7F: goto yy433; + case '\\': goto yy146; default: goto yy61; } -yy412: -#line 381 "src/parser.re" - { NEWTOKEN(PSI_T_UNDEF); goto start; } -#line 5686 "src/parser.c" -yy413: +yy433: +#line 381 "src/parser.re" + { NEWTOKEN(PSI_T_SHORT); goto start; } +#line 5833 "src/parser.c" +yy434: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'd': goto yy498; + default: goto yy62; + } +yy435: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy500; + default: goto yy62; + } +yy436: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy502; + default: goto yy62; + } +yy437: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '6': goto yy503; + default: goto yy62; + } +yy438: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '2': goto yy504; + default: goto yy62; + } +yy439: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '4': goto yy505; + default: goto yy62; + } +yy440: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy506; + default: goto yy62; + } +yy441: yyaccept = 38; yych = *(mrk = ++cur); switch (yych) { @@ -5750,66 +5946,22 @@ yy413: case '|': case '}': case '~': - case 0x7F: goto yy414; - case '\\': goto yy138; + case 0x7F: goto yy442; + case '\\': goto yy146; default: goto yy61; } -yy414: -#line 417 "src/parser.re" +yy442: +#line 375 "src/parser.re" { NEWTOKEN(PSI_T_UNION); goto start; } -#line 5761 "src/parser.c" -yy415: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy478; - default: goto yy62; - } -yy416: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy479; - default: goto yy62; - } -yy417: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy480; - default: goto yy62; - } -yy418: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'r': goto yy481; - default: goto yy62; - } -yy419: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'e': goto yy482; - default: goto yy62; - } -yy420: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 't': goto yy483; - default: goto yy62; - } -yy421: +#line 5957 "src/parser.c" +yy443: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'a': goto yy484; + case 'n': goto yy507; default: goto yy62; } -yy422: +yy444: yyaccept = 39; yych = *(mrk = ++cur); switch (yych) { @@ -5876,39 +6028,39 @@ yy422: case '|': case '}': case '~': - case 0x7F: goto yy423; - case '\\': goto yy138; + case 0x7F: goto yy445; + case '\\': goto yy146; default: goto yy61; } -yy423: +yy445: #line 434 "src/parser.re" { NEWTOKEN(PSI_T_ARRVAL); goto start; } -#line 5887 "src/parser.c" -yy424: +#line 6039 "src/parser.c" +yy446: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy486; + case 'l': goto yy508; default: goto yy62; } -yy425: +yy447: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy488; + case 'l': goto yy510; default: goto yy62; } -yy426: +yy448: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy489; + case 'c': goto yy511; default: goto yy62; } -yy427: +yy449: yyaccept = 40; yych = *(mrk = ++cur); switch (yych) { @@ -5975,15 +6127,15 @@ yy427: case '|': case '}': case '~': - case 0x7F: goto yy428; - case '\\': goto yy138; + case 0x7F: goto yy450; + case '\\': goto yy146; default: goto yy61; } -yy428: +yy450: #line 438 "src/parser.re" { NEWTOKEN(PSI_T_CALLOC); goto start; } -#line 5986 "src/parser.c" -yy429: +#line 6138 "src/parser.c" +yy451: yyaccept = 41; yych = *(mrk = ++cur); switch (yych) { @@ -6050,17 +6202,33 @@ yy429: case '|': case '}': case '~': - case 0x7F: goto yy430; + case 0x7F: goto yy452; case 'D': - case 'd': goto yy490; - case '\\': goto yy138; + case 'd': goto yy512; + case '\\': goto yy146; default: goto yy61; } -yy430: -#line 379 "src/parser.re" +yy452: +#line 402 "src/parser.re" { NEWTOKEN(PSI_T_DEFINE); goto start; } -#line 6063 "src/parser.c" -yy431: +#line 6215 "src/parser.c" +yy453: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy514; + default: goto yy62; + } +yy454: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'O': + case 'o': goto yy515; + default: goto yy62; + } +yy455: yyaccept = 42; yych = *(mrk = ++cur); switch (yych) { @@ -6127,31 +6295,23 @@ yy431: case '|': case '}': case '~': - case 0x7F: goto yy432; - case '\\': goto yy138; + case 0x7F: goto yy456; + case '\\': goto yy146; default: goto yy61; } -yy432: +yy456: #line 398 "src/parser.re" - { NEWTOKEN(PSI_T_DOUBLE); goto start; } -#line 6138 "src/parser.c" -yy433: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy492; - default: goto yy62; - } -yy434: + { NEWTOKEN(PSI_T_IFNDEF); goto start; } +#line 6306 "src/parser.c" +yy457: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy493; + case 'E': + case 'e': goto yy516; default: goto yy62; } -yy435: +yy458: yyaccept = 43; yych = *(mrk = ++cur); switch (yych) { @@ -6218,47 +6378,15 @@ yy435: case '|': case '}': case '~': - case 0x7F: goto yy436; - case '\\': goto yy138; + case 0x7F: goto yy459; + case '\\': goto yy146; default: goto yy61; } -yy436: -#line 375 "src/parser.re" - { NEWTOKEN(PSI_T_IFNDEF); goto start; } -#line 6229 "src/parser.c" -yy437: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy494; - default: goto yy62; - } -yy438: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy496; - default: goto yy62; - } -yy439: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy498; - default: goto yy62; - } -yy440: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy500; - default: goto yy62; - } -yy441: +yy459: +#line 431 "src/parser.re" + { NEWTOKEN(PSI_T_INTVAL); goto start; } +#line 6389 "src/parser.c" +yy460: yyaccept = 44; yych = *(mrk = ++cur); switch (yych) { @@ -6325,15 +6453,15 @@ yy441: case '|': case '}': case '~': - case 0x7F: goto yy442; - case '\\': goto yy138; + case 0x7F: goto yy461; + case '\\': goto yy146; default: goto yy61; } -yy442: -#line 399 "src/parser.re" - { NEWTOKEN(PSI_T_INT8); goto start; } -#line 6336 "src/parser.c" -yy443: +yy461: +#line 416 "src/parser.re" + { NEWTOKEN(PSI_T_OBJECT); goto start; } +#line 6464 "src/parser.c" +yy462: yyaccept = 45; yych = *(mrk = ++cur); switch (yych) { @@ -6400,15 +6528,39 @@ yy443: case '|': case '}': case '~': - case 0x7F: goto yy444; - case '\\': goto yy138; + case 0x7F: goto yy463; + case '\\': goto yy146; default: goto yy61; } -yy444: -#line 431 "src/parser.re" - { NEWTOKEN(PSI_T_INTVAL); goto start; } -#line 6411 "src/parser.c" -yy445: +yy463: +#line 435 "src/parser.re" + { NEWTOKEN(PSI_T_OBJVAL); goto start; } +#line 6539 "src/parser.c" +yy464: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy518; + default: goto yy62; + } +yy465: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'S': + case 's': goto yy520; + default: goto yy62; + } +yy466: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'S': + case 's': goto yy521; + default: goto yy62; + } +yy467: yyaccept = 46; yych = *(mrk = ++cur); switch (yych) { @@ -6475,15 +6627,15 @@ yy445: case '|': case '}': case '~': - case 0x7F: goto yy446; - case '\\': goto yy138; + case 0x7F: goto yy468; + case '\\': goto yy146; default: goto yy61; } -yy446: -#line 411 "src/parser.re" - { NEWTOKEN(PSI_T_OBJECT); goto start; } -#line 6486 "src/parser.c" -yy447: +yy468: +#line 425 "src/parser.re" + { NEWTOKEN(PSI_T_RETURN); goto start; } +#line 6638 "src/parser.c" +yy469: yyaccept = 47; yych = *(mrk = ++cur); switch (yych) { @@ -6550,39 +6702,15 @@ yy447: case '|': case '}': case '~': - case 0x7F: goto yy448; - case '\\': goto yy138; + case 0x7F: goto yy470; + case '\\': goto yy146; default: goto yy61; } -yy448: -#line 435 "src/parser.re" - { NEWTOKEN(PSI_T_OBJVAL); goto start; } -#line 6561 "src/parser.c" -yy449: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy502; - default: goto yy62; - } -yy450: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'S': - case 's': goto yy504; - default: goto yy62; - } -yy451: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'S': - case 's': goto yy505; - default: goto yy62; - } -yy452: +yy470: +#line 418 "src/parser.re" + { NEWTOKEN(PSI_T_STATIC); goto start; } +#line 6713 "src/parser.c" +yy471: yyaccept = 48; yych = *(mrk = ++cur); switch (yych) { @@ -6649,15 +6777,15 @@ yy452: case '|': case '}': case '~': - case 0x7F: goto yy453; - case '\\': goto yy138; + case 0x7F: goto yy472; + case '\\': goto yy146; default: goto yy61; } -yy453: -#line 425 "src/parser.re" - { NEWTOKEN(PSI_T_RETURN); goto start; } -#line 6660 "src/parser.c" -yy454: +yy472: +#line 414 "src/parser.re" + { NEWTOKEN(PSI_T_STRING); goto start; } +#line 6788 "src/parser.c" +yy473: yyaccept = 49; yych = *(mrk = ++cur); switch (yych) { @@ -6724,15 +6852,15 @@ yy454: case '|': case '}': case '~': - case 0x7F: goto yy455; - case '\\': goto yy138; + case 0x7F: goto yy474; + case '\\': goto yy146; default: goto yy61; } -yy455: -#line 408 "src/parser.re" - { NEWTOKEN(PSI_T_SIGNED); goto start; } -#line 6735 "src/parser.c" -yy456: +yy474: +#line 428 "src/parser.re" + { NEWTOKEN(PSI_T_STRLEN); goto start; } +#line 6863 "src/parser.c" +yy475: yyaccept = 50; yych = *(mrk = ++cur); switch (yych) { @@ -6799,15 +6927,39 @@ yy456: case '|': case '}': case '~': - case 0x7F: goto yy457; - case '\\': goto yy138; + case 0x7F: goto yy476; + case '\\': goto yy146; default: goto yy61; } -yy457: -#line 413 "src/parser.re" - { NEWTOKEN(PSI_T_STATIC); goto start; } -#line 6810 "src/parser.c" -yy458: +yy476: +#line 429 "src/parser.re" + { NEWTOKEN(PSI_T_STRVAL); goto start; } +#line 6938 "src/parser.c" +yy477: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy522; + default: goto yy62; + } +yy478: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy523; + default: goto yy62; + } +yy479: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy525; + default: goto yy62; + } +yy480: yyaccept = 51; yych = *(mrk = ++cur); switch (yych) { @@ -6874,15 +7026,67 @@ yy458: case '|': case '}': case '~': - case 0x7F: goto yy459; - case '\\': goto yy138; + case 0x7F: goto yy481; + case '\\': goto yy146; default: goto yy61; } -yy459: -#line 409 "src/parser.re" - { NEWTOKEN(PSI_T_STRING); goto start; } -#line 6885 "src/parser.c" -yy460: +yy481: +#line 442 "src/parser.re" + { NEWTOKEN(PSI_T_TO_INT); goto start; } +#line 7037 "src/parser.c" +yy482: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy526; + default: goto yy62; + } +yy483: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy527; + default: goto yy62; + } +yy484: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'G': + case 'g': goto yy528; + default: goto yy62; + } +yy485: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy530; + default: goto yy62; + } +yy486: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy532; + default: goto yy62; + } +yy487: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy533; + default: goto yy62; + } +yy488: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'r': goto yy534; + default: goto yy62; + } +yy489: yyaccept = 52; yych = *(mrk = ++cur); switch (yych) { @@ -6949,15 +7153,36 @@ yy460: case '|': case '}': case '~': - case 0x7F: goto yy461; - case '\\': goto yy138; + case 0x7F: goto yy490; + case '\\': goto yy146; default: goto yy61; } -yy461: -#line 428 "src/parser.re" - { NEWTOKEN(PSI_T_STRLEN); goto start; } -#line 6960 "src/parser.c" -yy462: +yy490: +#line 385 "src/parser.re" + { NEWTOKEN(PSI_T_DOUBLE); goto start; } +#line 7164 "src/parser.c" +yy491: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy535; + default: goto yy62; + } +yy492: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy537; + default: goto yy62; + } +yy493: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy539; + default: goto yy62; + } +yy494: yyaccept = 53; yych = *(mrk = ++cur); switch (yych) { @@ -7024,15 +7249,15 @@ yy462: case '|': case '}': case '~': - case 0x7F: goto yy463; - case '\\': goto yy138; + case 0x7F: goto yy495; + case '\\': goto yy146; default: goto yy61; } -yy463: -#line 416 "src/parser.re" - { NEWTOKEN(PSI_T_STRUCT); goto start; } -#line 7035 "src/parser.c" -yy464: +yy495: +#line 386 "src/parser.re" + { NEWTOKEN(PSI_T_INT8); goto start; } +#line 7260 "src/parser.c" +yy496: yyaccept = 54; yych = *(mrk = ++cur); switch (yych) { @@ -7099,39 +7324,15 @@ yy464: case '|': case '}': case '~': - case 0x7F: goto yy465; - case '\\': goto yy138; - default: goto yy61; - } -yy465: -#line 429 "src/parser.re" - { NEWTOKEN(PSI_T_STRVAL); goto start; } -#line 7110 "src/parser.c" -yy466: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy506; - default: goto yy62; - } -yy467: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'L': - case 'l': goto yy507; - default: goto yy62; - } -yy468: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy509; - default: goto yy62; + case 0x7F: goto yy497; + case '\\': goto yy146; + default: goto yy541; } -yy469: +yy497: +#line 367 "src/parser.re" + { NEWTOKEN(PSI_T_PRAGMA); goto start; } +#line 7335 "src/parser.c" +yy498: yyaccept = 55; yych = *(mrk = ++cur); switch (yych) { @@ -7185,125 +7386,28 @@ yy469: case '/': case ':': case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case '[': - case ']': - case '^': - case '`': - case '{': - case '|': - case '}': - case '~': - case 0x7F: goto yy470; - case '\\': goto yy138; - default: goto yy61; - } -yy470: -#line 442 "src/parser.re" - { NEWTOKEN(PSI_T_TO_INT); goto start; } -#line 7209 "src/parser.c" -yy471: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy510; - default: goto yy62; - } -yy472: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'I': - case 'i': goto yy511; - default: goto yy62; - } -yy473: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'F': - case 'f': goto yy512; - default: goto yy62; - } -yy474: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy514; - default: goto yy62; - } -yy475: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy515; - default: goto yy62; - } -yy476: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy516; - default: goto yy62; - } -yy477: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy517; - default: goto yy62; - } -yy478: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy519; - default: goto yy62; - } -yy479: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'G': - case 'g': goto yy520; - default: goto yy62; - } -yy480: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy522; - default: goto yy62; - } -yy481: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'i': goto yy524; - default: goto yy62; - } -yy482: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'n': goto yy525; - default: goto yy62; - } -yy483: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'r': goto yy526; - default: goto yy62; + case '<': + case '=': + case '>': + case '?': + case '@': + case '[': + case ']': + case '^': + case '`': + case '{': + case '|': + case '}': + case '~': + case 0x7F: goto yy499; + case '\\': goto yy146; + default: goto yy61; } -yy484: +yy499: +#line 395 "src/parser.re" + { NEWTOKEN(PSI_T_SIGNED); goto start; } +#line 7410 "src/parser.c" +yy500: yyaccept = 56; yych = *(mrk = ++cur); switch (yych) { @@ -7370,15 +7474,57 @@ yy484: case '|': case '}': case '~': - case 0x7F: goto yy485; - case '\\': goto yy138; - default: goto yy527; + case 0x7F: goto yy501; + case '\\': goto yy146; + default: goto yy61; } -yy485: -#line 367 "src/parser.re" - { NEWTOKEN(PSI_T_PRAGMA); goto start; } -#line 7381 "src/parser.c" -yy486: +yy501: +#line 374 "src/parser.re" + { NEWTOKEN(PSI_T_STRUCT); goto start; } +#line 7485 "src/parser.c" +yy502: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'f': goto yy543; + default: goto yy62; + } +yy503: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy545; + default: goto yy62; + } +yy504: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy546; + default: goto yy62; + } +yy505: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy547; + default: goto yy62; + } +yy506: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy548; + default: goto yy62; + } +yy507: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy550; + default: goto yy62; + } +yy508: yyaccept = 57; yych = *(mrk = ++cur); switch (yych) { @@ -7445,31 +7591,31 @@ yy486: case '|': case '}': case '~': - case 0x7F: goto yy487; - case '\\': goto yy138; + case 0x7F: goto yy509; + case '\\': goto yy146; default: goto yy61; } -yy487: +yy509: #line 433 "src/parser.re" { NEWTOKEN(PSI_T_BOOLVAL); goto start; } -#line 7456 "src/parser.c" -yy488: +#line 7602 "src/parser.c" +yy510: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy529; + case 'e': goto yy551; default: goto yy62; } -yy489: +yy511: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'K': - case 'k': goto yy531; + case 'k': goto yy553; default: goto yy62; } -yy490: +yy512: yyaccept = 58; yych = *(mrk = ++cur); switch (yych) { @@ -7536,31 +7682,31 @@ yy490: case '|': case '}': case '~': - case 0x7F: goto yy491; - case '\\': goto yy138; + case 0x7F: goto yy513; + case '\\': goto yy146; default: goto yy61; } -yy491: -#line 380 "src/parser.re" +yy513: +#line 403 "src/parser.re" { NEWTOKEN(PSI_T_DEFINED); goto start; } -#line 7547 "src/parser.c" -yy492: +#line 7693 "src/parser.c" +yy514: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy533; + case 'l': goto yy555; default: goto yy62; } -yy493: +yy515: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy535; + case 'n': goto yy557; default: goto yy62; } -yy494: +yy516: yyaccept = 59; yych = *(mrk = ++cur); switch (yych) { @@ -7627,16 +7773,16 @@ yy494: case '|': case '}': case '~': - case 0x7F: goto yy495; - case '\\': goto yy138; - case '_': goto yy537; + case 0x7F: goto yy517; + case '\\': goto yy146; + case '_': goto yy559; default: goto yy61; } -yy495: -#line 384 "src/parser.re" +yy517: +#line 407 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE); goto start; } -#line 7639 "src/parser.c" -yy496: +#line 7785 "src/parser.c" +yy518: yyaccept = 60; yych = *(mrk = ++cur); switch (yych) { @@ -7703,15 +7849,39 @@ yy496: case '|': case '}': case '~': - case 0x7F: goto yy497; - case '\\': goto yy138; + case 0x7F: goto yy519; + case '\\': goto yy146; default: goto yy61; } -yy497: -#line 401 "src/parser.re" - { NEWTOKEN(PSI_T_INT16); goto start; } -#line 7714 "src/parser.c" -yy498: +yy519: +#line 430 "src/parser.re" + { NEWTOKEN(PSI_T_PATHVAL); goto start; } +#line 7860 "src/parser.c" +yy520: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'S': + case 's': goto yy560; + default: goto yy62; + } +yy521: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy561; + default: goto yy62; + } +yy522: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'Y': + case 'y': goto yy562; + default: goto yy62; + } +yy523: yyaccept = 61; yych = *(mrk = ++cur); switch (yych) { @@ -7778,15 +7948,39 @@ yy498: case '|': case '}': case '~': - case 0x7F: goto yy499; - case '\\': goto yy138; + case 0x7F: goto yy524; + case '\\': goto yy146; default: goto yy61; } -yy499: -#line 403 "src/parser.re" - { NEWTOKEN(PSI_T_INT32); goto start; } -#line 7789 "src/parser.c" -yy500: +yy524: +#line 444 "src/parser.re" + { NEWTOKEN(PSI_T_TO_BOOL); goto start; } +#line 7959 "src/parser.c" +yy525: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy564; + default: goto yy62; + } +yy526: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy566; + default: goto yy62; + } +yy527: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy567; + default: goto yy62; + } +yy528: yyaccept = 62; yych = *(mrk = ++cur); switch (yych) { @@ -7853,15 +8047,15 @@ yy500: case '|': case '}': case '~': - case 0x7F: goto yy501; - case '\\': goto yy138; + case 0x7F: goto yy529; + case '\\': goto yy146; default: goto yy61; } -yy501: +yy529: #line 405 "src/parser.re" - { NEWTOKEN(PSI_T_INT64); goto start; } -#line 7864 "src/parser.c" -yy502: + { NEWTOKEN(PSI_T_WARNING); goto start; } +#line 8058 "src/parser.c" +yy530: yyaccept = 63; yych = *(mrk = ++cur); switch (yych) { @@ -7928,39 +8122,36 @@ yy502: case '|': case '}': case '~': - case 0x7F: goto yy503; - case '\\': goto yy138; + case 0x7F: goto yy531; + case '\\': goto yy146; default: goto yy61; } -yy503: -#line 430 "src/parser.re" - { NEWTOKEN(PSI_T_PATHVAL); goto start; } -#line 7939 "src/parser.c" -yy504: +yy531: +#line 371 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_ASM); goto start; } +#line 8133 "src/parser.c" +yy532: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'S': - case 's': goto yy538; + case 'b': goto yy568; default: goto yy62; } -yy505: +yy533: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy539; + case 's': goto yy569; default: goto yy62; } -yy506: +yy534: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'Y': - case 'y': goto yy540; + case 'i': goto yy570; default: goto yy62; } -yy507: +yy535: yyaccept = 64; yych = *(mrk = ++cur); switch (yych) { @@ -8027,39 +8218,15 @@ yy507: case '|': case '}': case '~': - case 0x7F: goto yy508; - case '\\': goto yy138; + case 0x7F: goto yy536; + case '\\': goto yy146; default: goto yy61; } -yy508: -#line 444 "src/parser.re" - { NEWTOKEN(PSI_T_TO_BOOL); goto start; } -#line 8038 "src/parser.c" -yy509: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy542; - default: goto yy62; - } -yy510: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'C': - case 'c': goto yy544; - default: goto yy62; - } -yy511: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy545; - default: goto yy62; - } -yy512: +yy536: +#line 388 "src/parser.re" + { NEWTOKEN(PSI_T_INT16); goto start; } +#line 8229 "src/parser.c" +yy537: yyaccept = 65; yych = *(mrk = ++cur); switch (yych) { @@ -8126,39 +8293,15 @@ yy512: case '|': case '}': case '~': - case 0x7F: goto yy513; - case '\\': goto yy138; + case 0x7F: goto yy538; + case '\\': goto yy146; default: goto yy61; } -yy513: -#line 415 "src/parser.re" - { NEWTOKEN(PSI_T_TYPEDEF); goto start; } -#line 8137 "src/parser.c" -yy514: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy546; - default: goto yy62; - } -yy515: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy548; - default: goto yy62; - } -yy516: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy550; - default: goto yy62; - } -yy517: +yy538: +#line 390 "src/parser.re" + { NEWTOKEN(PSI_T_INT32); goto start; } +#line 8304 "src/parser.c" +yy539: yyaccept = 66; yych = *(mrk = ++cur); switch (yych) { @@ -8225,25 +8368,19 @@ yy517: case '|': case '}': case '~': - case 0x7F: goto yy518; - case '\\': goto yy138; + case 0x7F: goto yy540; + case '\\': goto yy146; default: goto yy61; } -yy518: -#line 400 "src/parser.re" - { NEWTOKEN(PSI_T_UINT8); goto start; } -#line 8236 "src/parser.c" -yy519: +yy540: +#line 392 "src/parser.re" + { NEWTOKEN(PSI_T_INT64); goto start; } +#line 8379 "src/parser.c" +yy541: yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy552; - default: goto yy62; - } -yy520: - yyaccept = 67; - yych = *(mrk = ++cur); + mrk = ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { case 0x00: case 0x01: @@ -8308,16 +8445,13 @@ yy520: case '|': case '}': case '~': - case 0x7F: goto yy521; - case '\\': goto yy138; - default: goto yy61; + case 0x7F: goto yy55; + case '\\': goto yy146; + case 'o': goto yy571; + default: goto yy541; } -yy521: -#line 382 "src/parser.re" - { NEWTOKEN(PSI_T_WARNING); goto start; } -#line 8319 "src/parser.c" -yy522: - yyaccept = 68; +yy543: + yyaccept = 67; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8383,40 +8517,38 @@ yy522: case '|': case '}': case '~': - case 0x7F: goto yy523; - case '\\': goto yy138; + case 0x7F: goto yy544; + case '\\': goto yy146; default: goto yy61; } -yy523: -#line 371 "src/parser.re" - { NEWTOKEN(PSI_T_CPP_ASM); goto start; } -#line 8394 "src/parser.c" -yy524: +yy544: +#line 373 "src/parser.re" + { NEWTOKEN(PSI_T_TYPEDEF); goto start; } +#line 8528 "src/parser.c" +yy545: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'b': goto yy554; + case 't': goto yy573; default: goto yy62; } -yy525: +yy546: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy555; + case 't': goto yy575; default: goto yy62; } -yy526: +yy547: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy556; + case 't': goto yy577; default: goto yy62; } -yy527: - yyaccept = 5; - mrk = ++cur; - if (lim <= cur) if (cur >= lim) goto done;; - yych = *cur; +yy548: + yyaccept = 68; + yych = *(mrk = ++cur); switch (yych) { case 0x00: case 0x01: @@ -8481,12 +8613,22 @@ yy527: case '|': case '}': case '~': - case 0x7F: goto yy55; - case '\\': goto yy138; - case 'o': goto yy557; - default: goto yy527; + case 0x7F: goto yy549; + case '\\': goto yy146; + default: goto yy61; } -yy529: +yy549: +#line 387 "src/parser.re" + { NEWTOKEN(PSI_T_UINT8); goto start; } +#line 8624 "src/parser.c" +yy550: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'd': goto yy579; + default: goto yy62; + } +yy551: yyaccept = 69; yych = *(mrk = ++cur); switch (yych) { @@ -8553,15 +8695,15 @@ yy529: case '|': case '}': case '~': - case 0x7F: goto yy530; - case '\\': goto yy138; + case 0x7F: goto yy552; + case '\\': goto yy146; default: goto yy61; } -yy530: -#line 390 "src/parser.re" +yy552: +#line 413 "src/parser.re" { NEWTOKEN(PSI_T_CALLABLE); goto start; } -#line 8564 "src/parser.c" -yy531: +#line 8706 "src/parser.c" +yy553: yyaccept = 70; yych = *(mrk = ++cur); switch (yych) { @@ -8628,15 +8770,15 @@ yy531: case '|': case '}': case '~': - case 0x7F: goto yy532; - case '\\': goto yy138; + case 0x7F: goto yy554; + case '\\': goto yy146; default: goto yy61; } -yy532: -#line 412 "src/parser.re" +yy554: +#line 417 "src/parser.re" { NEWTOKEN(PSI_T_CALLBACK); goto start; } -#line 8639 "src/parser.c" -yy533: +#line 8781 "src/parser.c" +yy555: yyaccept = 71; yych = *(mrk = ++cur); switch (yych) { @@ -8703,15 +8845,15 @@ yy533: case '|': case '}': case '~': - case 0x7F: goto yy534; - case '\\': goto yy138; + case 0x7F: goto yy556; + case '\\': goto yy146; default: goto yy61; } -yy534: +yy556: #line 432 "src/parser.re" { NEWTOKEN(PSI_T_FLOATVAL); goto start; } -#line 8714 "src/parser.c" -yy535: +#line 8856 "src/parser.c" +yy557: yyaccept = 72; yych = *(mrk = ++cur); switch (yych) { @@ -8778,39 +8920,39 @@ yy535: case '|': case '}': case '~': - case 0x7F: goto yy536; - case '\\': goto yy138; + case 0x7F: goto yy558; + case '\\': goto yy146; default: goto yy61; } -yy536: -#line 414 "src/parser.re" +yy558: +#line 419 "src/parser.re" { NEWTOKEN(PSI_T_FUNCTION); goto start; } -#line 8789 "src/parser.c" -yy537: +#line 8931 "src/parser.c" +yy559: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy559; + case 'n': goto yy581; default: goto yy62; } -yy538: +yy560: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy560; + case 'e': goto yy582; default: goto yy62; } -yy539: +yy561: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy561; + case 'r': goto yy583; default: goto yy62; } -yy540: +yy562: yyaccept = 73; yych = *(mrk = ++cur); switch (yych) { @@ -8877,15 +9019,15 @@ yy540: case '|': case '}': case '~': - case 0x7F: goto yy541; - case '\\': goto yy138; + case 0x7F: goto yy563; + case '\\': goto yy146; default: goto yy61; } -yy541: +yy563: #line 440 "src/parser.re" { NEWTOKEN(PSI_T_TO_ARRAY); goto start; } -#line 8888 "src/parser.c" -yy542: +#line 9030 "src/parser.c" +yy564: yyaccept = 74; yych = *(mrk = ++cur); switch (yych) { @@ -8952,34 +9094,57 @@ yy542: case '|': case '}': case '~': - case 0x7F: goto yy543; - case '\\': goto yy138; + case 0x7F: goto yy565; + case '\\': goto yy146; default: goto yy61; } -yy543: +yy565: #line 443 "src/parser.re" { NEWTOKEN(PSI_T_TO_FLOAT); goto start; } -#line 8963 "src/parser.c" -yy544: +#line 9105 "src/parser.c" +yy566: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy562; + case 't': goto yy584; default: goto yy62; } -yy545: +yy567: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy564; + case 'g': goto yy586; default: goto yy62; } -yy546: - yyaccept = 75; +yy568: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'u': goto yy588; + default: goto yy62; + } +yy569: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy589; + default: goto yy62; + } +yy570: + yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { + case 'c': goto yy590; + default: goto yy62; + } +yy571: + yyaccept = 5; + mrk = ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { case 0x00: case 0x01: case 0x02: @@ -9043,16 +9208,14 @@ yy546: case '|': case '}': case '~': - case 0x7F: goto yy547; - case '\\': goto yy138; - default: goto yy61; + case 0x7F: goto yy55; + case '\\': goto yy146; + case 'n': goto yy591; + case 'o': goto yy571; + default: goto yy541; } -yy547: -#line 402 "src/parser.re" - { NEWTOKEN(PSI_T_UINT16); goto start; } -#line 9054 "src/parser.c" -yy548: - yyaccept = 76; +yy573: + yyaccept = 75; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9118,16 +9281,16 @@ yy548: case '|': case '}': case '~': - case 0x7F: goto yy549; - case '\\': goto yy138; + case 0x7F: goto yy574; + case '\\': goto yy146; default: goto yy61; } -yy549: -#line 404 "src/parser.re" - { NEWTOKEN(PSI_T_UINT32); goto start; } -#line 9129 "src/parser.c" -yy550: - yyaccept = 77; +yy574: +#line 389 "src/parser.re" + { NEWTOKEN(PSI_T_UINT16); goto start; } +#line 9292 "src/parser.c" +yy575: + yyaccept = 76; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9193,16 +9356,16 @@ yy550: case '|': case '}': case '~': - case 0x7F: goto yy551; - case '\\': goto yy138; + case 0x7F: goto yy576; + case '\\': goto yy146; default: goto yy61; } -yy551: -#line 406 "src/parser.re" - { NEWTOKEN(PSI_T_UINT64); goto start; } -#line 9204 "src/parser.c" -yy552: - yyaccept = 78; +yy576: +#line 391 "src/parser.re" + { NEWTOKEN(PSI_T_UINT32); goto start; } +#line 9367 "src/parser.c" +yy577: + yyaccept = 77; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9268,41 +9431,18 @@ yy552: case '|': case '}': case '~': - case 0x7F: goto yy553; - case '\\': goto yy138; + case 0x7F: goto yy578; + case '\\': goto yy146; default: goto yy61; } -yy553: -#line 407 "src/parser.re" - { NEWTOKEN(PSI_T_UNSIGNED); goto start; } -#line 9279 "src/parser.c" -yy554: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'u': goto yy566; - default: goto yy62; - } -yy555: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'i': goto yy567; - default: goto yy62; - } -yy556: - yyaccept = 5; +yy578: +#line 393 "src/parser.re" + { NEWTOKEN(PSI_T_UINT64); goto start; } +#line 9442 "src/parser.c" +yy579: + yyaccept = 78; yych = *(mrk = ++cur); switch (yych) { - case 'c': goto yy568; - default: goto yy62; - } -yy557: - yyaccept = 5; - mrk = ++cur; - if (lim <= cur) if (cur >= lim) goto done;; - yych = *cur; - switch (yych) { case 0x00: case 0x01: case 0x02: @@ -9366,37 +9506,39 @@ yy557: case '|': case '}': case '~': - case 0x7F: goto yy55; - case '\\': goto yy138; - case 'n': goto yy569; - case 'o': goto yy557; - default: goto yy527; + case 0x7F: goto yy580; + case '\\': goto yy146; + default: goto yy61; } -yy559: +yy580: +#line 394 "src/parser.re" + { NEWTOKEN(PSI_T_UNSIGNED); goto start; } +#line 9517 "src/parser.c" +yy581: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy570; + case 'e': goto yy592; default: goto yy62; } -yy560: +yy582: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy571; + case 'r': goto yy593; default: goto yy62; } -yy561: +yy583: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy572; + case 't': goto yy594; default: goto yy62; } -yy562: +yy584: yyaccept = 79; yych = *(mrk = ++cur); switch (yych) { @@ -9463,15 +9605,15 @@ yy562: case '|': case '}': case '~': - case 0x7F: goto yy563; - case '\\': goto yy138; + case 0x7F: goto yy585; + case '\\': goto yy146; default: goto yy61; } -yy563: +yy585: #line 439 "src/parser.re" { NEWTOKEN(PSI_T_TO_OBJECT); goto start; } -#line 9474 "src/parser.c" -yy564: +#line 9616 "src/parser.c" +yy586: yyaccept = 80; yych = *(mrk = ++cur); switch (yych) { @@ -9538,36 +9680,36 @@ yy564: case '|': case '}': case '~': - case 0x7F: goto yy565; - case '\\': goto yy138; + case 0x7F: goto yy587; + case '\\': goto yy146; default: goto yy61; } -yy565: +yy587: #line 441 "src/parser.re" { NEWTOKEN(PSI_T_TO_STRING); goto start; } -#line 9549 "src/parser.c" -yy566: +#line 9691 "src/parser.c" +yy588: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy574; + case 't': goto yy596; default: goto yy62; } -yy567: +yy589: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy575; + case 'o': goto yy597; default: goto yy62; } -yy568: +yy590: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy576; + case 't': goto yy598; default: goto yy62; } -yy569: +yy591: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -9637,28 +9779,28 @@ yy569: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy138; - case 'c': goto yy578; - case 'o': goto yy557; - default: goto yy527; + case '\\': goto yy146; + case 'c': goto yy600; + case 'o': goto yy571; + default: goto yy541; } -yy570: +yy592: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy579; + case 'x': goto yy601; default: goto yy62; } -yy571: +yy593: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy580; + case 't': goto yy602; default: goto yy62; } -yy572: +yy594: yyaccept = 81; yych = *(mrk = ++cur); switch (yych) { @@ -9725,29 +9867,29 @@ yy572: case '|': case '}': case '~': - case 0x7F: goto yy573; - case '\\': goto yy138; + case 0x7F: goto yy595; + case '\\': goto yy146; default: goto yy61; } -yy573: +yy595: #line 423 "src/parser.re" { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; } -#line 9736 "src/parser.c" -yy574: +#line 9878 "src/parser.c" +yy596: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy582; + case 'e': goto yy604; default: goto yy62; } -yy575: +yy597: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy583; + case 'n': goto yy605; default: goto yy62; } -yy576: +yy598: yyaccept = 82; yych = *(mrk = ++cur); switch (yych) { @@ -9814,15 +9956,15 @@ yy576: case '|': case '}': case '~': - case 0x7F: goto yy577; - case '\\': goto yy138; + case 0x7F: goto yy599; + case '\\': goto yy146; default: goto yy61; } -yy577: +yy599: #line 369 "src/parser.re" { NEWTOKEN(PSI_T_CPP_RESTRICT); goto start; } -#line 9825 "src/parser.c" -yy578: +#line 9967 "src/parser.c" +yy600: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -9892,20 +10034,20 @@ yy578: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy138; - case 'e': goto yy584; - case 'o': goto yy557; - default: goto yy527; + case '\\': goto yy146; + case 'e': goto yy606; + case 'o': goto yy571; + default: goto yy541; } -yy579: +yy601: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy586; + case 't': goto yy608; default: goto yy62; } -yy580: +yy602: yyaccept = 83; yych = *(mrk = ++cur); switch (yych) { @@ -9972,29 +10114,29 @@ yy580: case '|': case '}': case '~': - case 0x7F: goto yy581; - case '\\': goto yy138; + case 0x7F: goto yy603; + case '\\': goto yy146; default: goto yy61; } -yy581: +yy603: #line 424 "src/parser.re" { NEWTOKEN(PSI_T_POST_ASSERT); goto start; } -#line 9983 "src/parser.c" -yy582: +#line 10125 "src/parser.c" +yy604: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy588; + case '_': goto yy610; default: goto yy62; } -yy583: +yy605: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy589; + case '_': goto yy611; default: goto yy62; } -yy584: +yy606: yyaccept = 84; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -10063,16 +10205,16 @@ yy584: case '|': case '}': case '~': - case 0x7F: goto yy585; - case '\\': goto yy138; - case 'o': goto yy557; - default: goto yy527; + case 0x7F: goto yy607; + case '\\': goto yy146; + case 'o': goto yy571; + default: goto yy541; } -yy585: +yy607: #line 368 "src/parser.re" { NEWTOKEN(PSI_T_PRAGMA_ONCE); goto start; } -#line 10075 "src/parser.c" -yy586: +#line 10217 "src/parser.c" +yy608: yyaccept = 85; yych = *(mrk = ++cur); switch (yych) { @@ -10139,29 +10281,29 @@ yy586: case '|': case '}': case '~': - case 0x7F: goto yy587; - case '\\': goto yy138; + case 0x7F: goto yy609; + case '\\': goto yy146; default: goto yy61; } -yy587: -#line 385 "src/parser.re" +yy609: +#line 408 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; } -#line 10150 "src/parser.c" -yy588: +#line 10292 "src/parser.c" +yy610: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy590; + case '_': goto yy612; default: goto yy62; } -yy589: +yy611: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy591; + case '_': goto yy613; default: goto yy62; } -yy590: +yy612: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { @@ -10227,12 +10369,12 @@ yy590: case 0x7F: goto yy55; case '\t': case '\f': - case ' ': goto yy593; - case '(': goto yy595; - case '\\': goto yy138; + case ' ': goto yy615; + case '(': goto yy617; + case '\\': goto yy146; default: goto yy61; } -yy591: +yy613: yyaccept = 86; yych = *(mrk = ++cur); switch (yych) { @@ -10299,65 +10441,65 @@ yy591: case '|': case '}': case '~': - case 0x7F: goto yy592; - case '\\': goto yy138; + case 0x7F: goto yy614; + case '\\': goto yy146; default: goto yy61; } -yy592: +yy614: #line 370 "src/parser.re" { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; } -#line 10310 "src/parser.c" -yy593: +#line 10452 "src/parser.c" +yy615: ++cur; if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\t': case '\f': - case ' ': goto yy593; - case '(': goto yy595; - default: goto yy106; + case ' ': goto yy615; + case '(': goto yy617; + default: goto yy114; } -yy595: +yy617: yych = *++cur; switch (yych) { - case '(': goto yy596; - default: goto yy106; + case '(': goto yy618; + default: goto yy114; } -yy596: +yy618: ++cur; #line 449 "src/parser.re" { parens = 2; goto cpp_attribute; } -#line 10332 "src/parser.c" +#line 10474 "src/parser.c" } #line 455 "src/parser.re" character: ; -#line 10339 "src/parser.c" +#line 10481 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy602; - case '\'': goto yy604; - case '\\': goto yy606; - default: goto yy600; + case '\r': goto yy624; + case '\'': goto yy626; + case '\\': goto yy628; + default: goto yy622; } -yy600: +yy622: ++cur; #line 473 "src/parser.re" { escaped = false; goto character; } -#line 10355 "src/parser.c" -yy602: +#line 10497 "src/parser.c" +yy624: ++cur; #line 460 "src/parser.re" { NEWLINE(); goto character; } -#line 10360 "src/parser.c" -yy604: +#line 10502 "src/parser.c" +yy626: ++cur; #line 462 "src/parser.re" { @@ -10371,41 +10513,41 @@ yy604: token->flags = char_width; goto start; } -#line 10375 "src/parser.c" -yy606: +#line 10517 "src/parser.c" +yy628: ++cur; #line 461 "src/parser.re" { escaped = !escaped; goto character; } -#line 10380 "src/parser.c" +#line 10522 "src/parser.c" } #line 475 "src/parser.re" string: ; -#line 10387 "src/parser.c" +#line 10529 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy612; - case '"': goto yy614; - case '\\': goto yy616; - default: goto yy610; + case '\r': goto yy634; + case '"': goto yy636; + case '\\': goto yy638; + default: goto yy632; } -yy610: +yy632: ++cur; #line 493 "src/parser.re" { escaped = false; goto string; } -#line 10403 "src/parser.c" -yy612: +#line 10545 "src/parser.c" +yy634: ++cur; #line 480 "src/parser.re" { NEWLINE(); goto string; } -#line 10408 "src/parser.c" -yy614: +#line 10550 "src/parser.c" +yy636: ++cur; #line 482 "src/parser.re" { @@ -10419,77 +10561,77 @@ yy614: token->flags = char_width; goto start; } -#line 10423 "src/parser.c" -yy616: +#line 10565 "src/parser.c" +yy638: ++cur; #line 481 "src/parser.re" { escaped = !escaped; goto string; } -#line 10428 "src/parser.c" +#line 10570 "src/parser.c" } #line 495 "src/parser.re" comment: ; -#line 10435 "src/parser.c" +#line 10577 "src/parser.c" { unsigned char yych; if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy622; - case '*': goto yy624; - default: goto yy620; + case '\r': goto yy644; + case '*': goto yy646; + default: goto yy642; } -yy620: +yy642: ++cur; -yy621: +yy643: #line 502 "src/parser.re" { goto comment; } -#line 10451 "src/parser.c" -yy622: +#line 10593 "src/parser.c" +yy644: ++cur; #line 500 "src/parser.re" { NEWLINE(); goto comment; } -#line 10456 "src/parser.c" -yy624: +#line 10598 "src/parser.c" +yy646: yych = *++cur; switch (yych) { - case '/': goto yy625; - default: goto yy621; + case '/': goto yy647; + default: goto yy643; } -yy625: +yy647: ++cur; #line 501 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); goto start; } -#line 10467 "src/parser.c" +#line 10609 "src/parser.c" } #line 504 "src/parser.re" comment_sl: ; -#line 10474 "src/parser.c" +#line 10616 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy631; - default: goto yy629; + case '\r': goto yy653; + default: goto yy651; } -yy629: +yy651: ++cur; #line 510 "src/parser.re" { goto comment_sl; } -#line 10488 "src/parser.c" -yy631: +#line 10630 "src/parser.c" +yy653: ++cur; #line 509 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; } -#line 10493 "src/parser.c" +#line 10635 "src/parser.c" } #line 512 "src/parser.re" @@ -10497,38 +10639,38 @@ yy631: cpp_attribute: ; -#line 10501 "src/parser.c" +#line 10643 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy637; - case '(': goto yy639; - case ')': goto yy641; - default: goto yy635; + case '\r': goto yy659; + case '(': goto yy661; + case ')': goto yy663; + default: goto yy657; } -yy635: +yy657: ++cur; #line 521 "src/parser.re" { goto cpp_attribute; } -#line 10517 "src/parser.c" -yy637: +#line 10659 "src/parser.c" +yy659: ++cur; #line 520 "src/parser.re" { NEWLINE(); goto cpp_attribute; } -#line 10522 "src/parser.c" -yy639: +#line 10664 "src/parser.c" +yy661: ++cur; #line 518 "src/parser.re" { ++parens; goto cpp_attribute; } -#line 10527 "src/parser.c" -yy641: +#line 10669 "src/parser.c" +yy663: ++cur; #line 519 "src/parser.re" { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } } -#line 10532 "src/parser.c" +#line 10674 "src/parser.c" } #line 523 "src/parser.re" diff --git a/src/parser.h b/src/parser.h index 65c9012..d4cfb22 100644 --- a/src/parser.h +++ b/src/parser.h @@ -51,17 +51,6 @@ struct psi_parser_input { char buffer[1]; }; -struct psi_parser_data { - enum { - PSI_PARSER_DATA_SELF, - PSI_PARSER_DATA_CPP - } type; - union { - struct psi_parser *parser; - struct psi_cpp *cpp; - } data; -}; - struct psi_parser *psi_parser_init(struct psi_parser *P, psi_error_cb error, unsigned flags); struct psi_parser_input *psi_parser_open_file(struct psi_parser *P, const char *filename, bool report_errors); struct psi_parser_input *psi_parser_open_string(struct psi_parser *P, const char *string, size_t length); diff --git a/src/parser.re b/src/parser.re index 22be756..fb4e35b 100644 --- a/src/parser.re +++ b/src/parser.re @@ -370,6 +370,29 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input "__extension__" { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; } "__asm__" { NEWTOKEN(PSI_T_CPP_ASM); goto start; } "line" { NEWTOKEN(PSI_T_LINE); goto start; } + "typedef" { NEWTOKEN(PSI_T_TYPEDEF); goto start; } + "struct" { NEWTOKEN(PSI_T_STRUCT); goto start; } + "union" { NEWTOKEN(PSI_T_UNION); goto start; } + "enum" { NEWTOKEN(PSI_T_ENUM); goto start; } + "const" { NEWTOKEN(PSI_T_CONST); goto start; } + "void" { NEWTOKEN(PSI_T_VOID); goto start; } + "bool" { NEWTOKEN(PSI_T_BOOL); goto start; } + "char" { NEWTOKEN(PSI_T_CHAR); goto start; } + "short" { NEWTOKEN(PSI_T_SHORT); goto start; } + "int" { NEWTOKEN(PSI_T_INT); goto start; } + "long" { NEWTOKEN(PSI_T_LONG); goto start; } + "float" { NEWTOKEN(PSI_T_FLOAT); goto start; } + "double" { NEWTOKEN(PSI_T_DOUBLE); goto start; } + "int8_t" { NEWTOKEN(PSI_T_INT8); goto start; } + "uint8_t" { NEWTOKEN(PSI_T_UINT8); goto start; } + "int16_t" { NEWTOKEN(PSI_T_INT16); goto start; } + "uint16_t" { NEWTOKEN(PSI_T_UINT16); goto start; } + "int32_t" { NEWTOKEN(PSI_T_INT32); goto start; } + "uint32_t" { NEWTOKEN(PSI_T_UINT32); goto start; } + "int64_t" { NEWTOKEN(PSI_T_INT64); goto start; } + "uint64_t" { NEWTOKEN(PSI_T_UINT64); goto start; } + "unsigned" { NEWTOKEN(PSI_T_UNSIGNED); goto start; } + "signed" { NEWTOKEN(PSI_T_SIGNED); goto start; } 'IF' { NEWTOKEN(PSI_T_IF); goto start; } 'IFDEF' { NEWTOKEN(PSI_T_IFDEF); goto start; } 'IFNDEF' { NEWTOKEN(PSI_T_IFNDEF); goto start; } @@ -388,35 +411,12 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input 'NULL' { NEWTOKEN(PSI_T_NULL); goto start; } 'MIXED' { NEWTOKEN(PSI_T_MIXED); goto start; } 'CALLABLE' { NEWTOKEN(PSI_T_CALLABLE); goto start; } - 'VOID' { NEWTOKEN(PSI_T_VOID); goto start; } - 'BOOL' { NEWTOKEN(PSI_T_BOOL); goto start; } - 'CHAR' { NEWTOKEN(PSI_T_CHAR); goto start; } - 'SHORT' { NEWTOKEN(PSI_T_SHORT); goto start; } - 'INT' { NEWTOKEN(PSI_T_INT); goto start; } - 'LONG' { NEWTOKEN(PSI_T_LONG); goto start; } - 'FLOAT' { NEWTOKEN(PSI_T_FLOAT); goto start; } - 'DOUBLE' { NEWTOKEN(PSI_T_DOUBLE); goto start; } - 'INT8_T' { NEWTOKEN(PSI_T_INT8); goto start; } - 'UINT8_T' { NEWTOKEN(PSI_T_UINT8); goto start; } - 'INT16_T' { NEWTOKEN(PSI_T_INT16); goto start; } - 'UINT16_T' { NEWTOKEN(PSI_T_UINT16); goto start; } - 'INT32_T' { NEWTOKEN(PSI_T_INT32); goto start; } - 'UINT32_T' { NEWTOKEN(PSI_T_UINT32); goto start; } - 'INT64_T' { NEWTOKEN(PSI_T_INT64); goto start; } - 'UINT64_T' { NEWTOKEN(PSI_T_UINT64); goto start; } - 'UNSIGNED' { NEWTOKEN(PSI_T_UNSIGNED); goto start; } - 'SIGNED' { NEWTOKEN(PSI_T_SIGNED); goto start; } 'STRING' { NEWTOKEN(PSI_T_STRING); goto start; } 'ARRAY' { NEWTOKEN(PSI_T_ARRAY); goto start; } 'OBJECT' { NEWTOKEN(PSI_T_OBJECT); goto start; } 'CALLBACK' { NEWTOKEN(PSI_T_CALLBACK); goto start; } 'STATIC' { NEWTOKEN(PSI_T_STATIC); goto start; } 'FUNCTION' { NEWTOKEN(PSI_T_FUNCTION); goto start; } - 'TYPEDEF' { NEWTOKEN(PSI_T_TYPEDEF); goto start; } - 'STRUCT' { NEWTOKEN(PSI_T_STRUCT); goto start; } - 'UNION' { NEWTOKEN(PSI_T_UNION); goto start; } - 'ENUM' { NEWTOKEN(PSI_T_ENUM); goto start; } - 'CONST' { NEWTOKEN(PSI_T_CONST); goto start; } 'LIB' { NEWTOKEN(PSI_T_LIB); goto start; } 'LET' { NEWTOKEN(PSI_T_LET); goto start; } 'SET' { NEWTOKEN(PSI_T_SET); goto start; } diff --git a/src/parser_proc.c b/src/parser_proc.c index eced6ef..8c700d0 100644 --- a/src/parser_proc.c +++ b/src/parser_proc.c @@ -266,18 +266,18 @@ static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_imp #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 168 +#define YYFINAL 169 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3366 +#define YYLAST 3407 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 132 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 122 +#define YYNNTS 123 /* YYNRULES -- Number of rules. */ -#define YYNRULES 480 +#define YYNRULES 485 /* YYNRULES -- Number of states. */ -#define YYNSTATES 713 +#define YYNSTATES 718 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */ #define YYMAXRHS 13 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle @@ -360,34 +360,34 @@ static const unsigned short int yyrline[] = 424, 430, 436, 439, 445, 468, 472, 476, 481, 485, 489, 493, 500, 501, 505, 506, 510, 511, 512, 516, 517, 521, 522, 526, 527, 528, 532, 533, 537, 538, - 539, 540, 541, 542, 546, 551, 559, 562, 566, 571, - 579, 582, 586, 590, 597, 601, 605, 609, 614, 624, - 634, 639, 644, 650, 659, 662, 666, 670, 676, 683, - 689, 690, 691, 692, 696, 699, 730, 737, 738, 739, - 740, 744, 747, 756, 762, 763, 771, 782, 791, 800, - 808, 811, 815, 819, 823, 828, 833, 841, 842, 843, - 846, 852, 855, 858, 864, 865, 866, 867, 868, 869, - 870, 871, 875, 876, 880, 883, 886, 892, 895, 898, - 906, 918, 921, 924, 931, 934, 944, 947, 950, 953, - 954, 958, 961, 964, 975, 978, 984, 985, 989, 990, - 994, 998, 1004, 1005, 1011, 1014, 1020, 1021, 1028, 1029, - 1033, 1040, 1051, 1058, 1069, 1076, 1087, 1098, 1112, 1113, - 1125, 1128, 1131, 1134, 1141, 1144, 1150, 1159, 1171, 1179, - 1182, 1192, 1205, 1210, 1218, 1228, 1238, 1241, 1245, 1251, - 1265, 1282, 1285, 1291, 1298, 1308, 1315, 1318, 1324, 1329, - 1337, 1341, 1345, 1349, 1353, 1357, 1364, 1368, 1372, 1376, - 1383, 1396, 1409, 1422, 1425, 1432, 1435, 1438, 1441, 1447, - 1451, 1458, 1461, 1467, 1470, 1476, 1477, 1483, 1486, 1498, - 1501, 1508, 1513, 1518, 1528, 1531, 1537, 1540, 1546, 1553, - 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1572, - 1575, 1581, 1584, 1587, 1590, 1593, 1599, 1603, 1611, 1612, - 1616, 1623, 1626, 1629, 1633, 1636, 1639, 1645, 1649, 1657, - 1664, 1672, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1693, 1696, 1702, 1705, 1711, 1712, 1716, 1719, - 1725, 1728, 1734, 1741, 1748, 1751, 1754, 1761, 1766, 1774, - 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1785, 1788, 1794, - 1797, 1803, 1810, 1811, 1815, 1822, 1825, 1831, 1839, 1842, - 1848 + 539, 540, 541, 542, 546, 551, 559, 562, 565, 566, + 572, 577, 585, 588, 592, 596, 603, 607, 611, 615, + 620, 630, 640, 645, 650, 656, 665, 668, 672, 676, + 682, 689, 695, 696, 697, 698, 702, 705, 736, 743, + 744, 745, 746, 750, 753, 762, 768, 769, 777, 788, + 797, 806, 814, 817, 821, 825, 829, 834, 839, 847, + 848, 849, 852, 858, 861, 864, 870, 871, 872, 873, + 874, 875, 876, 877, 881, 882, 886, 889, 892, 898, + 901, 904, 912, 924, 927, 930, 937, 940, 950, 953, + 956, 959, 960, 964, 967, 970, 981, 984, 990, 991, + 995, 996, 1000, 1004, 1010, 1011, 1017, 1020, 1026, 1027, + 1034, 1035, 1039, 1046, 1057, 1064, 1075, 1082, 1093, 1104, + 1118, 1119, 1131, 1134, 1137, 1140, 1147, 1150, 1156, 1165, + 1177, 1185, 1188, 1198, 1211, 1216, 1224, 1234, 1244, 1247, + 1251, 1257, 1271, 1288, 1291, 1297, 1304, 1314, 1321, 1324, + 1330, 1335, 1343, 1347, 1351, 1355, 1359, 1363, 1370, 1374, + 1378, 1382, 1389, 1402, 1415, 1428, 1431, 1438, 1441, 1444, + 1447, 1453, 1457, 1464, 1467, 1470, 1476, 1479, 1485, 1486, + 1492, 1495, 1501, 1502, 1512, 1515, 1522, 1527, 1532, 1542, + 1545, 1551, 1554, 1560, 1567, 1574, 1575, 1576, 1577, 1578, + 1579, 1580, 1581, 1582, 1586, 1589, 1595, 1598, 1601, 1604, + 1607, 1613, 1617, 1625, 1626, 1630, 1637, 1640, 1643, 1647, + 1650, 1653, 1659, 1663, 1671, 1678, 1686, 1694, 1695, 1696, + 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1707, 1710, 1716, + 1719, 1725, 1726, 1730, 1733, 1739, 1742, 1748, 1755, 1762, + 1765, 1768, 1775, 1780, 1788, 1789, 1790, 1791, 1792, 1793, + 1794, 1795, 1799, 1802, 1808, 1811, 1817, 1824, 1825, 1829, + 1836, 1839, 1845, 1853, 1856, 1862 }; #endif @@ -438,7 +438,7 @@ static const char *const yytname[] = "decl_vars_with_layout", "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number", "enum_name", "union_name", "struct_name", "optional_name", "decl_layout", "align_and_size", - "array_size", "indirection", "pointers", "asterisks", "impl", + "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback", @@ -450,85 +450,85 @@ static const char *const yytname[] = }; #endif -#define YYPACT_NINF -550 -#define YYTABLE_NINF -479 +#define YYPACT_NINF -565 +#define YYTABLE_NINF -484 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const short int yypact[] = { - 949, -550, -550, -550, -550, -550, 116, -550, -550, 2253, - -550, -550, -550, -550, -550, -550, -550, -550, 2807, -550, - -550, 471, 2857, 2636, 2636, 2636, 311, 9, -50, 12, - -550, 1043, 66, 949, -550, -550, -550, -550, -550, 2302, - -550, -550, -550, -550, -550, 77, 48, -550, -550, -550, - 53, -34, -550, -550, 40, 62, 86, -550, -550, -550, - -550, 93, -550, 102, -550, -550, -550, -550, -550, 659, - -550, 96, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, 2420, -21, -550, -550, -550, 2636, 2636, 2636, - 2988, -550, 105, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, 908, -550, -550, -550, -550, - 118, 789, 789, -6, -550, 908, 2135, 2253, 2636, 2636, - 121, 1899, -550, -550, 131, 2636, 144, 144, 52, 52, - 149, -550, -550, 162, 181, -550, 96, 187, -550, -550, - 183, 186, -550, 198, -550, 2884, 2911, -34, -550, -550, - 188, -550, 192, 2636, -550, 225, -550, 82, -550, -550, - 77, -550, -550, 196, 199, 2961, 2961, 2636, 103, 2636, - -550, 96, -550, -550, -550, -550, -550, -550, 2302, -550, - -550, -550, -550, -550, -550, 112, 789, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, 789, -550, -550, -550, -550, -550, -550, - -550, -550, 2135, -550, -550, -550, -550, 2469, 2135, 201, - 3223, 203, 87, -550, 87, -550, -550, -550, -550, 200, - 202, 202, 26, 26, 2587, 197, -550, 103, 207, 219, - 220, 226, -550, 96, 188, -550, -550, -550, -550, -550, - -550, 227, -550, 2, 3015, 2302, 81, -550, -550, 108, - 214, 74, -550, 2302, 1781, 2302, 2636, 80, -550, -550, - 123, -550, -550, -550, -550, -550, 2017, -550, 223, 2636, - 224, -550, 2636, 236, -550, -550, 3060, 2636, -550, -550, - 2135, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, -550, 2135, - 2135, -550, 237, 2911, 2302, 2302, -550, -550, -550, -550, - 96, -550, 1191, 151, 36, -550, -550, 218, 2636, -550, - -550, 31, 2420, 96, 192, 188, 2753, 188, 2780, 2017, - 2636, -550, 230, 240, -550, -550, -550, 1073, 2017, -550, - 3247, -550, 232, 242, -550, 244, 251, 238, 247, 79, - -550, -550, 250, 244, -550, -550, 589, -550, 249, 2302, - 2636, -550, 253, 3223, 258, 259, 3174, -550, 256, 257, - 1940, -550, -550, 2636, -550, -550, -550, -550, 264, -550, - 3247, -550, -550, -550, -550, -550, -550, -550, -550, -550, - -550, 261, 140, -550, 12, -550, -550, 265, -550, -550, - 2587, -550, 2, 266, -550, -550, 267, 3247, -550, 1309, - -550, 269, 3051, 270, 3096, -550, 2017, 2017, 1781, -550, - 2302, -550, 12, 2302, -550, 2636, -550, -550, -550, -550, - -550, 273, 263, -550, -550, 2135, 2135, 286, 3, 287, - -550, 257, 290, -550, 357, 297, 357, 293, -550, 188, - 188, -550, 176, 160, 302, 3247, -550, -550, -550, -550, - 304, 1427, 2017, -550, 3199, -550, -550, 305, 2302, 171, - -550, 789, 2636, 3223, 3271, 314, 303, 312, 2302, 315, - 287, -550, -550, 357, -550, 12, 1191, -550, -550, 302, - -550, -550, -550, -550, 313, 2017, 12, -550, -550, 2017, - 1545, 316, 320, -550, -550, -550, 319, 318, 329, 257, - 324, -550, 331, -550, -3, -550, 12, 3149, 335, 3295, - 338, -550, 339, -550, -550, -550, 342, 341, -550, 2302, - -550, 350, 345, 2017, 1309, 346, -550, 1781, 351, 353, - 257, 348, 1663, 3123, 230, -550, -550, -550, 349, 1427, - -550, -550, 352, 354, -550, 347, 355, 356, -550, -550, - 1309, -550, 358, -550, 357, 359, 1781, -550, 360, -550, - -550, -550, -550 + 954, -565, -565, -565, -565, -565, 113, -565, -565, 2258, + -565, -565, -565, -565, -565, -565, -565, -565, 2910, -565, + -565, 192, 2937, 2766, 2766, 2766, 541, 35, 10, 50, + -565, 313, 95, 954, -565, -565, -565, -565, -565, 2307, + -565, -565, -565, -565, -565, 41, 36, -565, -565, -565, + 75, -4, -565, -565, 79, 77, 106, -565, -565, -565, + -565, 91, -565, 116, -565, -565, -565, -565, -565, 664, + -565, 105, 71, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, 2425, -22, -565, -565, -565, -565, 2766, 2766, + 2766, 3091, -565, 107, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, 913, -565, -565, -565, + -565, 149, 794, 794, 3, -565, 913, 2140, 2258, 2766, + 2766, 150, 1904, -565, -565, 153, 2766, 154, 154, 33, + 33, 162, -565, -565, 175, 184, -565, 105, 187, -565, + -565, 182, 197, -565, 198, -565, 2987, 3014, -4, -565, + -565, 196, -565, 204, 2766, -565, 239, -565, 73, -565, + -565, 41, -565, -565, 208, 210, 3041, 3041, 2766, -41, + 2766, -565, -565, 105, -565, -565, -565, -565, -565, -565, + 2307, -565, -565, -565, -565, -565, -565, 126, 794, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, 794, -565, -565, -565, -565, + -565, -565, -565, -565, 2140, -565, -565, -565, -565, 2474, + 2140, 215, 3264, 211, 13, -565, 13, -565, -565, -565, + -565, 214, 216, 216, 30, 30, 2592, 213, -565, -41, + 218, 220, 224, 8, -565, 105, 196, -565, -565, -565, + -565, -565, -565, 228, -565, 1, 3118, 2307, 45, -565, + -565, 129, 217, 46, -565, 2307, 1786, 2307, 2766, 81, + -565, -565, 109, -565, -565, -565, -565, -565, 2022, -565, + 237, 2766, 241, -565, 2766, 244, -565, -565, 3136, 2766, + -565, -565, 2140, -565, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, + -565, 2140, 2140, -565, 245, 3014, 2307, 2307, -565, -565, + -565, -565, 105, -565, 1196, 123, 371, -565, -565, 240, + -565, 2766, -565, -565, 42, 2425, 105, 204, 196, 1048, + 196, 2883, 2022, 2766, -565, 238, 249, -565, -565, -565, + 1078, 2022, -565, 3288, -565, 242, 250, -565, 255, 262, + 251, 257, 56, -565, -565, 259, 255, -565, -565, 3108, + -565, 260, 2307, 2643, -565, 263, 3264, 265, 266, 3215, + -565, 274, 267, 1945, -565, -565, 2766, -565, -565, -565, + -565, 272, -565, 3288, -565, -565, -565, -565, -565, -565, + -565, -565, -565, -565, 269, 141, -565, 50, -565, -565, + 276, -565, -565, 2592, -565, 1, 286, -565, -565, 289, + 3288, -565, 1314, -565, 290, 485, 292, 3163, -565, 2022, + 2022, 1786, -565, 2307, -565, 50, 2307, -565, 2766, -565, + -565, -565, -565, -565, -565, 301, 273, -565, -565, 2140, + 2140, 302, 7, 305, -565, 267, 307, -565, 464, 300, + 464, 306, -565, 196, 196, -565, 233, 125, 315, 3288, + -565, -565, -565, -565, 316, 1432, 2022, -565, 3240, -565, + -565, 311, 2307, 143, -565, 794, 2717, 3264, 3312, 322, + 319, 323, 2307, 320, 305, -565, -565, 464, -565, 50, + 1196, -565, -565, 315, -565, -565, -565, -565, 324, 2022, + 50, -565, -565, 2022, 1550, 325, 328, -565, -565, -565, + -565, 330, 326, 337, 267, 331, -565, 335, -565, -2, + -565, 50, 594, 333, 3336, 336, -565, 339, -565, -565, + -565, 338, 342, -565, 2307, -565, 357, 352, 2022, 1314, + 353, -565, 1786, 360, 361, 267, 356, 1668, 3190, 238, + -565, -565, -565, 359, 1432, -565, -565, 369, 358, -565, + 355, 362, 372, -565, -565, 1314, -565, 367, -565, 464, + 374, 1786, -565, 376, -565, -565, -565, -565 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -536,114 +536,114 @@ static const short int yypact[] = means the default is an error. */ static const unsigned short int yydefact[] = { - 164, 287, 284, 288, 282, 283, 285, 271, 272, 0, - 274, 275, 276, 277, 278, 279, 280, 281, 270, 169, - 168, 0, 0, 0, 0, 373, 0, 0, 0, 478, - 170, 0, 0, 165, 166, 172, 171, 173, 176, 383, - 261, 263, 262, 268, 269, 291, 301, 267, 174, 175, - 0, 306, 316, 318, 319, 0, 0, 328, 178, 177, - 179, 0, 180, 0, 286, 273, 33, 34, 466, 432, - 24, 383, 387, 39, 38, 37, 35, 36, 32, 31, - 25, 29, 28, 26, 27, 440, 439, 437, 435, 436, - 438, 434, 433, 441, 30, 464, 462, 461, 463, 460, - 459, 329, 0, 385, 40, 41, 270, 0, 0, 0, - 0, 317, 312, 182, 193, 190, 192, 194, 195, 206, - 203, 204, 201, 207, 202, 0, 205, 196, 197, 198, - 0, 220, 220, 0, 186, 0, 0, 0, 373, 373, - 0, 383, 255, 338, 254, 0, 379, 379, 264, 265, - 266, 370, 240, 288, 271, 243, 0, 0, 239, 260, - 0, 0, 480, 0, 479, 270, 0, 306, 1, 167, - 381, 339, 0, 384, 292, 296, 294, 298, 289, 302, - 291, 290, 310, 0, 0, 330, 330, 0, 0, 0, - 384, 383, 341, 388, 386, 264, 265, 266, 0, 311, - 209, 210, 211, 213, 212, 208, 220, 188, 183, 75, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 115, 113, 114, - 112, 110, 111, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 162, 160, 161, - 163, 222, 191, 221, 184, 199, 200, 185, 208, 187, - 230, 231, 0, 22, 23, 20, 21, 0, 0, 232, - 189, 329, 264, 372, 265, 371, 251, 259, 256, 0, - 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, - 0, 0, 343, 383, 381, 297, 293, 299, 300, 295, - 303, 0, 304, 331, 0, 383, 0, 332, 334, 0, - 358, 0, 356, 0, 478, 0, 0, 0, 472, 473, - 0, 409, 412, 411, 413, 414, 0, 415, 0, 0, - 313, 314, 0, 0, 215, 223, 0, 0, 228, 225, - 234, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 13, 12, 14, 15, 16, 17, 18, 19, 0, - 0, 252, 0, 0, 0, 0, 346, 345, 347, 344, - 383, 340, 244, 0, 0, 253, 305, 0, 0, 342, - 308, 0, 337, 0, 335, 381, 0, 381, 0, 0, - 0, 355, 0, 0, 367, 366, 368, 0, 0, 369, - 455, 360, 0, 0, 454, 41, 0, 0, 0, 0, - 475, 465, 0, 0, 389, 410, 0, 327, 0, 0, - 216, 224, 0, 236, 0, 235, 0, 226, 0, 375, - 0, 258, 257, 0, 247, 248, 249, 250, 0, 246, - 245, 390, 402, 403, 404, 405, 401, 406, 407, 408, - 400, 0, 0, 394, 478, 399, 382, 0, 309, 307, - 336, 322, 0, 0, 333, 320, 0, 359, 357, 0, - 416, 24, 0, 0, 0, 364, 0, 0, 478, 453, - 0, 398, 478, 0, 474, 0, 452, 471, 326, 315, - 218, 0, 217, 229, 233, 0, 0, 0, 0, 351, - 348, 375, 0, 238, 0, 0, 0, 396, 324, 381, - 381, 421, 0, 31, 30, 426, 427, 422, 424, 425, - 40, 0, 0, 362, 0, 363, 456, 467, 0, 0, - 476, 220, 0, 237, 227, 0, 376, 0, 0, 0, - 351, 325, 391, 0, 395, 478, 244, 323, 321, 0, - 423, 446, 432, 447, 0, 0, 478, 428, 361, 0, - 478, 0, 0, 477, 214, 219, 0, 0, 0, 375, - 352, 349, 0, 392, 0, 397, 478, 0, 442, 365, - 0, 469, 468, 457, 417, 380, 0, 0, 353, 0, - 350, 0, 0, 0, 0, 0, 458, 478, 0, 0, - 375, 0, 448, 0, 369, 444, 420, 418, 443, 0, - 431, 470, 0, 0, 354, 0, 0, 449, 450, 429, - 0, 419, 0, 377, 0, 0, 478, 445, 0, 393, - 430, 451, 378 + 164, 289, 286, 290, 284, 285, 287, 273, 274, 0, + 276, 277, 278, 279, 280, 281, 282, 283, 272, 169, + 168, 0, 0, 0, 0, 375, 0, 0, 0, 483, + 170, 0, 0, 165, 166, 172, 171, 173, 176, 386, + 263, 265, 264, 270, 271, 293, 303, 269, 174, 175, + 0, 308, 318, 320, 321, 0, 0, 330, 178, 177, + 179, 0, 180, 0, 288, 275, 33, 34, 471, 437, + 24, 386, 392, 39, 38, 37, 35, 36, 32, 31, + 25, 29, 28, 26, 27, 445, 444, 442, 440, 441, + 443, 439, 438, 446, 30, 469, 467, 466, 468, 465, + 464, 331, 0, 388, 390, 40, 41, 272, 0, 0, + 0, 0, 319, 314, 182, 193, 190, 192, 194, 195, + 206, 203, 204, 201, 207, 202, 0, 205, 196, 197, + 198, 0, 222, 222, 0, 186, 0, 0, 0, 375, + 375, 0, 386, 257, 340, 256, 0, 381, 381, 266, + 267, 268, 372, 242, 290, 273, 245, 0, 0, 241, + 262, 0, 0, 485, 0, 484, 272, 0, 308, 1, + 167, 383, 341, 0, 387, 294, 298, 296, 300, 291, + 304, 293, 292, 312, 0, 0, 332, 332, 0, 0, + 0, 387, 393, 386, 343, 389, 391, 266, 267, 268, + 0, 313, 209, 210, 211, 213, 212, 208, 222, 188, + 183, 75, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 115, + 113, 114, 112, 110, 111, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 162, + 160, 161, 163, 224, 191, 223, 184, 199, 200, 185, + 208, 187, 232, 233, 0, 22, 23, 20, 21, 0, + 0, 234, 189, 331, 266, 374, 267, 373, 253, 261, + 258, 0, 0, 0, 0, 0, 0, 0, 181, 0, + 0, 0, 0, 0, 345, 386, 383, 299, 295, 301, + 302, 297, 305, 0, 306, 333, 0, 386, 0, 334, + 336, 0, 360, 0, 358, 0, 483, 0, 0, 0, + 477, 478, 0, 414, 417, 416, 418, 419, 0, 420, + 0, 0, 315, 316, 0, 0, 215, 225, 0, 0, + 230, 227, 236, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 13, 12, 14, 15, 16, 17, 18, + 19, 0, 0, 254, 0, 0, 0, 0, 348, 347, + 349, 346, 386, 342, 246, 0, 0, 255, 307, 0, + 384, 0, 344, 310, 0, 339, 0, 337, 383, 0, + 383, 0, 0, 0, 357, 0, 0, 369, 368, 370, + 0, 0, 371, 460, 362, 0, 0, 459, 41, 0, + 0, 0, 0, 480, 470, 0, 0, 394, 415, 0, + 329, 0, 0, 216, 226, 0, 238, 0, 237, 0, + 228, 0, 377, 0, 260, 259, 0, 249, 250, 251, + 252, 0, 248, 247, 395, 407, 408, 409, 410, 406, + 411, 412, 413, 405, 0, 0, 399, 483, 404, 385, + 0, 311, 309, 338, 324, 0, 0, 335, 322, 0, + 361, 359, 0, 421, 24, 0, 0, 0, 366, 0, + 0, 483, 458, 0, 403, 483, 0, 479, 0, 457, + 476, 328, 317, 217, 220, 0, 218, 231, 235, 0, + 0, 0, 0, 353, 350, 377, 0, 240, 0, 0, + 0, 401, 326, 383, 383, 426, 0, 31, 30, 431, + 432, 427, 429, 430, 40, 0, 0, 364, 0, 365, + 461, 472, 0, 0, 481, 222, 0, 239, 229, 0, + 378, 0, 0, 0, 353, 327, 396, 0, 400, 483, + 246, 325, 323, 0, 428, 451, 437, 452, 0, 0, + 483, 433, 363, 0, 483, 0, 0, 482, 214, 219, + 221, 0, 0, 0, 377, 354, 351, 0, 397, 0, + 402, 483, 0, 447, 367, 0, 474, 473, 462, 422, + 382, 0, 0, 355, 0, 352, 0, 0, 0, 0, + 0, 463, 483, 0, 0, 377, 0, 453, 0, 371, + 449, 425, 423, 448, 0, 436, 475, 0, 0, 356, + 0, 0, 454, 455, 434, 0, 424, 0, 379, 0, + 0, 483, 450, 0, 398, 435, 456, 380 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -550, -320, -129, 1, 67, -550, -550, 362, -550, -550, - -550, -550, -550, -550, -550, -550, -550, -550, 272, -550, - -550, -550, -127, -550, -328, -550, -550, -550, -550, -550, - -222, -550, -550, -157, -4, -23, -550, -550, -550, 268, - 365, -550, -550, 228, -550, -550, -550, -550, 245, -550, - -550, -550, -550, -149, 384, 5, -16, 27, -550, -550, - 231, -293, -14, -39, -550, -550, 56, -146, -550, -204, - -550, 38, -550, -48, -393, -550, -550, -550, -550, 78, - -548, -43, -352, -60, -7, -550, -550, 392, -550, -163, - -503, -549, -550, 57, -381, -550, -275, -528, 33, -164, - -550, -550, -532, -550, -550, -550, -550, -550, -550, -550, - -517, 34, -382, -550, -550, -550, -550, -550, -550, -135, - -28, -533 + -565, -317, -130, 0, 82, -565, -565, 383, -565, -565, + -565, -565, -565, -565, -565, -565, -565, -565, 282, -565, + -565, -565, -128, -565, -328, -565, -565, -565, -565, -565, + -210, -565, -565, -154, -11, -23, -565, -565, -565, 279, + 377, -565, -565, 243, -565, -565, -565, -565, 258, -565, + -565, -565, -565, -141, 396, -1, -16, 18, -565, -565, + 246, -312, -14, -39, -565, -565, 65, -285, -565, -196, + -565, 38, -565, -38, -389, -565, -565, -565, -565, 63, + -564, -20, -350, -61, -7, -565, 329, -565, 408, -565, + -153, -506, -561, -565, 69, -368, -565, -266, -532, 48, + -156, -565, -565, -500, -565, -565, -565, -565, -565, -565, + -565, -533, 47, -384, -565, -565, -565, -565, -565, -565, + -124, -28, -538 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 557, 478, 170, 331, 32, 33, 34, 35, 36, - 130, 131, 132, 133, 337, 134, 135, 136, 206, 207, - 571, 572, 332, 333, 350, 504, 505, 37, 157, 158, - 518, 519, 38, 140, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 178, 376, 379, 181, 48, 184, 461, - 49, 50, 199, 410, 51, 52, 53, 143, 55, 56, - 386, 387, 57, 479, 58, 59, 447, 448, 510, 619, - 650, 145, 391, 392, 480, 481, 61, 146, 147, 151, - 579, 360, 372, 172, 412, 103, 62, 63, 532, 533, - 482, 534, 535, 400, 401, 402, 685, 686, 687, 597, - 598, 599, 104, 675, 688, 634, 696, 697, 403, 404, - 483, 484, 105, 641, 662, 405, 406, 407, 489, 490, - 486, 164 + -1, 560, 481, 171, 333, 32, 33, 34, 35, 36, + 131, 132, 133, 134, 339, 135, 136, 137, 208, 209, + 575, 576, 334, 335, 352, 507, 508, 37, 158, 159, + 521, 522, 38, 141, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 179, 378, 381, 182, 48, 185, 464, + 49, 50, 201, 412, 51, 52, 53, 144, 55, 56, + 388, 389, 57, 482, 58, 59, 449, 450, 513, 623, + 655, 146, 393, 394, 483, 484, 61, 147, 148, 152, + 583, 362, 374, 173, 414, 103, 104, 62, 63, 535, + 536, 485, 537, 538, 402, 403, 404, 690, 691, 692, + 601, 602, 603, 105, 680, 693, 638, 701, 702, 405, + 406, 486, 487, 106, 645, 667, 407, 408, 409, 492, + 493, 489, 165 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -651,215 +651,244 @@ static const short int yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const short int yytable[] = { - 171, 163, 102, 159, 112, 334, 142, 348, 144, 369, - 101, 189, 485, 496, 416, 493, 601, 600, 141, 495, - 419, 596, 459, 111, 148, 149, 150, 54, 335, 561, - 440, 587, 173, 620, 193, 622, 616, 625, 60, 522, - 71, 606, 523, 160, 617, 54, 524, 29, 525, 526, - 527, 528, 529, 530, 179, 4, 5, 72, 54, 520, - 54, 633, 162, 446, 190, 538, 168, 671, 443, 600, - 539, 60, 495, 637, 653, 531, 547, -319, -338, 414, - -338, 174, 175, 176, 554, 555, 177, 159, 377, -379, - 182, 378, 503, 359, -379, 183, 440, 68, 491, 440, - 185, 668, 171, 192, 361, 362, 363, 194, 195, 196, - 197, 506, 507, 541, 470, 545, 564, 471, 336, 565, - 465, 466, 587, 661, 186, 64, 205, 65, -374, -374, - 102, 409, 694, 658, 173, 187, 338, 349, 351, 352, - 354, 689, 600, -328, 188, 198, 358, 467, 468, 364, - 142, 72, 144, 672, 208, 709, 595, 600, 356, 411, - 691, 701, 141, 604, 605, 698, 494, 689, 600, -328, - 111, 388, 388, 544, 374, 544, 485, 631, 632, 585, - 586, 385, 385, 440, 190, 359, 440, 440, 390, 711, - 408, -374, 54, -241, 521, 95, 96, 97, 98, 99, - 100, 393, 394, 395, 396, 397, 398, 399, 595, 638, - 643, 499, -242, 348, 444, 445, 353, 355, 365, 348, - 366, 393, 394, 395, 396, 397, 398, 399, 367, 368, - 373, 375, 371, 520, 381, 413, 382, 627, 628, 420, - 441, 442, 657, 452, 443, 454, 659, 613, 614, 393, - 394, 395, 396, 397, 398, 399, 455, 456, 485, 457, - 469, 460, 497, 536, 499, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 500, 508, 549, 550, 558, 559, - 683, 595, 560, 561, 562, 563, 509, 566, 568, 577, - 629, 348, 573, 440, 440, 485, 595, 574, 578, 575, - 485, 583, 584, 612, 588, 589, 590, 595, -24, 602, - 348, 348, 611, 458, 152, 1, 2, 153, 4, 5, - 6, 154, 8, 155, 485, 464, 615, 618, 156, 621, - 10, 11, 12, 13, 14, 15, 16, 17, 623, 626, - 635, 106, 636, 349, 647, 640, 171, 646, 418, 349, - 648, 656, 651, 581, 472, 663, 487, 664, 665, 666, - 522, 159, 667, 523, 669, 451, 190, 524, 670, 525, - 526, 527, 528, 529, 530, 674, 462, 676, 173, 677, - 678, 679, 681, 682, 692, 690, 693, 695, 704, 700, - 513, 708, 702, 703, 705, 169, 706, 488, 710, 712, - 415, 107, 108, 109, 655, 511, 512, 339, 380, 357, - 498, 180, 370, 374, 609, 167, 652, 389, 502, 449, - 161, 349, 548, 624, 453, 707, 473, 142, 630, 144, - 610, 492, 0, 0, 0, 0, 0, 0, 0, 141, - 349, 349, 0, 190, 0, 0, 348, 348, 0, 0, - 0, 0, 388, 0, 388, 0, 540, 0, 0, 537, - 569, 0, 385, 192, 385, 0, 0, 0, 0, 0, - 0, 390, 0, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 0, 144, 0, 0, 0, - 0, 570, 0, 0, 0, 0, 141, 113, 0, 0, - 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, - 0, 607, 0, 0, 411, 0, 0, 0, 0, 159, - 0, 0, 0, 0, 608, 462, 0, 0, 0, 0, - 0, 451, 0, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 0, 126, 127, 128, 129, - 0, 0, 0, 0, 0, 0, 488, 0, 0, 642, - 0, 0, 0, 0, 0, 0, 349, 349, 0, 649, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, - 680, 0, 0, 0, 0, 684, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 0, 0, 0, 0, -432, - 556, 684, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, 0, -432, 0, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, -432, -432, -432, -432, -432, -432, -432, -432, -432, - -432, 0, -432, -432, 0, -432, -432, -432, -432, 209, - 0, 0, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 0, 292, 0, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 66, 0, 326, 0, 327, 328, 329, 330, 0, - 67, 0, 0, 0, 0, 68, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 200, 201, 202, 70, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 10, 11, - 12, 13, 14, 15, 16, 17, 0, 0, 0, 18, - 73, 74, 75, 76, 77, 19, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, - 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, - 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, - 0, 0, 0, 0, 203, 0, 204, 0, 22, 23, - 24, 25, 26, 27, 28, 0, 29, 1, 2, 3, - 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, - 9, 0, 10, 11, 12, 13, 14, 15, 16, 17, - 30, 0, 0, 165, 0, 31, 66, 1, 2, 3, - 4, 5, 6, 7, 8, 67, 0, 0, 0, 0, - 68, 69, 10, 11, 12, 13, 14, 15, 16, 17, - 0, 0, 0, 551, 474, 0, 475, 0, 476, 0, - 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 343, 344, 72, 0, - 0, 0, 166, 107, 108, 109, 110, 0, 0, 345, - 346, 0, 0, 0, 0, 73, 74, 75, 76, 77, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 107, 108, 109, 552, 78, 0, 79, + 172, 164, 102, 160, 113, 336, 143, 350, 145, 101, + 190, 142, 488, 371, 605, 496, 418, 112, 54, 499, + 600, 624, 421, 149, 150, 151, 462, 626, 610, 629, + 564, 591, 174, 72, 498, 442, 54, 337, 60, 71, + 620, 459, 180, 4, 5, 175, 176, 177, 621, 54, + 178, 54, 604, 460, -376, -376, 72, 395, 396, 397, + 398, 399, 400, 401, 191, 523, 658, 448, 676, 161, + -381, 60, 445, 641, 361, -381, 541, 446, 447, 379, + 416, 542, 380, 550, 468, 469, 473, 498, 160, 474, + 673, 557, 558, 567, 506, 169, 568, 637, 68, 494, + 163, 442, 194, 172, 442, 604, 195, 29, 197, 198, + 199, 666, 183, 509, 510, 186, -321, -340, 544, -340, + 548, 699, 64, 591, 65, 184, 207, 338, 363, 364, + 365, 102, 411, 188, 663, 174, 340, 351, 353, 354, + 356, 694, 635, 636, 187, -330, 360, 200, 714, 696, + 366, 143, 497, 145, 703, 677, 142, 547, 189, 547, + 72, 413, 706, 599, 192, 112, 524, 694, 470, 471, + 608, 609, 390, 390, 376, 387, 387, 488, 716, 604, + 589, 590, 647, 502, 54, 210, 191, 358, 392, 442, + 410, -330, 442, 442, 604, 361, 95, 96, 97, 98, + 99, 100, 355, 357, -376, 604, -243, 395, 396, 397, + 398, 399, 400, 401, 350, -244, 599, 642, 367, 368, + 350, 395, 396, 397, 398, 399, 400, 401, 114, 370, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 369, + 373, 523, 375, 631, 632, 377, 383, 384, 443, 415, + 662, 617, 618, 422, 664, 444, 456, 457, 445, 454, + 488, 458, 463, 472, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 500, 127, 128, 129, + 130, 502, 503, 511, 552, 539, 553, 562, 561, 688, + 599, 512, 350, 563, 564, 566, 569, 565, 488, 571, + 442, 442, 577, 488, 578, 599, 579, 581, 582, 587, + 588, 350, 350, 616, 461, 592, 599, 1, 2, 3, + 4, 5, 6, 7, 8, 593, 467, 488, 594, -24, + 9, 606, 10, 11, 12, 13, 14, 15, 16, 17, + 615, 627, 619, 166, 351, 622, 625, 633, 172, 420, + 351, 644, 630, 639, 640, 651, 475, 656, 490, 585, + 652, 653, 661, 160, 668, 669, 453, 671, 191, 670, + 672, 674, 675, 679, 525, 681, 683, 526, 465, 682, + 174, 527, 684, 528, 529, 530, 531, 532, 533, 686, + 687, 516, 695, 697, 698, 700, 709, 708, 491, 705, + 713, 710, 167, 108, 109, 110, 111, 514, 515, 707, + 534, 501, 711, 715, 376, 717, 170, 417, 341, 505, + 660, 359, 351, 181, 382, 613, 372, 168, 657, 143, + 451, 145, 196, 391, 142, 551, 162, 628, 455, 712, + 634, 351, 351, 476, 614, 191, 495, 0, 0, 350, + 350, 0, 0, 0, 0, 390, 0, 390, 387, 543, + 387, 540, 0, 572, 0, 194, 0, 525, 0, 556, + 526, 0, 0, 392, 527, 0, 528, 529, 530, 531, + 532, 533, 0, 0, 0, 0, 0, 648, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 143, 0, 145, + 0, 0, 142, 574, 10, 11, 12, 13, 14, 15, + 16, 17, 0, 0, 0, 107, 586, 0, 0, 0, + 0, 0, 0, 0, 611, 0, 0, 413, 0, 0, + 0, 0, 160, 0, 0, 0, 0, 612, 465, 0, + 0, 0, 0, 453, 153, 1, 2, 154, 4, 5, + 6, 155, 8, 156, 0, 0, 0, 0, 157, 0, + 10, 11, 12, 13, 14, 15, 16, 17, 491, 0, + 0, 107, 0, 646, 0, 108, 109, 110, 0, 351, + 351, 0, 0, 654, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 659, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 678, 685, 0, 0, 0, 0, + 689, 0, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, + 0, 0, 0, 0, -437, 559, 689, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + 0, -437, 0, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, -437, -437, -437, -437, + -437, -437, -437, -437, -437, -437, 0, -437, -437, 0, + -437, -437, -437, -437, 211, 0, 0, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 0, 294, 0, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 66, 0, 328, 0, + 329, 330, 331, 332, 0, 67, 0, 0, 0, 0, + 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 202, 203, 204, 70, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, + 0, 9, 0, 10, 11, 12, 13, 14, 15, 16, + 17, 0, 0, 0, 18, 73, 74, 75, 76, 77, + 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 0, 0, 0, 0, 68, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 514, 515, - 516, 70, 474, 0, 475, 517, 476, 0, 0, 477, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 343, 344, 72, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 345, 346, 0, - 0, 0, 0, 73, 74, 75, 76, 77, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, - 82, 83, 84, 0, 0, 0, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 0, 68, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 591, 0, 0, 70, - 474, 0, 475, 0, 476, 0, 0, 477, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, - 0, 0, 343, 344, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 345, 346, 0, 0, 0, - 0, 73, 74, 75, 76, 77, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 592, 593, 80, 81, 82, 83, - 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 594, 95, 96, 97, 98, 99, 100, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 591, 0, 0, 70, 474, 0, - 475, 0, 476, 0, 0, 477, 0, 0, 0, 0, + 97, 98, 99, 100, 0, 0, 0, 0, 0, 205, + 0, 206, 0, 22, 23, 24, 25, 26, 27, 28, + 0, 29, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 0, 0, 0, 0, 545, 0, 10, 11, 12, + 13, 14, 15, 16, 17, 30, 0, 0, 107, 0, + 31, 66, 1, 2, 3, 4, 5, 6, 7, 8, + 67, 0, 0, 0, 0, 68, 69, 10, 11, 12, + 13, 14, 15, 16, 17, 0, 0, 0, 554, 477, + 0, 478, 0, 479, 0, 0, 480, 0, 546, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 345, 346, 72, 0, 0, 0, 0, 108, 109, + 110, 386, 0, 0, 347, 348, 0, 0, 0, 0, + 73, 74, 75, 76, 77, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, + 110, 555, 78, 0, 79, 80, 81, 82, 83, 84, + 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, + 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, + 0, 0, 0, 517, 518, 519, 70, 477, 0, 478, + 520, 479, 0, 0, 480, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, + 346, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 348, 0, 0, 0, 0, 73, 74, + 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 343, 344, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 345, 346, 0, 0, 0, 0, 73, - 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, + 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, + 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 68, 69, 0, 0, 0, 0, 0, 0, 0, + 0, 595, 0, 0, 70, 477, 0, 478, 0, 479, + 0, 0, 480, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 163, 0, 0, 345, 346, 72, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 348, 0, 0, 0, 0, 73, 74, 75, 76, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 596, + 597, 80, 81, 82, 83, 84, 0, 0, 0, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 598, 95, + 96, 97, 98, 99, 100, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 0, 0, 0, 0, 68, + 69, 0, 0, 0, 0, 0, 0, 0, 0, 595, + 0, 0, 70, 477, 0, 478, 0, 479, 0, 0, + 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 345, 346, 72, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 348, + 0, 0, 0, 0, 73, 74, 75, 76, 77, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 78, 596, 597, 80, + 81, 82, 83, 84, 0, 0, 0, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 598, 95, 96, 97, + 98, 99, 100, 66, 0, 0, 0, 0, 0, 0, + 0, 0, 67, 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 78, 592, 593, 80, 81, 82, 83, 84, 0, - 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 594, 95, 96, 97, 98, 99, 100, 66, 0, - 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, - 0, 0, 68, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, 474, 0, 475, 0, - 476, 0, 0, 477, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 162, 0, 0, 343, 344, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 345, 346, 0, 0, 660, 0, 73, 74, 75, - 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, - 0, 79, 80, 81, 82, 83, 84, 0, 0, 0, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 474, -478, 475, 0, 476, 0, - 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 162, 0, 0, 343, 344, 72, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, - 346, 0, 0, 0, 0, 73, 74, 75, 76, 77, + 70, 477, 0, 478, 0, 479, 0, 0, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, - 80, 81, 82, 83, 84, 0, 0, 0, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 0, 0, 0, 0, 68, 69, + 163, 0, 0, 345, 346, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 348, 0, 0, + 665, 0, 73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 474, 0, 475, 0, 476, 0, 0, 477, + 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, + 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 0, 0, 0, 68, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 477, + -483, 478, 0, 479, 0, 0, 480, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, + 0, 345, 346, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 347, 348, 0, 0, 0, 0, + 73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 162, 0, 0, 343, 344, 72, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 345, 346, 0, - 0, 0, 0, 73, 74, 75, 76, 77, 0, 0, + 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, + 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, + 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 70, 477, 0, 478, + 0, 479, 0, 0, 480, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 163, 0, 0, 345, + 346, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 348, 0, 0, 0, 0, 73, 74, + 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, - 82, 83, 84, 0, 0, 0, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 0, 68, 69, 10, 11, - 12, 13, 14, 15, 16, 17, 0, 0, 0, 70, + 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, + 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 68, 69, 10, 11, 12, 13, 14, 15, 16, + 17, 0, 0, 0, 70, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 2, 3, 4, 5, 6, 7, 8, 0, 0, 72, + 0, 0, 9, 0, 10, 11, 12, 13, 14, 15, + 16, 17, 0, 0, 0, 107, 73, 74, 75, 76, + 77, 0, 0, 0, 0, 0, 0, 0, 584, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, + 79, 80, 81, 82, 83, 84, 0, 0, 0, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 139, 140, 25, 111, 68, + 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 70, 477, 0, 478, 0, 479, 0, 0, + 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 345, 346, 72, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 348, + 0, 0, 0, 0, 73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 0, 0, 72, 0, 0, 9, 0, 10, - 11, 12, 13, 14, 15, 16, 17, 0, 0, 0, - 106, 73, 74, 75, 76, 77, 0, 0, 0, 0, - 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, - 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 138, 139, 25, 110, 68, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 70, 474, 0, - 475, 0, 476, 0, 0, 477, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 78, 0, 79, 80, + 81, 82, 83, 84, 0, 0, 0, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 66, 0, 0, 0, 0, 0, 0, + 0, 0, 67, 0, 0, 0, 0, 68, 69, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 70, 0, 0, 342, 0, 343, 0, 0, 344, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 345, 346, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 348, 0, 0, + 0, 0, 73, 74, 75, 76, 77, 0, 0, 0, + 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, + 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 0, 0, 0, 68, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 0, 0, 72, 0, 0, 0, 0, 0, 67, + 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, + 73, 74, 75, 76, 77, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 343, 344, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 345, 346, 0, 0, 0, 0, 73, + 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, + 0, 0, 72, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, 0, @@ -867,56 +896,40 @@ static const short int yytable[] = 93, 94, 95, 96, 97, 98, 99, 100, 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, 0, 0, 340, 0, - 341, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 343, 344, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 345, 346, 0, 0, 0, 0, 73, 74, 75, - 76, 77, 0, 0, 0, 0, 0, 0, 0, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, + 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, + 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 68, 69, 0, 0, 0, 0, 73, 74, 75, + 76, 77, 0, 0, 70, 0, 0, 0, 0, 0, + 0, 0, 419, 0, 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, - 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 72, 0, + 95, 96, 97, 98, 99, 100, 73, 74, 75, 76, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, + 79, 80, 81, 82, 83, 84, 0, 0, 0, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 68, - 69, 0, 0, 0, 0, 73, 74, 75, 76, 77, + 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, - 80, 81, 82, 83, 84, 0, 0, 72, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 73, 74, 75, 76, 77, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, + 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, + 68, 69, 0, 0, 73, 74, 75, 76, 77, 0, + 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 0, 0, 0, 0, 68, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 70, 0, 0, 0, 0, 0, 0, 0, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 0, 68, 69, 0, 0, - 0, 0, 73, 74, 75, 76, 77, 0, 0, 70, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, - 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, - 83, 84, 0, 0, 0, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 73, 74, 75, 76, 77, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, - 84, 0, 0, 0, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 98, 99, 100, 573, 0, 73, 74, 75, 76, 77, 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, - 0, 0, 0, 0, 0, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 0, 0, 0, 68, 69, 0, 78, 0, 79, + 80, 81, 82, 83, 84, 0, 0, 70, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, - 0, 0, 0, 68, 69, 0, 0, 0, 0, 73, + 0, 0, 0, 68, 69, 0, 0, 649, 0, 73, 74, 75, 76, 77, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 79, 80, 81, 82, 83, 84, 0, @@ -928,279 +941,299 @@ static const short int yytable[] = 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, - 542, 0, 10, 11, 12, 13, 14, 15, 16, 17, - 0, 0, 0, 106, 1, 2, 3, 4, 5, 6, - 7, 8, 0, 0, 0, 0, 0, 542, 0, 10, + 545, 0, 10, 11, 12, 13, 14, 15, 16, 17, + 0, 0, 0, 107, 1, 2, 3, 4, 5, 6, + 7, 8, 0, 0, 0, 0, 0, 9, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 0, 0, - 106, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 0, 0, 0, 543, 9, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 0, 0, 0, 106, 0, 0, - 0, 0, 0, 107, 108, 109, 384, 0, 0, 0, - 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 1, 2, 3, 4, 5, 6, 7, 8, 0, + 0, 0, 0, 549, 138, 0, 10, 11, 12, 13, + 14, 15, 16, 17, 0, 0, 0, 107, 0, 0, + 0, 0, 0, 108, 109, 110, 386, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 107, 108, 109, 384, 137, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 0, 0, 0, 106, 1, 2, - 3, 4, 5, 6, 7, 8, 0, 107, 108, 109, - 110, 9, 0, 10, 11, 12, 13, 14, 15, 16, - 17, 0, 0, 0, 106, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 0, 0, 0, 0, 9, 0, + 108, 109, 110, 111, 9, 0, 10, 11, 12, 13, + 14, 15, 16, 17, 0, 0, 0, 107, 1, 2, + 3, 4, 5, 6, 7, 8, 0, 139, 140, 25, + 111, 9, 0, 10, 11, 12, 13, 14, 15, 16, + 17, 0, 0, 0, 107, 1, 2, 3, 4, 5, + 6, 7, 8, 0, 0, 0, 0, 0, 385, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 0, - 0, 106, 0, 0, 0, 0, 0, 138, 139, 25, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 107, 0, 0, 0, 0, 0, 108, 109, 110, + 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 107, 108, 109, 110, 383, 0, + 6, 7, 8, 0, 139, 140, 25, 111, 157, 0, 10, 11, 12, 13, 14, 15, 16, 17, 0, 0, - 0, 106, 1, 2, 3, 4, 5, 6, 7, 8, - 0, 138, 139, 25, 110, 156, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 0, 0, 0, 106, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, - 0, 0, 463, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 0, 0, 0, 106, 0, 0, 0, 0, - 0, 107, 108, 109, 384, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, - 10, 11, 12, 13, 14, 15, 16, 17, 107, 108, - 109, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, - 0, 0, 0, 0, 0, 107, 108, 109, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 0, 0, 0, 0, - 0, 439, 0, 0, 0, 603, 0, 0, 0, 0, - 0, 107, 108, 109, 421, 422, 423, 424, 425, 426, + 0, 107, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 108, 109, 110, 386, 466, 0, 10, 11, 12, + 13, 14, 15, 16, 17, 570, 0, 0, 107, 0, + 0, 0, 0, 0, 0, 0, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 0, 504, 0, 0, 0, 559, + 0, 108, 109, 110, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 607, 0, 0, 0, 0, 441, 108, 109, + 110, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 704, + 0, 0, 0, 0, 559, 0, 0, 0, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 580, 0, 0, 0, + 0, 559, 0, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 643, 0, 0, 0, 0, 441, 0, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 0, 0, 0, 0, + 0, 559, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, + 0, 0, 0, 0, 0, 441, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 699, 0, 0, 0, 0, 556, 0, 0, - 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 673, - 0, 0, 0, 0, 556, 0, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 576, 0, 0, 0, 0, - 556, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 437, 438, 439, 440, 0, 0, 0, 0, 0, 559, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 0, 0, + 0, 0, 0, 441, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 639, 0, 0, 0, 0, 439, 0, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 0, 0, 0, 0, 0, - 556, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 0, - 0, 0, 0, 0, 439, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 438, 0, 0, 0, 0, 0, 556, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 0, 0, 0, - 0, 0, 439, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 0, 0, 0, 0, 0, 556 + 439, 440, 0, 0, 0, 0, 0, 559 }; static const short int yycheck[] = { - 39, 29, 9, 26, 18, 132, 22, 136, 22, 166, - 9, 71, 394, 406, 342, 397, 549, 549, 22, 400, - 348, 549, 374, 18, 23, 24, 25, 0, 34, 32, - 350, 534, 39, 581, 55, 584, 33, 586, 0, 3, - 38, 558, 6, 34, 41, 18, 10, 97, 12, 13, - 14, 15, 16, 17, 6, 7, 8, 55, 31, 452, - 33, 593, 50, 37, 71, 34, 0, 70, 42, 601, - 39, 33, 453, 601, 623, 39, 469, 37, 38, 206, - 40, 4, 5, 6, 477, 478, 9, 110, 6, 37, - 37, 9, 420, 41, 42, 129, 416, 17, 18, 419, - 38, 649, 141, 102, 147, 148, 149, 128, 107, 108, - 109, 439, 440, 465, 40, 467, 37, 43, 124, 40, - 39, 40, 625, 640, 38, 9, 125, 11, 41, 42, - 137, 191, 680, 636, 141, 42, 135, 136, 137, 138, - 139, 674, 674, 38, 42, 40, 145, 39, 40, 156, - 166, 55, 166, 656, 36, 704, 549, 689, 37, 198, - 677, 689, 166, 556, 557, 682, 43, 700, 700, 38, - 165, 185, 186, 466, 173, 468, 558, 17, 18, 39, - 40, 185, 186, 503, 191, 41, 506, 507, 187, 706, - 189, 42, 165, 31, 43, 115, 116, 117, 118, 119, - 120, 98, 99, 100, 101, 102, 103, 104, 601, 602, - 39, 40, 31, 342, 360, 361, 138, 139, 31, 348, - 37, 98, 99, 100, 101, 102, 103, 104, 42, 31, - 38, 6, 44, 626, 38, 123, 37, 589, 590, 38, - 37, 41, 635, 46, 42, 38, 639, 575, 576, 98, - 99, 100, 101, 102, 103, 104, 37, 37, 640, 33, - 46, 34, 39, 45, 40, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 38, 38, 46, 37, 46, 37, - 673, 674, 38, 32, 46, 38, 443, 37, 39, 33, - 114, 420, 39, 613, 614, 677, 689, 39, 41, 40, - 682, 37, 41, 40, 39, 39, 39, 700, 39, 39, - 439, 440, 39, 373, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 706, 385, 40, 40, 17, 39, - 19, 20, 21, 22, 23, 24, 25, 26, 41, 46, - 38, 30, 38, 342, 41, 40, 385, 33, 347, 348, - 38, 38, 37, 510, 393, 39, 395, 37, 39, 41, - 3, 384, 33, 6, 40, 364, 373, 10, 37, 12, - 13, 14, 15, 16, 17, 40, 383, 39, 385, 40, - 38, 40, 32, 38, 33, 39, 33, 39, 41, 40, - 450, 33, 40, 39, 39, 33, 40, 396, 39, 39, - 333, 90, 91, 92, 626, 444, 445, 135, 180, 141, - 409, 46, 167, 412, 563, 31, 620, 186, 417, 363, - 28, 420, 470, 586, 367, 700, 393, 443, 592, 443, - 565, 397, -1, -1, -1, -1, -1, -1, -1, 443, - 439, 440, -1, 450, -1, -1, 575, 576, -1, -1, - -1, -1, 466, -1, 468, -1, 463, -1, -1, 458, - 499, -1, 466, 462, 468, -1, -1, -1, -1, -1, - -1, 470, -1, 477, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 611, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 510, -1, 510, -1, -1, -1, - -1, 500, -1, -1, -1, -1, 510, 36, -1, -1, - -1, -1, -1, -1, 513, -1, -1, -1, -1, -1, - -1, 560, -1, -1, 563, -1, -1, -1, -1, 552, - -1, -1, -1, -1, 562, 542, -1, -1, -1, -1, - -1, 540, -1, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, -1, 85, 86, 87, 88, - -1, -1, -1, -1, -1, -1, 565, -1, -1, 608, - -1, -1, -1, -1, -1, -1, 575, 576, -1, 618, + 39, 29, 9, 26, 18, 133, 22, 137, 22, 9, + 71, 22, 396, 167, 552, 399, 344, 18, 0, 408, + 552, 585, 350, 23, 24, 25, 376, 588, 561, 590, + 32, 537, 39, 55, 402, 352, 18, 34, 0, 38, + 33, 33, 6, 7, 8, 4, 5, 6, 41, 31, + 9, 33, 552, 45, 41, 42, 55, 98, 99, 100, + 101, 102, 103, 104, 71, 454, 627, 37, 70, 34, + 37, 33, 42, 605, 41, 42, 34, 362, 363, 6, + 208, 39, 9, 472, 39, 40, 40, 455, 111, 43, + 654, 480, 481, 37, 422, 0, 40, 597, 17, 18, + 50, 418, 102, 142, 421, 605, 128, 97, 108, 109, + 110, 644, 37, 441, 442, 38, 37, 38, 468, 40, + 470, 685, 9, 629, 11, 129, 126, 124, 148, 149, + 150, 138, 193, 42, 640, 142, 136, 137, 138, 139, + 140, 679, 17, 18, 38, 38, 146, 40, 709, 682, + 157, 167, 43, 167, 687, 661, 167, 469, 42, 471, + 55, 200, 694, 552, 93, 166, 43, 705, 39, 40, + 559, 560, 186, 187, 174, 186, 187, 561, 711, 679, + 39, 40, 39, 40, 166, 36, 193, 37, 188, 506, + 190, 38, 509, 510, 694, 41, 115, 116, 117, 118, + 119, 120, 139, 140, 42, 705, 31, 98, 99, 100, + 101, 102, 103, 104, 344, 31, 605, 606, 31, 37, + 350, 98, 99, 100, 101, 102, 103, 104, 36, 31, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 42, + 44, 630, 38, 593, 594, 6, 38, 37, 37, 123, + 639, 579, 580, 38, 643, 41, 38, 37, 42, 46, + 644, 37, 34, 46, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 39, 85, 86, 87, + 88, 40, 38, 38, 46, 45, 37, 37, 46, 678, + 679, 445, 422, 38, 32, 38, 37, 46, 682, 39, + 617, 618, 39, 687, 39, 694, 40, 33, 41, 37, + 41, 441, 442, 40, 375, 39, 705, 4, 5, 6, + 7, 8, 9, 10, 11, 39, 387, 711, 39, 39, + 17, 39, 19, 20, 21, 22, 23, 24, 25, 26, + 39, 41, 40, 30, 344, 40, 39, 114, 387, 349, + 350, 40, 46, 38, 38, 33, 395, 37, 397, 513, + 41, 38, 38, 386, 39, 37, 366, 41, 375, 39, + 33, 40, 37, 40, 3, 39, 38, 6, 385, 40, + 387, 10, 40, 12, 13, 14, 15, 16, 17, 32, + 38, 452, 39, 33, 33, 39, 41, 39, 398, 40, + 33, 39, 89, 90, 91, 92, 93, 446, 447, 40, + 39, 411, 40, 39, 414, 39, 33, 335, 136, 419, + 630, 142, 422, 46, 181, 566, 168, 31, 624, 445, + 365, 445, 103, 187, 445, 473, 28, 590, 369, 705, + 596, 441, 442, 395, 568, 452, 399, -1, -1, 579, + 580, -1, -1, -1, -1, 469, -1, 471, 469, 466, + 471, 461, -1, 502, -1, 465, -1, 3, -1, 480, + 6, -1, -1, 473, 10, -1, 12, 13, 14, 15, + 16, 17, -1, -1, -1, -1, -1, 615, -1, 4, + 5, 6, 7, 8, 9, 10, 11, 513, -1, 513, + -1, -1, 513, 503, 19, 20, 21, 22, 23, 24, + 25, 26, -1, -1, -1, 30, 516, -1, -1, -1, + -1, -1, -1, -1, 563, -1, -1, 566, -1, -1, + -1, -1, 555, -1, -1, -1, -1, 565, 545, -1, + -1, -1, -1, 543, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, -1, -1, 17, -1, + 19, 20, 21, 22, 23, 24, 25, 26, 568, -1, + -1, 30, -1, 612, -1, 90, 91, 92, -1, 579, + 580, -1, -1, 622, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 625, -1, -1, + -1, 629, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 612, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, - 669, -1, -1, -1, -1, 674, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, -1, -1, -1, -1, 0, - 71, 700, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, -1, 87, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, -1, 123, 124, -1, 126, 127, 128, 129, 0, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, -1, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, -1, 87, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 3, -1, 124, -1, 126, 127, 128, 129, -1, - 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, - -1, -1, -1, -1, -1, 27, 28, 29, 30, -1, + -1, 90, 91, 92, 40, 674, -1, -1, -1, -1, + 679, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + -1, -1, -1, -1, 0, 71, 705, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + -1, 87, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, -1, 123, 124, -1, + 126, 127, 128, 129, 0, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + -1, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + -1, 87, -1, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 3, -1, 124, -1, + 126, 127, 128, 129, -1, 12, -1, -1, -1, -1, + 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, + 27, 28, 29, 30, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, + 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, + -1, 17, -1, 19, 20, 21, 22, 23, 24, 25, + 26, -1, -1, -1, 30, 72, 73, 74, 75, 76, + 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, -1, -1, -1, -1, -1, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, -1, 126, + -1, 128, -1, 89, 90, 91, 92, 93, 94, 95, + -1, 97, 4, 5, 6, 7, 8, 9, 10, 11, + -1, -1, -1, -1, -1, 17, -1, 19, 20, 21, + 22, 23, 24, 25, 26, 121, -1, -1, 30, -1, + 126, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, -1, -1, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, -1, -1, -1, 30, 31, + -1, 33, -1, 35, -1, -1, 38, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, -1, -1, 17, -1, 19, 20, - 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, - 72, 73, 74, 75, 76, 36, 37, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, - -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 53, 54, 55, -1, -1, -1, -1, 90, 91, + 92, 93, -1, -1, 66, 67, -1, -1, -1, -1, + 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - -1, -1, -1, -1, 126, -1, 128, -1, 89, 90, - 91, 92, 93, 94, 95, -1, 97, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, - 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, - 121, -1, -1, 30, -1, 126, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, -1, -1, 30, 31, -1, 33, -1, 35, -1, - -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 53, 54, 55, -1, - -1, -1, 89, 90, 91, 92, 93, -1, -1, 66, - 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 3, + -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, + -1, -1, -1, 17, 18, -1, -1, -1, -1, -1, + -1, -1, -1, 27, 28, 29, 30, 31, -1, 33, + 34, 35, -1, -1, 38, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, + 54, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, + 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 90, 91, 92, 93, 94, -1, 96, - 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 3, -1, -1, -1, -1, -1, - -1, -1, -1, 12, -1, -1, -1, -1, 17, 18, - -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, - 29, 30, 31, -1, 33, 34, 35, -1, -1, 38, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, + -1, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 3, -1, -1, + -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, + -1, 17, 18, -1, -1, -1, -1, -1, -1, -1, + -1, 27, -1, -1, 30, 31, -1, 33, -1, 35, + -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 50, -1, -1, 53, 54, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, 54, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, + 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, + 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 3, -1, -1, -1, -1, + -1, -1, -1, -1, 12, -1, -1, -1, -1, 17, + 18, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, -1, 30, 31, -1, 33, -1, 35, -1, -1, + 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, 54, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, + -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, - 99, 100, 101, -1, -1, -1, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 3, -1, -1, -1, -1, -1, -1, -1, - -1, 12, -1, -1, -1, -1, 17, 18, -1, -1, - -1, -1, -1, -1, -1, -1, 27, -1, -1, 30, - 31, -1, 33, -1, 35, -1, -1, 38, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, - -1, -1, 53, 54, 55, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 94, 95, 96, 97, + 98, 99, 100, 101, -1, -1, -1, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 3, -1, -1, -1, -1, -1, -1, + -1, -1, 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, 95, 96, 97, 98, 99, 100, - 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, - -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, - -1, -1, -1, -1, 27, -1, -1, 30, 31, -1, - 33, -1, 35, -1, -1, 38, -1, -1, -1, -1, + 30, 31, -1, 33, -1, 35, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 53, 54, 55, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, + 50, -1, -1, 53, 54, 55, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, + 70, -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, 95, 96, 97, 98, 99, 100, 101, -1, - -1, -1, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 3, -1, - -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, - -1, -1, 17, 18, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 30, 31, -1, 33, -1, - 35, -1, -1, 38, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 50, -1, -1, 53, 54, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 66, 67, -1, -1, 70, -1, 72, 73, 74, - 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, 96, 97, 98, 99, 100, 101, -1, -1, -1, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 3, -1, -1, -1, - -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, - 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 30, 31, 32, 33, -1, 35, -1, - -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 50, -1, -1, 53, 54, 55, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, - 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, + -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, + 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 3, -1, -1, -1, -1, -1, -1, -1, -1, + 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, + 32, 33, -1, 35, -1, -1, 38, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, + -1, 53, 54, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, + 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, - 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 3, -1, -1, -1, -1, -1, - -1, -1, -1, 12, -1, -1, -1, -1, 17, 18, + -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, + -1, -1, -1, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 3, + -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, + -1, -1, -1, 17, 18, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 30, 31, -1, 33, + -1, 35, -1, -1, 38, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 50, -1, -1, 53, + 54, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, + 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, + -1, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 3, -1, -1, + -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, + -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, 7, 8, 9, 10, 11, -1, -1, 55, + -1, -1, 17, -1, 19, 20, 21, 22, 23, 24, + 25, 26, -1, -1, -1, 30, 72, 73, 74, 75, + 76, -1, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, + 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 3, -1, -1, -1, -1, + -1, -1, -1, -1, 12, 90, 91, 92, 93, 17, + 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, 31, -1, 33, -1, 35, -1, -1, + 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, 54, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, + -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 30, 31, -1, 33, -1, 35, -1, -1, 38, + -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, + 98, 99, 100, 101, -1, -1, -1, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 3, -1, -1, -1, -1, -1, -1, + -1, -1, 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 50, -1, -1, 53, 54, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, + 30, -1, -1, 33, -1, 35, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, - 99, 100, 101, -1, -1, -1, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 3, -1, -1, -1, -1, -1, -1, -1, - -1, 12, -1, -1, -1, -1, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, + -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, + -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, + -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, + 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 3, -1, -1, -1, -1, -1, -1, -1, -1, + 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, + -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, 55, -1, -1, 17, -1, 19, - 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, - 30, 72, 73, 74, 75, 76, -1, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, - 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, - 90, 91, 92, 93, 17, 18, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 30, 31, -1, - 33, -1, 35, -1, -1, 38, -1, -1, -1, -1, + 3, -1, -1, 55, -1, -1, -1, -1, -1, 12, + -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, + 72, 73, 74, 75, 76, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 53, 54, 55, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, + -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, + -1, -1, 55, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 72, 73, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, -1, @@ -1208,56 +1241,40 @@ static const short int yycheck[] = 113, 114, 115, 116, 117, 118, 119, 120, 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 30, -1, -1, 33, -1, - 35, -1, -1, 38, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - 75, 76, -1, -1, -1, -1, -1, -1, -1, 84, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, + -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, + -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, + -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, + -1, 17, 18, -1, -1, -1, -1, 72, 73, 74, + 75, 76, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, 38, -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 3, -1, -1, -1, - -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, - 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, - -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3, -1, -1, 55, -1, + 115, 116, 117, 118, 119, 120, 72, 73, 74, 75, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, + 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, 17, - 18, -1, -1, -1, -1, 72, 73, 74, 75, 76, + 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, - 97, 98, 99, 100, 101, -1, -1, 55, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 72, 73, 74, 75, 76, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, + 17, 18, -1, -1, 72, 73, 74, 75, 76, -1, + -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 3, -1, -1, -1, -1, -1, -1, - -1, -1, 12, -1, -1, -1, -1, 17, 18, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, -1, -1, -1, -1, -1, -1, -1, 38, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, - -1, 12, -1, -1, -1, -1, 17, 18, -1, -1, - -1, -1, 72, 73, 74, 75, 76, -1, -1, 30, - -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, - -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, - 100, 101, -1, -1, -1, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 72, 73, 74, 75, 76, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, - 101, -1, -1, -1, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 118, 119, 120, 70, -1, 72, 73, 74, 75, 76, 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, - -1, -1, -1, -1, 17, 18, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, - -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + -1, -1, -1, -1, 17, 18, -1, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 30, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, - -1, -1, -1, 17, 18, -1, -1, -1, -1, 72, + -1, -1, -1, 17, 18, -1, -1, 70, -1, 72, 73, 74, 75, 76, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, -1, @@ -1277,7 +1294,7 @@ static const short int yycheck[] = -1, -1, -1, 70, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, -1, -1, -1, -1, -1, 90, 91, 92, 93, -1, -1, -1, - 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, -1, 90, 91, 92, 93, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, 4, 5, @@ -1293,42 +1310,33 @@ static const short int yycheck[] = 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, 4, 5, 6, 7, 8, 9, 10, 11, -1, 90, 91, 92, 93, 17, -1, 19, 20, 21, - 22, 23, 24, 25, 26, -1, -1, -1, 30, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, -1, 17, -1, 19, 20, 21, 22, 23, 24, - 25, 26, -1, -1, -1, 30, -1, -1, -1, -1, - -1, 90, 91, 92, 93, 4, 5, 6, 7, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - 19, 20, 21, 22, 23, 24, 25, 26, 90, 91, - 92, 30, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 90, 91, 92, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, -1, -1, -1, -1, - -1, 71, -1, -1, -1, 39, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 37, -1, -1, 30, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, -1, 39, -1, -1, -1, 71, -1, 90, 91, 92, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 39, -1, -1, -1, -1, 71, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 40, - -1, -1, -1, -1, 71, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 41, -1, -1, -1, -1, - 71, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 41, -1, -1, -1, -1, 71, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, -1, -1, -1, -1, -1, - 71, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, - -1, -1, -1, -1, 71, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, -1, -1, -1, -1, -1, 71, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, -1, -1, -1, - -1, -1, 71, 48, 49, 50, 51, 52, 53, 54, + 64, 65, 39, -1, -1, -1, -1, 71, 90, 91, + 92, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 39, + -1, -1, -1, -1, 71, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 41, -1, -1, -1, + -1, 71, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, -1, -1, -1, -1, -1, 71 + 65, 41, -1, -1, -1, -1, 71, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, -1, -1, -1, -1, + -1, 71, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + -1, -1, -1, -1, -1, 71, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, -1, -1, -1, -1, -1, 71, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, -1, -1, + -1, -1, -1, 71, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, -1, -1, -1, -1, -1, 71 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1341,72 +1349,72 @@ static const unsigned char yystos[] = 121, 126, 137, 138, 139, 140, 141, 159, 164, 166, 167, 168, 169, 170, 171, 172, 173, 174, 179, 182, 183, 186, 187, 188, 189, 190, 191, 194, 196, 197, - 203, 208, 218, 219, 9, 11, 3, 12, 17, 18, + 203, 208, 219, 220, 9, 11, 3, 12, 17, 18, 30, 38, 55, 72, 73, 74, 75, 76, 94, 96, 97, 98, 99, 100, 101, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 135, 216, 217, 234, 244, 30, 90, 91, 92, - 93, 187, 194, 36, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, - 142, 143, 144, 145, 147, 148, 149, 17, 90, 91, - 165, 166, 188, 189, 194, 203, 209, 210, 135, 135, - 135, 211, 3, 6, 10, 12, 17, 160, 161, 167, - 34, 219, 50, 252, 253, 30, 89, 186, 0, 139, - 135, 195, 215, 216, 4, 5, 6, 9, 175, 6, - 172, 178, 37, 129, 180, 38, 38, 42, 42, 215, - 216, 38, 135, 55, 128, 135, 135, 135, 40, 184, - 27, 28, 29, 126, 128, 135, 150, 151, 36, 0, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 87, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 124, 126, 127, 128, - 129, 136, 154, 155, 154, 34, 124, 146, 135, 150, - 33, 35, 38, 53, 54, 66, 67, 84, 134, 135, - 156, 135, 135, 211, 135, 211, 37, 171, 135, 41, - 213, 213, 213, 213, 216, 31, 37, 42, 31, 165, - 180, 44, 214, 38, 135, 6, 176, 6, 9, 177, - 175, 38, 37, 17, 93, 166, 192, 193, 194, 192, - 135, 204, 205, 98, 99, 100, 101, 102, 103, 104, - 225, 226, 227, 240, 241, 247, 248, 249, 135, 215, - 185, 195, 216, 123, 154, 136, 156, 38, 135, 156, - 38, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 71, - 133, 37, 41, 42, 199, 199, 37, 198, 199, 198, - 38, 135, 46, 225, 38, 37, 37, 33, 215, 214, - 34, 181, 216, 17, 215, 39, 40, 39, 40, 46, - 40, 43, 195, 230, 31, 33, 35, 38, 134, 195, - 206, 207, 222, 242, 243, 244, 252, 195, 135, 250, - 251, 18, 243, 244, 43, 226, 206, 39, 135, 40, - 38, 39, 135, 156, 157, 158, 156, 156, 38, 165, - 200, 195, 195, 215, 27, 28, 29, 34, 162, 163, - 206, 43, 3, 6, 10, 12, 13, 14, 15, 16, - 17, 39, 220, 221, 223, 224, 45, 135, 34, 39, - 216, 214, 17, 70, 193, 214, 70, 206, 205, 46, - 37, 30, 93, 166, 206, 206, 71, 133, 46, 37, - 38, 32, 46, 38, 37, 40, 37, 37, 39, 195, - 135, 152, 153, 39, 39, 40, 41, 33, 41, 212, - 43, 165, 135, 37, 41, 39, 40, 222, 39, 39, - 39, 27, 95, 96, 114, 206, 229, 231, 232, 233, - 234, 253, 39, 39, 206, 206, 242, 195, 252, 185, - 251, 39, 40, 156, 156, 40, 33, 41, 40, 201, - 212, 39, 223, 41, 221, 223, 46, 214, 214, 114, - 231, 17, 18, 234, 237, 38, 38, 229, 206, 41, - 40, 245, 195, 39, 154, 135, 33, 41, 38, 195, - 202, 37, 201, 223, 252, 162, 38, 206, 222, 206, - 70, 242, 246, 39, 37, 39, 41, 33, 212, 40, - 37, 70, 222, 40, 40, 235, 39, 40, 38, 40, - 195, 32, 38, 206, 195, 228, 229, 230, 236, 253, - 39, 242, 33, 33, 212, 39, 238, 239, 242, 39, - 40, 229, 40, 39, 41, 39, 40, 228, 33, 223, - 39, 242, 39 + 120, 135, 216, 217, 218, 235, 245, 30, 90, 91, + 92, 93, 187, 194, 36, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, + 88, 142, 143, 144, 145, 147, 148, 149, 17, 90, + 91, 165, 166, 188, 189, 194, 203, 209, 210, 135, + 135, 135, 211, 3, 6, 10, 12, 17, 160, 161, + 167, 34, 220, 50, 253, 254, 30, 89, 186, 0, + 139, 135, 195, 215, 216, 4, 5, 6, 9, 175, + 6, 172, 178, 37, 129, 180, 38, 38, 42, 42, + 215, 216, 93, 38, 135, 128, 218, 135, 135, 135, + 40, 184, 27, 28, 29, 126, 128, 135, 150, 151, + 36, 0, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 87, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 124, 126, + 127, 128, 129, 136, 154, 155, 154, 34, 124, 146, + 135, 150, 33, 35, 38, 53, 54, 66, 67, 84, + 134, 135, 156, 135, 135, 211, 135, 211, 37, 171, + 135, 41, 213, 213, 213, 213, 216, 31, 37, 42, + 31, 165, 180, 44, 214, 38, 135, 6, 176, 6, + 9, 177, 175, 38, 37, 17, 93, 166, 192, 193, + 194, 192, 135, 204, 205, 98, 99, 100, 101, 102, + 103, 104, 226, 227, 228, 241, 242, 248, 249, 250, + 135, 215, 185, 195, 216, 123, 154, 136, 156, 38, + 135, 156, 38, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 71, 133, 37, 41, 42, 199, 199, 37, 198, + 199, 198, 38, 135, 46, 226, 38, 37, 37, 33, + 45, 215, 214, 34, 181, 216, 17, 215, 39, 40, + 39, 40, 46, 40, 43, 195, 231, 31, 33, 35, + 38, 134, 195, 206, 207, 223, 243, 244, 245, 253, + 195, 135, 251, 252, 18, 244, 245, 43, 227, 206, + 39, 135, 40, 38, 39, 135, 156, 157, 158, 156, + 156, 38, 165, 200, 195, 195, 215, 27, 28, 29, + 34, 162, 163, 206, 43, 3, 6, 10, 12, 13, + 14, 15, 16, 17, 39, 221, 222, 224, 225, 45, + 135, 34, 39, 216, 214, 17, 70, 193, 214, 70, + 206, 205, 46, 37, 30, 93, 166, 206, 206, 71, + 133, 46, 37, 38, 32, 46, 38, 37, 40, 37, + 37, 39, 195, 70, 135, 152, 153, 39, 39, 40, + 41, 33, 41, 212, 43, 165, 135, 37, 41, 39, + 40, 223, 39, 39, 39, 27, 95, 96, 114, 206, + 230, 232, 233, 234, 235, 254, 39, 39, 206, 206, + 243, 195, 253, 185, 252, 39, 40, 156, 156, 40, + 33, 41, 40, 201, 212, 39, 224, 41, 222, 224, + 46, 214, 214, 114, 232, 17, 18, 235, 238, 38, + 38, 230, 206, 41, 40, 246, 195, 39, 154, 70, + 135, 33, 41, 38, 195, 202, 37, 201, 224, 253, + 162, 38, 206, 223, 206, 70, 243, 247, 39, 37, + 39, 41, 33, 212, 40, 37, 70, 223, 40, 40, + 236, 39, 40, 38, 40, 195, 32, 38, 206, 195, + 229, 230, 231, 237, 254, 39, 243, 33, 33, 212, + 39, 239, 240, 243, 39, 40, 230, 40, 39, 41, + 39, 40, 229, 33, 224, 39, 243, 39 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1433,34 +1441,34 @@ static const unsigned char yyr1[] = 139, 140, 141, 141, 142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 144, 144, 145, 145, 145, 146, 146, 147, 147, 148, 148, 148, 149, 149, 150, 150, - 150, 150, 150, 150, 151, 151, 152, 152, 153, 153, - 154, 154, 155, 155, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 157, 157, 158, 158, 159, 160, - 161, 161, 161, 161, 162, 162, 162, 163, 163, 163, - 163, 164, 164, 164, 165, 165, 165, 165, 165, 165, - 166, 166, 167, 167, 168, 168, 168, 169, 169, 169, - 169, 170, 170, 170, 171, 171, 171, 171, 171, 171, - 171, 171, 172, 172, 173, 173, 173, 174, 174, 174, - 174, 175, 175, 175, 175, 175, 176, 176, 177, 177, - 177, 178, 178, 178, 179, 179, 180, 180, 181, 181, - 182, 183, 184, 184, 185, 185, 186, 186, 187, 187, - 188, 188, 189, 189, 190, 190, 190, 190, 191, 191, - 192, 192, 192, 192, 193, 193, 193, 193, 194, 194, - 194, 194, 195, 195, 196, 197, 198, 198, 199, 200, - 200, 201, 201, 202, 202, 203, 204, 204, 205, 205, - 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - 208, 209, 210, 211, 211, 212, 212, 212, 212, 213, - 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, - 218, 219, 219, 219, 220, 220, 221, 221, 222, 223, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, - 225, 226, 226, 226, 226, 226, 227, 227, 228, 228, - 228, 229, 229, 229, 229, 229, 229, 230, 230, 231, - 232, 233, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, - 239, 239, 240, 241, 242, 242, 242, 243, 243, 244, - 244, 244, 244, 244, 244, 244, 244, 245, 245, 246, - 246, 247, 248, 248, 249, 250, 250, 251, 252, 252, - 253 + 150, 150, 150, 150, 151, 151, 152, 152, 152, 152, + 153, 153, 154, 154, 155, 155, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 157, 157, 158, 158, + 159, 160, 161, 161, 161, 161, 162, 162, 162, 163, + 163, 163, 163, 164, 164, 164, 165, 165, 165, 165, + 165, 165, 166, 166, 167, 167, 168, 168, 168, 169, + 169, 169, 169, 170, 170, 170, 171, 171, 171, 171, + 171, 171, 171, 171, 172, 172, 173, 173, 173, 174, + 174, 174, 174, 175, 175, 175, 175, 175, 176, 176, + 177, 177, 177, 178, 178, 178, 179, 179, 180, 180, + 181, 181, 182, 183, 184, 184, 185, 185, 186, 186, + 187, 187, 188, 188, 189, 189, 190, 190, 190, 190, + 191, 191, 192, 192, 192, 192, 193, 193, 193, 193, + 194, 194, 194, 194, 195, 195, 196, 197, 198, 198, + 199, 200, 200, 201, 201, 202, 202, 203, 204, 204, + 205, 205, 206, 206, 206, 206, 206, 206, 207, 207, + 207, 207, 208, 209, 210, 211, 211, 212, 212, 212, + 212, 213, 213, 214, 214, 214, 215, 215, 216, 216, + 217, 217, 218, 218, 219, 219, 220, 220, 220, 221, + 221, 222, 222, 223, 224, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 226, 226, 227, 227, 227, 227, + 227, 228, 228, 229, 229, 229, 230, 230, 230, 230, + 230, 230, 231, 231, 232, 233, 234, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 236, 236, 237, + 237, 238, 238, 239, 239, 240, 240, 241, 242, 243, + 243, 243, 244, 244, 245, 245, 245, 245, 245, 245, + 245, 245, 246, 246, 247, 247, 248, 249, 249, 250, + 251, 251, 252, 253, 253, 254 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1488,33 +1496,33 @@ static const unsigned char yyr2[] = 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 2, 0, 1, 1, 3, - 0, 1, 1, 2, 3, 2, 3, 5, 2, 4, - 1, 1, 1, 4, 0, 1, 1, 3, 6, 1, - 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 3, 4, 4, 1, 1, 2, 4, 4, 2, - 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, - 2, 0, 1, 2, 1, 2, 0, 1, 0, 1, - 1, 0, 1, 2, 3, 4, 0, 4, 1, 2, - 2, 3, 0, 2, 1, 3, 1, 2, 1, 1, - 5, 7, 5, 7, 6, 7, 6, 5, 1, 2, - 0, 1, 1, 3, 1, 2, 3, 2, 1, 2, - 4, 3, 3, 2, 4, 4, 1, 1, 3, 4, - 5, 0, 2, 2, 4, 4, 1, 3, 1, 3, - 1, 4, 3, 3, 2, 5, 1, 1, 1, 1, - 2, 2, 2, 0, 1, 0, 2, 7, 9, 0, - 7, 0, 3, 0, 1, 1, 2, 1, 2, 4, - 5, 7, 8, 13, 1, 3, 2, 4, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 3, 6, 1, 2, - 1, 1, 1, 2, 1, 1, 1, 3, 4, 6, - 8, 5, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 1, 3, 1, 1, 0, 1, - 1, 3, 3, 3, 1, 1, 3, 5, 6, 1, + 1, 3, 0, 1, 1, 2, 3, 2, 3, 5, + 2, 4, 1, 1, 1, 4, 0, 1, 1, 3, + 6, 1, 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 3, 4, 4, 1, 1, 2, 4, + 4, 2, 2, 1, 1, 1, 2, 2, 2, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, + 1, 2, 2, 0, 1, 2, 1, 2, 0, 1, + 0, 1, 1, 0, 1, 2, 3, 4, 0, 4, + 1, 2, 2, 3, 0, 2, 1, 3, 1, 2, + 1, 1, 5, 7, 5, 7, 6, 7, 6, 5, + 1, 2, 0, 1, 1, 3, 1, 2, 3, 2, + 1, 2, 4, 3, 3, 2, 4, 4, 1, 1, + 3, 4, 5, 0, 2, 2, 4, 4, 1, 3, + 1, 3, 1, 4, 3, 3, 2, 5, 1, 1, + 1, 1, 2, 2, 2, 0, 1, 0, 2, 7, + 9, 0, 7, 0, 2, 3, 0, 1, 1, 2, + 1, 2, 1, 2, 4, 5, 7, 8, 13, 1, + 3, 2, 4, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 3, 6, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 3, 4, 6, 8, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, - 3, 3, 1, 1, 3, 1, 3, 4, 0, 1, - 1 + 3, 1, 1, 0, 1, 1, 3, 3, 3, 1, + 1, 3, 5, 6, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 2, 1, 3, 3, 1, 1, 3, + 1, 3, 4, 0, 1, 1 }; @@ -1569,7 +1577,7 @@ static const unsigned char yydprec[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0 + 0, 0, 0, 0, 0, 0 }; /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */ @@ -1623,7 +1631,7 @@ static const unsigned char yymerger[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0 + 0, 0, 0, 0, 0, 0 }; /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as @@ -1678,7 +1686,7 @@ static const yybool yyimmediate[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0 + 0, 0, 0, 0, 0, 0 }; /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of @@ -1694,11 +1702,14 @@ static const unsigned short int yyconflp[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1716,8 +1727,8 @@ static const unsigned short int yyconflp[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1750,22 +1761,22 @@ static const unsigned short int yyconflp[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 9, 11, 13, + 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, + 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, + 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, + 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, + 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, + 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, + 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, + 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, + 0, 175, 0, 177, 179, 181, 183, 185, 187, 189, + 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, + 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, + 231, 233, 235, 237, 239, 241, 0, 243, 245, 0, + 247, 249, 251, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 0, 9, 11, 13, 15, 17, 19, 21, 23, - 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, - 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, - 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, - 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, - 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, - 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, - 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, - 165, 167, 169, 171, 173, 0, 175, 0, 177, 179, - 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, - 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, - 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, - 241, 0, 243, 245, 0, 247, 249, 251, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1969,23 +1980,23 @@ static const unsigned short int yyconflp[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2021,42 +2032,43 @@ static const unsigned short int yyconflp[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 263 + 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 263 }; /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by 0, pointed into by YYCONFLP. */ static const short int yyconfl[] = { - 0, 270, 0, 270, 0, 338, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 465, 0, 465, 0, 465, - 0, 465, 0, 465, 0, 270, 0, 270, 0, 270, - 0, 227, 0, 365, 0 + 0, 272, 0, 272, 0, 340, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 470, 0, 470, 0, 470, + 0, 470, 0, 470, 0, 272, 0, 272, 0, 272, + 0, 229, 0, 367, 0 }; /* Error token number */ @@ -2493,7 +2505,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } } -#line 2497 "src/parser_proc.c" /* glr.c:816 */ +#line 2509 "src/parser_proc.c" /* glr.c:816 */ break; case 172: @@ -2506,7 +2518,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, P->file.ln = strndup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size); } } -#line 2510 "src/parser_proc.c" /* glr.c:816 */ +#line 2522 "src/parser_proc.c" /* glr.c:816 */ break; case 173: @@ -2514,7 +2526,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2518 "src/parser_proc.c" /* glr.c:816 */ +#line 2530 "src/parser_proc.c" /* glr.c:816 */ break; case 174: @@ -2522,7 +2534,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2526 "src/parser_proc.c" /* glr.c:816 */ +#line 2538 "src/parser_proc.c" /* glr.c:816 */ break; case 176: @@ -2530,7 +2542,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2534 "src/parser_proc.c" /* glr.c:816 */ +#line 2546 "src/parser_proc.c" /* glr.c:816 */ break; case 177: @@ -2538,7 +2550,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2542 "src/parser_proc.c" /* glr.c:816 */ +#line 2554 "src/parser_proc.c" /* glr.c:816 */ break; case 178: @@ -2546,7 +2558,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2550 "src/parser_proc.c" /* glr.c:816 */ +#line 2562 "src/parser_proc.c" /* glr.c:816 */ break; case 179: @@ -2554,7 +2566,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2558 "src/parser_proc.c" /* glr.c:816 */ +#line 2570 "src/parser_proc.c" /* glr.c:816 */ break; case 180: @@ -2562,7 +2574,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2566 "src/parser_proc.c" /* glr.c:816 */ +#line 2578 "src/parser_proc.c" /* glr.c:816 */ break; case 181: @@ -2570,7 +2582,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 2574 "src/parser_proc.c" /* glr.c:816 */ +#line 2586 "src/parser_proc.c" /* glr.c:816 */ break; case 182: @@ -2578,7 +2590,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL; } -#line 2582 "src/parser_proc.c" /* glr.c:816 */ +#line 2594 "src/parser_proc.c" /* glr.c:816 */ break; case 183: @@ -2586,7 +2598,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 2590 "src/parser_proc.c" /* glr.c:816 */ +#line 2602 "src/parser_proc.c" /* glr.c:816 */ break; case 184: @@ -2614,7 +2626,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2618 "src/parser_proc.c" /* glr.c:816 */ +#line 2630 "src/parser_proc.c" /* glr.c:816 */ break; case 185: @@ -2623,7 +2635,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2627 "src/parser_proc.c" /* glr.c:816 */ +#line 2639 "src/parser_proc.c" /* glr.c:816 */ break; case 186: @@ -2632,7 +2644,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2636 "src/parser_proc.c" /* glr.c:816 */ +#line 2648 "src/parser_proc.c" /* glr.c:816 */ break; case 187: @@ -2642,7 +2654,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2646 "src/parser_proc.c" /* glr.c:816 */ +#line 2658 "src/parser_proc.c" /* glr.c:816 */ break; case 188: @@ -2651,7 +2663,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_cpp_macro_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2655 "src/parser_proc.c" /* glr.c:816 */ +#line 2667 "src/parser_proc.c" /* glr.c:816 */ break; case 189: @@ -2660,7 +2672,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2664 "src/parser_proc.c" /* glr.c:816 */ +#line 2676 "src/parser_proc.c" /* glr.c:816 */ break; case 190: @@ -2669,7 +2681,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2673 "src/parser_proc.c" /* glr.c:816 */ +#line 2685 "src/parser_proc.c" /* glr.c:816 */ break; case 191: @@ -2678,7 +2690,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL; } -#line 2682 "src/parser_proc.c" /* glr.c:816 */ +#line 2694 "src/parser_proc.c" /* glr.c:816 */ break; case 214: @@ -2688,7 +2700,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); } -#line 2692 "src/parser_proc.c" /* glr.c:816 */ +#line 2704 "src/parser_proc.c" /* glr.c:816 */ break; case 215: @@ -2698,7 +2710,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2702 "src/parser_proc.c" /* glr.c:816 */ +#line 2714 "src/parser_proc.c" /* glr.c:816 */ break; case 216: @@ -2706,93 +2718,109 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); } -#line 2710 "src/parser_proc.c" /* glr.c:816 */ +#line 2722 "src/parser_proc.c" /* glr.c:816 */ + break; + + case 217: +#line 562 "src/parser_proc_grammar.y" /* glr.c:816 */ + { + (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */ +} +#line 2730 "src/parser_proc.c" /* glr.c:816 */ break; - case 218: + case 219: #line 566 "src/parser_proc_grammar.y" /* glr.c:816 */ + { + (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); +} +#line 2738 "src/parser_proc.c" /* glr.c:816 */ + break; + + case 220: +#line 572 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_token_free), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2720 "src/parser_proc.c" /* glr.c:816 */ +#line 2748 "src/parser_proc.c" /* glr.c:816 */ break; - case 219: -#line 571 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 221: +#line 577 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2730 "src/parser_proc.c" /* glr.c:816 */ +#line 2758 "src/parser_proc.c" /* glr.c:816 */ break; - case 220: -#line 579 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 222: +#line 585 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 2738 "src/parser_proc.c" /* glr.c:816 */ +#line 2766 "src/parser_proc.c" /* glr.c:816 */ break; - case 222: -#line 586 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 224: +#line 592 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_token_free), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2747 "src/parser_proc.c" /* glr.c:816 */ +#line 2775 "src/parser_proc.c" /* glr.c:816 */ break; - case 223: -#line 590 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 225: +#line 596 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2756 "src/parser_proc.c" /* glr.c:816 */ +#line 2784 "src/parser_proc.c" /* glr.c:816 */ break; - case 224: -#line 597 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 226: +#line 603 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 2765 "src/parser_proc.c" /* glr.c:816 */ +#line 2793 "src/parser_proc.c" /* glr.c:816 */ break; - case 225: -#line 601 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 227: +#line 607 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2774 "src/parser_proc.c" /* glr.c:816 */ +#line 2802 "src/parser_proc.c" /* glr.c:816 */ break; - case 226: -#line 605 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 228: +#line 611 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_binary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2783 "src/parser_proc.c" /* glr.c:816 */ +#line 2811 "src/parser_proc.c" /* glr.c:816 */ break; - case 227: -#line 609 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 229: +#line 615 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_ternary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 2792 "src/parser_proc.c" /* glr.c:816 */ +#line 2820 "src/parser_proc.c" /* glr.c:816 */ break; - case 228: -#line 614 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 230: +#line 620 "src/parser_proc_grammar.y" /* glr.c:816 */ { { uint8_t exists; @@ -2803,11 +2831,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } } -#line 2807 "src/parser_proc.c" /* glr.c:816 */ +#line 2835 "src/parser_proc.c" /* glr.c:816 */ break; - case 229: -#line 624 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 231: +#line 630 "src/parser_proc_grammar.y" /* glr.c:816 */ { { uint8_t exists; @@ -2818,103 +2846,103 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 2822 "src/parser_proc.c" /* glr.c:816 */ +#line 2850 "src/parser_proc.c" /* glr.c:816 */ break; - case 230: -#line 634 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 232: +#line 640 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->flags)); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2832 "src/parser_proc.c" /* glr.c:816 */ +#line 2860 "src/parser_proc.c" /* glr.c:816 */ break; - case 231: -#line 639 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 233: +#line 645 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0)); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2842 "src/parser_proc.c" /* glr.c:816 */ +#line 2870 "src/parser_proc.c" /* glr.c:816 */ break; - case 232: -#line 644 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 234: +#line 650 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINE, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0)); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2853 "src/parser_proc.c" /* glr.c:816 */ +#line 2881 "src/parser_proc.c" /* glr.c:816 */ break; - case 233: -#line 650 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 235: +#line 656 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION, psi_cpp_macro_call_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 0)); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 2864 "src/parser_proc.c" /* glr.c:816 */ +#line 2892 "src/parser_proc.c" /* glr.c:816 */ break; - case 234: -#line 659 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 236: +#line 665 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 2872 "src/parser_proc.c" /* glr.c:816 */ +#line 2900 "src/parser_proc.c" /* glr.c:816 */ break; - case 236: -#line 666 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 238: +#line 672 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free), &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2881 "src/parser_proc.c" /* glr.c:816 */ +#line 2909 "src/parser_proc.c" /* glr.c:816 */ break; - case 237: -#line 670 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 239: +#line 676 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2889 "src/parser_proc.c" /* glr.c:816 */ +#line 2917 "src/parser_proc.c" /* glr.c:816 */ break; - case 238: -#line 676 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 240: +#line 682 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_const **)(&(*yyvalp))) = psi_const_init((*(struct psi_const_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_def_val **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 2898 "src/parser_proc.c" /* glr.c:816 */ +#line 2926 "src/parser_proc.c" /* glr.c:816 */ break; - case 239: -#line 683 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 241: +#line 689 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_const_type **)(&(*yyvalp))) = psi_const_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); } -#line 2906 "src/parser_proc.c" /* glr.c:816 */ +#line 2934 "src/parser_proc.c" /* glr.c:816 */ break; - case 244: -#line 696 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 246: +#line 702 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_def_val **)(&(*yyvalp))) = NULL; } -#line 2914 "src/parser_proc.c" /* glr.c:816 */ +#line 2942 "src/parser_proc.c" /* glr.c:816 */ break; - case 245: -#line 699 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 247: +#line 705 "src/parser_proc_grammar.y" /* glr.c:816 */ { if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL, NULL, NULL, NULL, NULL)) { impl_val res = {0}; @@ -2946,28 +2974,28 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2950 "src/parser_proc.c" /* glr.c:816 */ +#line 2978 "src/parser_proc.c" /* glr.c:816 */ break; - case 246: -#line 730 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 248: +#line 736 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_def_val **)(&(*yyvalp))) = psi_impl_def_val_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 2959 "src/parser_proc.c" /* glr.c:816 */ +#line 2987 "src/parser_proc.c" /* glr.c:816 */ break; - case 251: -#line 744 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 253: +#line 750 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 2967 "src/parser_proc.c" /* glr.c:816 */ +#line 2995 "src/parser_proc.c" /* glr.c:816 */ break; - case 252: -#line 747 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 254: +#line 753 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init(PSI_T_VOID, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text), @@ -2977,19 +3005,19 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 2981 "src/parser_proc.c" /* glr.c:816 */ +#line 3009 "src/parser_proc.c" /* glr.c:816 */ break; - case 253: -#line 756 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 255: +#line 762 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 2989 "src/parser_proc.c" /* glr.c:816 */ +#line 3017 "src/parser_proc.c" /* glr.c:816 */ break; - case 255: -#line 763 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 257: +#line 769 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name), @@ -2998,11 +3026,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3002 "src/parser_proc.c" /* glr.c:816 */ +#line 3030 "src/parser_proc.c" /* glr.c:816 */ break; - case 256: -#line 771 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 258: +#line 777 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( @@ -3014,11 +3042,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3018 "src/parser_proc.c" /* glr.c:816 */ +#line 3046 "src/parser_proc.c" /* glr.c:816 */ break; - case 257: -#line 782 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 259: +#line 788 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); @@ -3028,11 +3056,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct); } -#line 3032 "src/parser_proc.c" /* glr.c:816 */ +#line 3060 "src/parser_proc.c" /* glr.c:816 */ break; - case 258: -#line 791 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 260: +#line 797 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); @@ -3042,148 +3070,148 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn); } -#line 3046 "src/parser_proc.c" /* glr.c:816 */ +#line 3074 "src/parser_proc.c" /* glr.c:816 */ break; - case 259: -#line 800 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 261: +#line 806 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0, 0)); (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3056 "src/parser_proc.c" /* glr.c:816 */ +#line 3084 "src/parser_proc.c" /* glr.c:816 */ break; - case 260: -#line 808 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 262: +#line 814 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3064 "src/parser_proc.c" /* glr.c:816 */ +#line 3092 "src/parser_proc.c" /* glr.c:816 */ break; - case 262: -#line 815 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 264: +#line 821 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3073 "src/parser_proc.c" /* glr.c:816 */ +#line 3101 "src/parser_proc.c" /* glr.c:816 */ break; - case 264: -#line 823 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 266: +#line 829 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3083 "src/parser_proc.c" /* glr.c:816 */ +#line 3111 "src/parser_proc.c" /* glr.c:816 */ break; - case 265: -#line 828 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 267: +#line 834 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3093 "src/parser_proc.c" /* glr.c:816 */ +#line 3121 "src/parser_proc.c" /* glr.c:816 */ break; - case 266: -#line 833 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 268: +#line 839 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3103 "src/parser_proc.c" /* glr.c:816 */ +#line 3131 "src/parser_proc.c" /* glr.c:816 */ break; - case 269: -#line 843 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 271: +#line 849 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3111 "src/parser_proc.c" /* glr.c:816 */ +#line 3139 "src/parser_proc.c" /* glr.c:816 */ break; - case 270: -#line 846 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 272: +#line 852 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3119 "src/parser_proc.c" /* glr.c:816 */ +#line 3147 "src/parser_proc.c" /* glr.c:816 */ break; - case 271: -#line 852 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 273: +#line 858 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3127 "src/parser_proc.c" /* glr.c:816 */ +#line 3155 "src/parser_proc.c" /* glr.c:816 */ break; - case 272: -#line 855 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 274: +#line 861 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3135 "src/parser_proc.c" /* glr.c:816 */ +#line 3163 "src/parser_proc.c" /* glr.c:816 */ break; - case 273: -#line 858 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 275: +#line 864 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3143 "src/parser_proc.c" /* glr.c:816 */ +#line 3171 "src/parser_proc.c" /* glr.c:816 */ break; - case 284: -#line 880 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 286: +#line 886 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3151 "src/parser_proc.c" /* glr.c:816 */ +#line 3179 "src/parser_proc.c" /* glr.c:816 */ break; - case 285: -#line 883 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 287: +#line 889 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3159 "src/parser_proc.c" /* glr.c:816 */ +#line 3187 "src/parser_proc.c" /* glr.c:816 */ break; - case 286: -#line 886 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 288: +#line 892 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3167 "src/parser_proc.c" /* glr.c:816 */ +#line 3195 "src/parser_proc.c" /* glr.c:816 */ break; - case 287: -#line 892 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 289: +#line 898 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3175 "src/parser_proc.c" /* glr.c:816 */ +#line 3203 "src/parser_proc.c" /* glr.c:816 */ break; - case 288: -#line 895 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 290: +#line 901 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3183 "src/parser_proc.c" /* glr.c:816 */ +#line 3211 "src/parser_proc.c" /* glr.c:816 */ break; - case 289: -#line 898 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 291: +#line 904 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3192,11 +3220,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3196 "src/parser_proc.c" /* glr.c:816 */ +#line 3224 "src/parser_proc.c" /* glr.c:816 */ break; - case 290: -#line 906 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 292: +#line 912 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3206,27 +3234,27 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } } -#line 3210 "src/parser_proc.c" /* glr.c:816 */ +#line 3238 "src/parser_proc.c" /* glr.c:816 */ break; - case 291: -#line 918 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 293: +#line 924 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 3218 "src/parser_proc.c" /* glr.c:816 */ +#line 3246 "src/parser_proc.c" /* glr.c:816 */ break; - case 292: -#line 921 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 294: +#line 927 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3226 "src/parser_proc.c" /* glr.c:816 */ +#line 3254 "src/parser_proc.c" /* glr.c:816 */ break; - case 293: -#line 924 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 295: +#line 930 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3234,19 +3262,19 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3238 "src/parser_proc.c" /* glr.c:816 */ +#line 3266 "src/parser_proc.c" /* glr.c:816 */ break; - case 294: -#line 931 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 296: +#line 937 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3246 "src/parser_proc.c" /* glr.c:816 */ +#line 3274 "src/parser_proc.c" /* glr.c:816 */ break; - case 295: -#line 934 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 297: +#line 940 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3254,43 +3282,43 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3258 "src/parser_proc.c" /* glr.c:816 */ +#line 3286 "src/parser_proc.c" /* glr.c:816 */ break; - case 296: -#line 944 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 298: +#line 950 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 3266 "src/parser_proc.c" /* glr.c:816 */ +#line 3294 "src/parser_proc.c" /* glr.c:816 */ break; - case 298: -#line 950 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 300: +#line 956 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 3274 "src/parser_proc.c" /* glr.c:816 */ +#line 3302 "src/parser_proc.c" /* glr.c:816 */ break; - case 301: -#line 958 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 303: +#line 964 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 3282 "src/parser_proc.c" /* glr.c:816 */ +#line 3310 "src/parser_proc.c" /* glr.c:816 */ break; - case 302: -#line 961 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 304: +#line 967 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3290 "src/parser_proc.c" /* glr.c:816 */ +#line 3318 "src/parser_proc.c" /* glr.c:816 */ break; - case 303: -#line 964 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 305: +#line 970 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3299,68 +3327,68 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3303 "src/parser_proc.c" /* glr.c:816 */ +#line 3331 "src/parser_proc.c" /* glr.c:816 */ break; - case 304: -#line 975 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 306: +#line 981 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 3311 "src/parser_proc.c" /* glr.c:816 */ +#line 3339 "src/parser_proc.c" /* glr.c:816 */ break; - case 305: -#line 978 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 307: +#line 984 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 3319 "src/parser_proc.c" /* glr.c:816 */ +#line 3347 "src/parser_proc.c" /* glr.c:816 */ break; - case 311: -#line 998 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 313: +#line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */ { psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3327 "src/parser_proc.c" /* glr.c:816 */ +#line 3355 "src/parser_proc.c" /* glr.c:816 */ break; - case 313: -#line 1005 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 315: +#line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */ { psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3335 "src/parser_proc.c" /* glr.c:816 */ +#line 3363 "src/parser_proc.c" /* glr.c:816 */ break; - case 314: -#line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 316: +#line 1017 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_var_free), &(*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3343 "src/parser_proc.c" /* glr.c:816 */ +#line 3371 "src/parser_proc.c" /* glr.c:816 */ break; - case 315: -#line 1014 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 317: +#line 1020 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3351 "src/parser_proc.c" /* glr.c:816 */ +#line 3379 "src/parser_proc.c" /* glr.c:816 */ break; - case 317: -#line 1021 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 319: +#line 1027 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); } -#line 3360 "src/parser_proc.c" /* glr.c:816 */ +#line 3388 "src/parser_proc.c" /* glr.c:816 */ break; - case 320: -#line 1033 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 322: +#line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { @@ -3368,11 +3396,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 3372 "src/parser_proc.c" /* glr.c:816 */ +#line 3400 "src/parser_proc.c" /* glr.c:816 */ break; - case 321: -#line 1040 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 323: +#line 1046 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1; @@ -3381,11 +3409,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 3385 "src/parser_proc.c" /* glr.c:816 */ +#line 3413 "src/parser_proc.c" /* glr.c:816 */ break; - case 322: -#line 1051 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 324: +#line 1057 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { @@ -3393,11 +3421,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 3397 "src/parser_proc.c" /* glr.c:816 */ +#line 3425 "src/parser_proc.c" /* glr.c:816 */ break; - case 323: -#line 1058 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 325: +#line 1064 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1; @@ -3406,11 +3434,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 3410 "src/parser_proc.c" /* glr.c:816 */ +#line 3438 "src/parser_proc.c" /* glr.c:816 */ break; - case 324: -#line 1069 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 326: +#line 1075 "src/parser_proc_grammar.y" /* glr.c:816 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -3418,11 +3446,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3422 "src/parser_proc.c" /* glr.c:816 */ +#line 3450 "src/parser_proc.c" /* glr.c:816 */ break; - case 325: -#line 1076 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 327: +#line 1082 "src/parser_proc_grammar.y" /* glr.c:816 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -3434,11 +3462,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3438 "src/parser_proc.c" /* glr.c:816 */ +#line 3466 "src/parser_proc.c" /* glr.c:816 */ break; - case 326: -#line 1087 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 328: +#line 1093 "src/parser_proc_grammar.y" /* glr.c:816 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -3450,11 +3478,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3454 "src/parser_proc.c" /* glr.c:816 */ +#line 3482 "src/parser_proc.c" /* glr.c:816 */ break; - case 327: -#line 1098 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 329: +#line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -3466,11 +3494,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3470 "src/parser_proc.c" /* glr.c:816 */ +#line 3498 "src/parser_proc.c" /* glr.c:816 */ break; - case 329: -#line 1113 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 331: +#line 1119 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), @@ -3480,62 +3508,62 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3484 "src/parser_proc.c" /* glr.c:816 */ +#line 3512 "src/parser_proc.c" /* glr.c:816 */ break; - case 330: -#line 1125 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 332: +#line 1131 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 3492 "src/parser_proc.c" /* glr.c:816 */ +#line 3520 "src/parser_proc.c" /* glr.c:816 */ break; - case 331: -#line 1128 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 333: +#line 1134 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 3500 "src/parser_proc.c" /* glr.c:816 */ +#line 3528 "src/parser_proc.c" /* glr.c:816 */ break; - case 332: -#line 1131 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 334: +#line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3508 "src/parser_proc.c" /* glr.c:816 */ +#line 3536 "src/parser_proc.c" /* glr.c:816 */ break; - case 333: -#line 1134 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 335: +#line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3516 "src/parser_proc.c" /* glr.c:816 */ +#line 3544 "src/parser_proc.c" /* glr.c:816 */ break; - case 334: -#line 1141 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 336: +#line 1147 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3524 "src/parser_proc.c" /* glr.c:816 */ +#line 3552 "src/parser_proc.c" /* glr.c:816 */ break; - case 335: -#line 1144 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 337: +#line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0) ); } -#line 3535 "src/parser_proc.c" /* glr.c:816 */ +#line 3563 "src/parser_proc.c" /* glr.c:816 */ break; - case 336: -#line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 338: +#line 1156 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), @@ -3545,11 +3573,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3549 "src/parser_proc.c" /* glr.c:816 */ +#line 3577 "src/parser_proc.c" /* glr.c:816 */ break; - case 337: -#line 1159 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 339: +#line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), @@ -3559,11 +3587,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3563 "src/parser_proc.c" /* glr.c:816 */ +#line 3591 "src/parser_proc.c" /* glr.c:816 */ break; - case 338: -#line 1171 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 340: +#line 1177 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name), @@ -3572,19 +3600,19 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3576 "src/parser_proc.c" /* glr.c:816 */ +#line 3604 "src/parser_proc.c" /* glr.c:816 */ break; - case 339: -#line 1179 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 341: +#line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3584 "src/parser_proc.c" /* glr.c:816 */ +#line 3612 "src/parser_proc.c" /* glr.c:816 */ break; - case 340: -#line 1182 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 342: +#line 1188 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( @@ -3595,11 +3623,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3599 "src/parser_proc.c" /* glr.c:816 */ +#line 3627 "src/parser_proc.c" /* glr.c:816 */ break; - case 341: -#line 1192 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 343: +#line 1198 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( @@ -3610,31 +3638,31 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3614 "src/parser_proc.c" /* glr.c:816 */ +#line 3642 "src/parser_proc.c" /* glr.c:816 */ break; - case 342: -#line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 344: +#line 1211 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_var **)(&(*yyvalp))) = psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)) + !! (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3624 "src/parser_proc.c" /* glr.c:816 */ +#line 3652 "src/parser_proc.c" /* glr.c:816 */ break; - case 343: -#line 1210 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 345: +#line 1216 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_var **)(&(*yyvalp))) = psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text, !! (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3634 "src/parser_proc.c" /* glr.c:816 */ +#line 3662 "src/parser_proc.c" /* glr.c:816 */ break; - case 344: -#line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 346: +#line 1224 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_union **)(&(*yyvalp))) = psi_decl_union_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3642,11 +3670,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 3646 "src/parser_proc.c" /* glr.c:816 */ +#line 3674 "src/parser_proc.c" /* glr.c:816 */ break; - case 345: -#line 1228 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 347: +#line 1234 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_struct **)(&(*yyvalp))) = psi_decl_struct_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3654,27 +3682,27 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 3658 "src/parser_proc.c" /* glr.c:816 */ +#line 3686 "src/parser_proc.c" /* glr.c:816 */ break; - case 346: -#line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 348: +#line 1244 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 3666 "src/parser_proc.c" /* glr.c:816 */ +#line 3694 "src/parser_proc.c" /* glr.c:816 */ break; - case 348: -#line 1245 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 350: +#line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 3674 "src/parser_proc.c" /* glr.c:816 */ +#line 3702 "src/parser_proc.c" /* glr.c:816 */ break; - case 349: -#line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 351: +#line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); @@ -3689,11 +3717,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3693 "src/parser_proc.c" /* glr.c:816 */ +#line 3721 "src/parser_proc.c" /* glr.c:816 */ break; - case 350: -#line 1265 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 352: +#line 1271 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); @@ -3708,27 +3736,27 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 3712 "src/parser_proc.c" /* glr.c:816 */ +#line 3740 "src/parser_proc.c" /* glr.c:816 */ break; - case 351: -#line 1282 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 353: +#line 1288 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 3720 "src/parser_proc.c" /* glr.c:816 */ +#line 3748 "src/parser_proc.c" /* glr.c:816 */ break; - case 352: -#line 1285 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 354: +#line 1291 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 3728 "src/parser_proc.c" /* glr.c:816 */ +#line 3756 "src/parser_proc.c" /* glr.c:816 */ break; - case 353: -#line 1291 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 355: +#line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -3736,11 +3764,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg); } } -#line 3740 "src/parser_proc.c" /* glr.c:816 */ +#line 3768 "src/parser_proc.c" /* glr.c:816 */ break; - case 354: -#line 1298 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 356: +#line 1304 "src/parser_proc_grammar.y" /* glr.c:816 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -3748,146 +3776,146 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg); } } -#line 3752 "src/parser_proc.c" /* glr.c:816 */ +#line 3780 "src/parser_proc.c" /* glr.c:816 */ break; - case 355: -#line 1308 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 357: +#line 1314 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_decl_enum **)(&(*yyvalp))) = psi_decl_enum_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); } -#line 3761 "src/parser_proc.c" /* glr.c:816 */ +#line 3789 "src/parser_proc.c" /* glr.c:816 */ break; - case 356: -#line 1315 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 358: +#line 1321 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_enum_item_free), &(*(struct psi_decl_enum_item **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3769 "src/parser_proc.c" /* glr.c:816 */ +#line 3797 "src/parser_proc.c" /* glr.c:816 */ break; - case 357: -#line 1318 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 359: +#line 1324 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_enum_item **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3777 "src/parser_proc.c" /* glr.c:816 */ +#line 3805 "src/parser_proc.c" /* glr.c:816 */ break; - case 358: -#line 1324 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 360: +#line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL); (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3787 "src/parser_proc.c" /* glr.c:816 */ +#line 3815 "src/parser_proc.c" /* glr.c:816 */ break; - case 359: -#line 1329 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 361: +#line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 3797 "src/parser_proc.c" /* glr.c:816 */ +#line 3825 "src/parser_proc.c" /* glr.c:816 */ break; - case 360: -#line 1337 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 362: +#line 1343 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 3806 "src/parser_proc.c" /* glr.c:816 */ +#line 3834 "src/parser_proc.c" /* glr.c:816 */ break; - case 361: -#line 1341 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 363: +#line 1347 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_cast((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token); } -#line 3815 "src/parser_proc.c" /* glr.c:816 */ +#line 3843 "src/parser_proc.c" /* glr.c:816 */ break; - case 362: -#line 1345 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 364: +#line 1351 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary(PSI_T_LPAREN, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 3824 "src/parser_proc.c" /* glr.c:816 */ +#line 3852 "src/parser_proc.c" /* glr.c:816 */ break; - case 363: -#line 1349 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 365: +#line 1355 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_binary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3833 "src/parser_proc.c" /* glr.c:816 */ +#line 3861 "src/parser_proc.c" /* glr.c:816 */ break; - case 364: -#line 1353 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 366: +#line 1359 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 3842 "src/parser_proc.c" /* glr.c:816 */ +#line 3870 "src/parser_proc.c" /* glr.c:816 */ break; - case 365: -#line 1357 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 367: +#line 1363 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_ternary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 3851 "src/parser_proc.c" /* glr.c:816 */ +#line 3879 "src/parser_proc.c" /* glr.c:816 */ break; - case 366: -#line 1364 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 368: +#line 1370 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->flags); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3860 "src/parser_proc.c" /* glr.c:816 */ +#line 3888 "src/parser_proc.c" /* glr.c:816 */ break; - case 367: -#line 1368 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 369: +#line 1374 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3869 "src/parser_proc.c" /* glr.c:816 */ +#line 3897 "src/parser_proc.c" /* glr.c:816 */ break; - case 368: -#line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 370: +#line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 3878 "src/parser_proc.c" /* glr.c:816 */ +#line 3906 "src/parser_proc.c" /* glr.c:816 */ break; - case 369: -#line 1376 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 371: +#line 1382 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 3887 "src/parser_proc.c" /* glr.c:816 */ +#line 3915 "src/parser_proc.c" /* glr.c:816 */ break; - case 370: -#line 1383 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 372: +#line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3898,11 +3926,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 3902 "src/parser_proc.c" /* glr.c:816 */ +#line 3930 "src/parser_proc.c" /* glr.c:816 */ break; - case 371: -#line 1396 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 373: +#line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3913,11 +3941,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 3917 "src/parser_proc.c" /* glr.c:816 */ +#line 3945 "src/parser_proc.c" /* glr.c:816 */ break; - case 372: -#line 1409 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 374: +#line 1415 "src/parser_proc_grammar.y" /* glr.c:816 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -3928,171 +3956,179 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 3932 "src/parser_proc.c" /* glr.c:816 */ +#line 3960 "src/parser_proc.c" /* glr.c:816 */ break; - case 373: -#line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 375: +#line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 3940 "src/parser_proc.c" /* glr.c:816 */ +#line 3968 "src/parser_proc.c" /* glr.c:816 */ break; - case 374: -#line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 376: +#line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME; } -#line 3949 "src/parser_proc.c" /* glr.c:816 */ +#line 3977 "src/parser_proc.c" /* glr.c:816 */ break; - case 375: -#line 1432 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 377: +#line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout **)(&(*yyvalp))) = NULL; } -#line 3957 "src/parser_proc.c" /* glr.c:816 */ +#line 3985 "src/parser_proc.c" /* glr.c:816 */ break; - case 376: -#line 1435 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 378: +#line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(0, 0, psi_layout_init(0, atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text), NULL)); } -#line 3965 "src/parser_proc.c" /* glr.c:816 */ +#line 3993 "src/parser_proc.c" /* glr.c:816 */ break; - case 377: -#line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 379: +#line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), NULL); } -#line 3973 "src/parser_proc.c" /* glr.c:816 */ +#line 4001 "src/parser_proc.c" /* glr.c:816 */ break; - case 378: -#line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 380: +#line 1447 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), psi_layout_init(0, atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval))->text), NULL)); } -#line 3981 "src/parser_proc.c" /* glr.c:816 */ +#line 4009 "src/parser_proc.c" /* glr.c:816 */ break; - case 379: -#line 1447 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 381: +#line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = 0; (*(struct psi_layout*)(&(*yyvalp))).len = 0; } -#line 3990 "src/parser_proc.c" /* glr.c:816 */ +#line 4018 "src/parser_proc.c" /* glr.c:816 */ break; - case 380: -#line 1451 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 382: +#line 1457 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text); (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); } -#line 3999 "src/parser_proc.c" /* glr.c:816 */ +#line 4027 "src/parser_proc.c" /* glr.c:816 */ break; - case 381: -#line 1458 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 383: +#line 1464 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 4007 "src/parser_proc.c" /* glr.c:816 */ - break; - - case 382: -#line 1461 "src/parser_proc_grammar.y" /* glr.c:816 */ - { - (*(size_t*)(&(*yyvalp))) = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); -} -#line 4015 "src/parser_proc.c" /* glr.c:816 */ +#line 4035 "src/parser_proc.c" /* glr.c:816 */ break; - case 383: + case 384: #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 4023 "src/parser_proc.c" /* glr.c:816 */ +#line 4043 "src/parser_proc.c" /* glr.c:816 */ break; - case 384: + case 385: #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */ { - (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); + (*(size_t*)(&(*yyvalp))) = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); } -#line 4031 "src/parser_proc.c" /* glr.c:816 */ +#line 4051 "src/parser_proc.c" /* glr.c:816 */ break; case 386: -#line 1477 "src/parser_proc_grammar.y" /* glr.c:816 */ +#line 1476 "src/parser_proc_grammar.y" /* glr.c:816 */ { - (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); + (*(size_t*)(&(*yyvalp))) = 0; } -#line 4039 "src/parser_proc.c" /* glr.c:816 */ +#line 4059 "src/parser_proc.c" /* glr.c:816 */ break; case 387: -#line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */ +#line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */ { - (*(size_t*)(&(*yyvalp))) = 1; + (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4047 "src/parser_proc.c" /* glr.c:816 */ +#line 4067 "src/parser_proc.c" /* glr.c:816 */ break; - case 388: + case 389: #line 1486 "src/parser_proc_grammar.y" /* glr.c:816 */ { - (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1; + (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 4055 "src/parser_proc.c" /* glr.c:816 */ +#line 4075 "src/parser_proc.c" /* glr.c:816 */ break; - case 389: -#line 1498 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 390: +#line 1492 "src/parser_proc_grammar.y" /* glr.c:816 */ { - (*(struct psi_impl **)(&(*yyvalp))) = psi_impl_init((*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); + (*(size_t*)(&(*yyvalp))) = 1; } -#line 4063 "src/parser_proc.c" /* glr.c:816 */ +#line 4083 "src/parser_proc.c" /* glr.c:816 */ break; - case 390: -#line 1501 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 391: +#line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */ + { + (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1; +} +#line 4091 "src/parser_proc.c" /* glr.c:816 */ + break; + + case 394: +#line 1512 "src/parser_proc_grammar.y" /* glr.c:816 */ + { + (*(struct psi_impl **)(&(*yyvalp))) = psi_impl_init((*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); +} +#line 4099 "src/parser_proc.c" /* glr.c:816 */ + break; + + case 395: +#line 1515 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl **)(&(*yyvalp))) = psi_impl_init((*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1; } -#line 4072 "src/parser_proc.c" /* glr.c:816 */ +#line 4108 "src/parser_proc.c" /* glr.c:816 */ break; - case 391: -#line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 396: +#line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, NULL, (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)); } -#line 4082 "src/parser_proc.c" /* glr.c:816 */ +#line 4118 "src/parser_proc.c" /* glr.c:816 */ break; - case 392: -#line 1513 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 397: +#line 1527 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)); } -#line 4092 "src/parser_proc.c" /* glr.c:816 */ +#line 4128 "src/parser_proc.c" /* glr.c:816 */ break; - case 393: -#line 1518 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 398: +#line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)), (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval))); @@ -4100,470 +4136,470 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_impl_func **)(&(*yyvalp)))->vararg = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)), psi_impl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))), NULL); (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 4104 "src/parser_proc.c" /* glr.c:816 */ +#line 4140 "src/parser_proc.c" /* glr.c:816 */ break; - case 394: -#line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 399: +#line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_arg_free), &(*(struct psi_impl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4112 "src/parser_proc.c" /* glr.c:816 */ +#line 4148 "src/parser_proc.c" /* glr.c:816 */ break; - case 395: -#line 1531 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 400: +#line 1545 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_impl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4120 "src/parser_proc.c" /* glr.c:816 */ +#line 4156 "src/parser_proc.c" /* glr.c:816 */ break; - case 396: -#line 1537 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 401: +#line 1551 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_arg **)(&(*yyvalp))) = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); } -#line 4128 "src/parser_proc.c" /* glr.c:816 */ +#line 4164 "src/parser_proc.c" /* glr.c:816 */ break; - case 397: -#line 1540 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 402: +#line 1554 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_arg **)(&(*yyvalp))) = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_impl_def_val **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4136 "src/parser_proc.c" /* glr.c:816 */ +#line 4172 "src/parser_proc.c" /* glr.c:816 */ break; - case 398: -#line 1546 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 403: +#line 1560 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_var **)(&(*yyvalp))) = psi_impl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4145 "src/parser_proc.c" /* glr.c:816 */ +#line 4181 "src/parser_proc.c" /* glr.c:816 */ break; - case 399: -#line 1553 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 404: +#line 1567 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_impl_type **)(&(*yyvalp))) = psi_impl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4154 "src/parser_proc.c" /* glr.c:816 */ +#line 4190 "src/parser_proc.c" /* glr.c:816 */ break; - case 409: -#line 1572 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 414: +#line 1586 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_stmt_free), &(*(struct psi_token ***)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4162 "src/parser_proc.c" /* glr.c:816 */ +#line 4198 "src/parser_proc.c" /* glr.c:816 */ break; - case 410: -#line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 415: +#line 1589 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &(*(struct psi_token ***)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4170 "src/parser_proc.c" /* glr.c:816 */ +#line 4206 "src/parser_proc.c" /* glr.c:816 */ break; - case 411: -#line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 416: +#line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4178 "src/parser_proc.c" /* glr.c:816 */ +#line 4214 "src/parser_proc.c" /* glr.c:816 */ break; - case 412: -#line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 417: +#line 1598 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4186 "src/parser_proc.c" /* glr.c:816 */ +#line 4222 "src/parser_proc.c" /* glr.c:816 */ break; - case 413: -#line 1587 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 418: +#line 1601 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4194 "src/parser_proc.c" /* glr.c:816 */ +#line 4230 "src/parser_proc.c" /* glr.c:816 */ break; - case 414: -#line 1590 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 419: +#line 1604 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4202 "src/parser_proc.c" /* glr.c:816 */ +#line 4238 "src/parser_proc.c" /* glr.c:816 */ break; - case 415: -#line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 420: +#line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4210 "src/parser_proc.c" /* glr.c:816 */ +#line 4246 "src/parser_proc.c" /* glr.c:816 */ break; - case 416: -#line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 421: +#line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4219 "src/parser_proc.c" /* glr.c:816 */ +#line 4255 "src/parser_proc.c" /* glr.c:816 */ break; - case 417: -#line 1603 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 422: +#line 1617 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init(psi_let_exp_init_ex((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), PSI_LET_TMP, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)))); (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 4229 "src/parser_proc.c" /* glr.c:816 */ +#line 4265 "src/parser_proc.c" /* glr.c:816 */ break; - case 419: -#line 1612 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 424: +#line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true; } -#line 4238 "src/parser_proc.c" /* glr.c:816 */ +#line 4274 "src/parser_proc.c" /* glr.c:816 */ break; - case 420: -#line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 425: +#line 1630 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false; } -#line 4247 "src/parser_proc.c" /* glr.c:816 */ +#line 4283 "src/parser_proc.c" /* glr.c:816 */ break; - case 421: -#line 1623 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 426: +#line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL); } -#line 4255 "src/parser_proc.c" /* glr.c:816 */ +#line 4291 "src/parser_proc.c" /* glr.c:816 */ break; - case 422: -#line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 427: +#line 1640 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4263 "src/parser_proc.c" /* glr.c:816 */ +#line 4299 "src/parser_proc.c" /* glr.c:816 */ break; - case 423: -#line 1629 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 428: +#line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1; } -#line 4272 "src/parser_proc.c" /* glr.c:816 */ +#line 4308 "src/parser_proc.c" /* glr.c:816 */ break; - case 424: -#line 1633 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 429: +#line 1647 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4280 "src/parser_proc.c" /* glr.c:816 */ +#line 4316 "src/parser_proc.c" /* glr.c:816 */ break; - case 425: -#line 1636 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 430: +#line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init_ex(NULL, PSI_LET_FUNC, (*(struct psi_let_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4288 "src/parser_proc.c" /* glr.c:816 */ +#line 4324 "src/parser_proc.c" /* glr.c:816 */ break; - case 426: -#line 1639 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 431: +#line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init_ex(NULL, PSI_LET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4296 "src/parser_proc.c" /* glr.c:816 */ +#line 4332 "src/parser_proc.c" /* glr.c:816 */ break; - case 427: -#line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 432: +#line 1659 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 4305 "src/parser_proc.c" /* glr.c:816 */ +#line 4341 "src/parser_proc.c" /* glr.c:816 */ break; - case 428: -#line 1649 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 433: +#line 1663 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1; (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); } -#line 4315 "src/parser_proc.c" /* glr.c:816 */ +#line 4351 "src/parser_proc.c" /* glr.c:816 */ break; - case 429: -#line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 434: +#line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_calloc **)(&(*yyvalp))) = psi_let_calloc_init((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); } -#line 4324 "src/parser_proc.c" /* glr.c:816 */ +#line 4360 "src/parser_proc.c" /* glr.c:816 */ break; - case 430: -#line 1664 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 435: +#line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_callback **)(&(*yyvalp))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval))); } -#line 4334 "src/parser_proc.c" /* glr.c:816 */ +#line 4370 "src/parser_proc.c" /* glr.c:816 */ break; - case 431: -#line 1672 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 436: +#line 1686 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_let_func **)(&(*yyvalp))) = psi_let_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 4344 "src/parser_proc.c" /* glr.c:816 */ +#line 4380 "src/parser_proc.c" /* glr.c:816 */ break; - case 442: -#line 1693 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 447: +#line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 4352 "src/parser_proc.c" /* glr.c:816 */ +#line 4388 "src/parser_proc.c" /* glr.c:816 */ break; - case 443: -#line 1696 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 448: +#line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4360 "src/parser_proc.c" /* glr.c:816 */ +#line 4396 "src/parser_proc.c" /* glr.c:816 */ break; - case 444: -#line 1702 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 449: +#line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_let_exp_free), &(*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4368 "src/parser_proc.c" /* glr.c:816 */ +#line 4404 "src/parser_proc.c" /* glr.c:816 */ break; - case 445: -#line 1705 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 450: +#line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4376 "src/parser_proc.c" /* glr.c:816 */ +#line 4412 "src/parser_proc.c" /* glr.c:816 */ break; - case 448: -#line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 453: +#line 1730 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 4384 "src/parser_proc.c" /* glr.c:816 */ +#line 4420 "src/parser_proc.c" /* glr.c:816 */ break; - case 449: -#line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 454: +#line 1733 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4392 "src/parser_proc.c" /* glr.c:816 */ +#line 4428 "src/parser_proc.c" /* glr.c:816 */ break; - case 450: -#line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 455: +#line 1739 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4400 "src/parser_proc.c" /* glr.c:816 */ +#line 4436 "src/parser_proc.c" /* glr.c:816 */ break; - case 451: -#line 1728 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 456: +#line 1742 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4408 "src/parser_proc.c" /* glr.c:816 */ +#line 4444 "src/parser_proc.c" /* glr.c:816 */ break; - case 452: -#line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 457: +#line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init(psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)))); (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4417 "src/parser_proc.c" /* glr.c:816 */ +#line 4453 "src/parser_proc.c" /* glr.c:816 */ break; - case 453: -#line 1741 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 458: +#line 1755 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4426 "src/parser_proc.c" /* glr.c:816 */ +#line 4462 "src/parser_proc.c" /* glr.c:816 */ break; - case 454: -#line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 459: +#line 1762 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4434 "src/parser_proc.c" /* glr.c:816 */ +#line 4470 "src/parser_proc.c" /* glr.c:816 */ break; - case 455: -#line 1751 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 460: +#line 1765 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4442 "src/parser_proc.c" /* glr.c:816 */ +#line 4478 "src/parser_proc.c" /* glr.c:816 */ break; - case 456: -#line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 461: +#line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 4451 "src/parser_proc.c" /* glr.c:816 */ +#line 4487 "src/parser_proc.c" /* glr.c:816 */ break; - case 457: -#line 1761 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 462: +#line 1775 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_func **)(&(*yyvalp))) = psi_set_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 4461 "src/parser_proc.c" /* glr.c:816 */ +#line 4497 "src/parser_proc.c" /* glr.c:816 */ break; - case 458: -#line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 463: +#line 1780 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_set_func **)(&(*yyvalp))) = psi_set_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->text, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1; } -#line 4471 "src/parser_proc.c" /* glr.c:816 */ +#line 4507 "src/parser_proc.c" /* glr.c:816 */ break; - case 467: -#line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 472: +#line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 4479 "src/parser_proc.c" /* glr.c:816 */ +#line 4515 "src/parser_proc.c" /* glr.c:816 */ break; - case 468: -#line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 473: +#line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 4487 "src/parser_proc.c" /* glr.c:816 */ +#line 4523 "src/parser_proc.c" /* glr.c:816 */ break; - case 469: -#line 1794 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 474: +#line 1808 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4495 "src/parser_proc.c" /* glr.c:816 */ +#line 4531 "src/parser_proc.c" /* glr.c:816 */ break; - case 470: -#line 1797 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 475: +#line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4503 "src/parser_proc.c" /* glr.c:816 */ +#line 4539 "src/parser_proc.c" /* glr.c:816 */ break; - case 471: -#line 1803 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 476: +#line 1817 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_assert_stmt **)(&(*yyvalp))) = psi_assert_stmt_init((enum psi_assert_kind) (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4512 "src/parser_proc.c" /* glr.c:816 */ +#line 4548 "src/parser_proc.c" /* glr.c:816 */ break; - case 474: -#line 1815 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 479: +#line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4521 "src/parser_proc.c" /* glr.c:816 */ +#line 4557 "src/parser_proc.c" /* glr.c:816 */ break; - case 475: -#line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 480: +#line 1836 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_free_exp_free), &(*(struct psi_free_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4529 "src/parser_proc.c" /* glr.c:816 */ +#line 4565 "src/parser_proc.c" /* glr.c:816 */ break; - case 476: -#line 1825 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 481: +#line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_free_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4537 "src/parser_proc.c" /* glr.c:816 */ +#line 4573 "src/parser_proc.c" /* glr.c:816 */ break; - case 477: -#line 1831 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 482: +#line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_free_exp **)(&(*yyvalp))) = psi_free_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 4547 "src/parser_proc.c" /* glr.c:816 */ +#line 4583 "src/parser_proc.c" /* glr.c:816 */ break; - case 478: -#line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 483: +#line 1853 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(bool*)(&(*yyvalp))) = false; } -#line 4555 "src/parser_proc.c" /* glr.c:816 */ +#line 4591 "src/parser_proc.c" /* glr.c:816 */ break; - case 479: -#line 1842 "src/parser_proc_grammar.y" /* glr.c:816 */ + case 484: +#line 1856 "src/parser_proc_grammar.y" /* glr.c:816 */ { (*(bool*)(&(*yyvalp))) = true; } -#line 4563 "src/parser_proc.c" /* glr.c:816 */ +#line 4599 "src/parser_proc.c" /* glr.c:816 */ break; -#line 4567 "src/parser_proc.c" /* glr.c:816 */ +#line 4603 "src/parser_proc.c" /* glr.c:816 */ default: break; } @@ -4614,667 +4650,667 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser case 133: /* binary_op_token */ #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4618 "src/parser_proc.c" /* glr.c:846 */ +#line 4654 "src/parser_proc.c" /* glr.c:846 */ break; case 134: /* unary_op_token */ #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4624 "src/parser_proc.c" /* glr.c:846 */ +#line 4660 "src/parser_proc.c" /* glr.c:846 */ break; case 135: /* name_token */ #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4630 "src/parser_proc.c" /* glr.c:846 */ +#line 4666 "src/parser_proc.c" /* glr.c:846 */ break; case 136: /* any_noeol_token */ #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4636 "src/parser_proc.c" /* glr.c:846 */ +#line 4672 "src/parser_proc.c" /* glr.c:846 */ break; case 140: /* lib */ #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4642 "src/parser_proc.c" /* glr.c:846 */ +#line 4678 "src/parser_proc.c" /* glr.c:846 */ break; case 141: /* cpp */ #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 4648 "src/parser_proc.c" /* glr.c:846 */ +#line 4684 "src/parser_proc.c" /* glr.c:846 */ break; case 142: /* cpp_exp */ #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 4654 "src/parser_proc.c" /* glr.c:846 */ +#line 4690 "src/parser_proc.c" /* glr.c:846 */ break; case 144: /* cpp_message_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4660 "src/parser_proc.c" /* glr.c:846 */ +#line 4696 "src/parser_proc.c" /* glr.c:846 */ break; case 145: /* cpp_include_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4666 "src/parser_proc.c" /* glr.c:846 */ +#line 4702 "src/parser_proc.c" /* glr.c:846 */ break; case 146: /* cpp_header_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4672 "src/parser_proc.c" /* glr.c:846 */ +#line 4708 "src/parser_proc.c" /* glr.c:846 */ break; case 147: /* cpp_no_arg_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4678 "src/parser_proc.c" /* glr.c:846 */ +#line 4714 "src/parser_proc.c" /* glr.c:846 */ break; case 148: /* cpp_name_arg_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4684 "src/parser_proc.c" /* glr.c:846 */ +#line 4720 "src/parser_proc.c" /* glr.c:846 */ break; case 149: /* cpp_exp_arg_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4690 "src/parser_proc.c" /* glr.c:846 */ +#line 4726 "src/parser_proc.c" /* glr.c:846 */ break; case 150: /* cpp_special_name_token */ #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4696 "src/parser_proc.c" /* glr.c:846 */ +#line 4732 "src/parser_proc.c" /* glr.c:846 */ break; case 151: /* cpp_macro_decl */ #line 269 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));} -#line 4702 "src/parser_proc.c" /* glr.c:846 */ +#line 4738 "src/parser_proc.c" /* glr.c:846 */ break; case 152: /* cpp_macro_sig */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4708 "src/parser_proc.c" /* glr.c:846 */ +#line 4744 "src/parser_proc.c" /* glr.c:846 */ break; case 153: /* cpp_macro_sig_args */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4714 "src/parser_proc.c" /* glr.c:846 */ +#line 4750 "src/parser_proc.c" /* glr.c:846 */ break; case 154: /* cpp_macro_decl_tokens */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4720 "src/parser_proc.c" /* glr.c:846 */ +#line 4756 "src/parser_proc.c" /* glr.c:846 */ break; case 155: /* cpp_macro_decl_token_list */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4726 "src/parser_proc.c" /* glr.c:846 */ +#line 4762 "src/parser_proc.c" /* glr.c:846 */ break; case 156: /* cpp_macro_exp */ #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 4732 "src/parser_proc.c" /* glr.c:846 */ +#line 4768 "src/parser_proc.c" /* glr.c:846 */ break; case 157: /* cpp_macro_call_args */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4738 "src/parser_proc.c" /* glr.c:846 */ +#line 4774 "src/parser_proc.c" /* glr.c:846 */ break; case 158: /* cpp_macro_call_arg_list */ #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4744 "src/parser_proc.c" /* glr.c:846 */ +#line 4780 "src/parser_proc.c" /* glr.c:846 */ break; case 159: /* constant */ #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));} -#line 4750 "src/parser_proc.c" /* glr.c:846 */ +#line 4786 "src/parser_proc.c" /* glr.c:846 */ break; case 160: /* constant_type */ #line 281 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_const_type_free(&(*(struct psi_const_type **)(&(*yyvaluep))));} -#line 4756 "src/parser_proc.c" /* glr.c:846 */ +#line 4792 "src/parser_proc.c" /* glr.c:846 */ break; case 161: /* constant_type_token */ #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4762 "src/parser_proc.c" /* glr.c:846 */ +#line 4798 "src/parser_proc.c" /* glr.c:846 */ break; case 162: /* impl_def_val */ #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));} -#line 4768 "src/parser_proc.c" /* glr.c:846 */ +#line 4804 "src/parser_proc.c" /* glr.c:846 */ break; case 163: /* impl_def_val_token */ #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4774 "src/parser_proc.c" /* glr.c:846 */ +#line 4810 "src/parser_proc.c" /* glr.c:846 */ break; case 164: /* decl_typedef */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4780 "src/parser_proc.c" /* glr.c:846 */ +#line 4816 "src/parser_proc.c" /* glr.c:846 */ break; case 165: /* typedef */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4786 "src/parser_proc.c" /* glr.c:846 */ +#line 4822 "src/parser_proc.c" /* glr.c:846 */ break; case 166: /* const_decl_type */ #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 4792 "src/parser_proc.c" /* glr.c:846 */ +#line 4828 "src/parser_proc.c" /* glr.c:846 */ break; case 167: /* decl_type */ #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 4798 "src/parser_proc.c" /* glr.c:846 */ +#line 4834 "src/parser_proc.c" /* glr.c:846 */ break; case 168: /* decl_type_complex */ #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 4804 "src/parser_proc.c" /* glr.c:846 */ +#line 4840 "src/parser_proc.c" /* glr.c:846 */ break; case 169: /* decl_type_simple */ #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4810 "src/parser_proc.c" /* glr.c:846 */ +#line 4846 "src/parser_proc.c" /* glr.c:846 */ break; case 170: /* decl_real_type */ #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4816 "src/parser_proc.c" /* glr.c:846 */ +#line 4852 "src/parser_proc.c" /* glr.c:846 */ break; case 171: /* decl_stdint_type */ #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4822 "src/parser_proc.c" /* glr.c:846 */ +#line 4858 "src/parser_proc.c" /* glr.c:846 */ break; case 172: /* int_signed */ #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4828 "src/parser_proc.c" /* glr.c:846 */ +#line 4864 "src/parser_proc.c" /* glr.c:846 */ break; case 173: /* int_width */ #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4834 "src/parser_proc.c" /* glr.c:846 */ +#line 4870 "src/parser_proc.c" /* glr.c:846 */ break; case 174: /* decl_int_type */ #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4840 "src/parser_proc.c" /* glr.c:846 */ +#line 4876 "src/parser_proc.c" /* glr.c:846 */ break; case 175: /* int_signed_types */ #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4846 "src/parser_proc.c" /* glr.c:846 */ +#line 4882 "src/parser_proc.c" /* glr.c:846 */ break; case 176: /* signed_short_types */ #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4852 "src/parser_proc.c" /* glr.c:846 */ +#line 4888 "src/parser_proc.c" /* glr.c:846 */ break; case 177: /* signed_long_types */ #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 4858 "src/parser_proc.c" /* glr.c:846 */ +#line 4894 "src/parser_proc.c" /* glr.c:846 */ break; case 178: /* int_width_types */ #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 4864 "src/parser_proc.c" /* glr.c:846 */ +#line 4900 "src/parser_proc.c" /* glr.c:846 */ break; case 179: /* decl_stmt */ #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 4870 "src/parser_proc.c" /* glr.c:846 */ +#line 4906 "src/parser_proc.c" /* glr.c:846 */ break; case 185: /* decl_vars */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4876 "src/parser_proc.c" /* glr.c:846 */ +#line 4912 "src/parser_proc.c" /* glr.c:846 */ break; case 186: /* decl */ #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 4882 "src/parser_proc.c" /* glr.c:846 */ +#line 4918 "src/parser_proc.c" /* glr.c:846 */ break; case 187: /* decl_body */ #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 4888 "src/parser_proc.c" /* glr.c:846 */ +#line 4924 "src/parser_proc.c" /* glr.c:846 */ break; case 188: /* decl_func_body */ #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 4894 "src/parser_proc.c" /* glr.c:846 */ +#line 4930 "src/parser_proc.c" /* glr.c:846 */ break; case 189: /* decl_functor_body */ #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 4900 "src/parser_proc.c" /* glr.c:846 */ +#line 4936 "src/parser_proc.c" /* glr.c:846 */ break; case 190: /* decl_functor */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4906 "src/parser_proc.c" /* glr.c:846 */ +#line 4942 "src/parser_proc.c" /* glr.c:846 */ break; case 191: /* decl_func */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4912 "src/parser_proc.c" /* glr.c:846 */ +#line 4948 "src/parser_proc.c" /* glr.c:846 */ break; case 192: /* decl_args */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4918 "src/parser_proc.c" /* glr.c:846 */ +#line 4954 "src/parser_proc.c" /* glr.c:846 */ break; case 193: /* decl_anon_arg */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4924 "src/parser_proc.c" /* glr.c:846 */ +#line 4960 "src/parser_proc.c" /* glr.c:846 */ break; case 194: /* decl_arg */ #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 4930 "src/parser_proc.c" /* glr.c:846 */ +#line 4966 "src/parser_proc.c" /* glr.c:846 */ break; case 195: /* decl_var */ #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));} -#line 4936 "src/parser_proc.c" /* glr.c:846 */ +#line 4972 "src/parser_proc.c" /* glr.c:846 */ break; case 196: /* decl_union */ #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));} -#line 4942 "src/parser_proc.c" /* glr.c:846 */ +#line 4978 "src/parser_proc.c" /* glr.c:846 */ break; case 197: /* decl_struct */ #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));} -#line 4948 "src/parser_proc.c" /* glr.c:846 */ +#line 4984 "src/parser_proc.c" /* glr.c:846 */ break; case 198: /* decl_struct_args */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4954 "src/parser_proc.c" /* glr.c:846 */ +#line 4990 "src/parser_proc.c" /* glr.c:846 */ break; case 199: /* struct_args_block */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4960 "src/parser_proc.c" /* glr.c:846 */ +#line 4996 "src/parser_proc.c" /* glr.c:846 */ break; case 200: /* struct_args */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4966 "src/parser_proc.c" /* glr.c:846 */ +#line 5002 "src/parser_proc.c" /* glr.c:846 */ break; case 201: /* struct_arg_var_list */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4972 "src/parser_proc.c" /* glr.c:846 */ +#line 5008 "src/parser_proc.c" /* glr.c:846 */ break; case 202: /* decl_vars_with_layout */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4978 "src/parser_proc.c" /* glr.c:846 */ +#line 5014 "src/parser_proc.c" /* glr.c:846 */ break; case 203: /* decl_enum */ #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));} -#line 4984 "src/parser_proc.c" /* glr.c:846 */ +#line 5020 "src/parser_proc.c" /* glr.c:846 */ break; case 204: /* decl_enum_items */ #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 4990 "src/parser_proc.c" /* glr.c:846 */ +#line 5026 "src/parser_proc.c" /* glr.c:846 */ break; case 205: /* decl_enum_item */ #line 306 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));} -#line 4996 "src/parser_proc.c" /* glr.c:846 */ +#line 5032 "src/parser_proc.c" /* glr.c:846 */ break; case 206: /* num_exp */ #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 5002 "src/parser_proc.c" /* glr.c:846 */ +#line 5038 "src/parser_proc.c" /* glr.c:846 */ break; case 207: /* number */ #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 5008 "src/parser_proc.c" /* glr.c:846 */ +#line 5044 "src/parser_proc.c" /* glr.c:846 */ break; case 208: /* enum_name */ #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5014 "src/parser_proc.c" /* glr.c:846 */ +#line 5050 "src/parser_proc.c" /* glr.c:846 */ break; case 209: /* union_name */ #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5020 "src/parser_proc.c" /* glr.c:846 */ +#line 5056 "src/parser_proc.c" /* glr.c:846 */ break; case 210: /* struct_name */ #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5026 "src/parser_proc.c" /* glr.c:846 */ +#line 5062 "src/parser_proc.c" /* glr.c:846 */ break; case 211: /* optional_name */ #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5032 "src/parser_proc.c" /* glr.c:846 */ +#line 5068 "src/parser_proc.c" /* glr.c:846 */ break; case 212: /* decl_layout */ #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));} -#line 5038 "src/parser_proc.c" /* glr.c:846 */ +#line 5074 "src/parser_proc.c" /* glr.c:846 */ break; case 213: /* align_and_size */ #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5044 "src/parser_proc.c" /* glr.c:846 */ +#line 5080 "src/parser_proc.c" /* glr.c:846 */ break; case 214: /* array_size */ #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5050 "src/parser_proc.c" /* glr.c:846 */ +#line 5086 "src/parser_proc.c" /* glr.c:846 */ break; case 215: /* indirection */ #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5056 "src/parser_proc.c" /* glr.c:846 */ +#line 5092 "src/parser_proc.c" /* glr.c:846 */ break; case 216: /* pointers */ #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5062 "src/parser_proc.c" /* glr.c:846 */ +#line 5098 "src/parser_proc.c" /* glr.c:846 */ break; case 217: /* asterisks */ #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5068 "src/parser_proc.c" /* glr.c:846 */ +#line 5104 "src/parser_proc.c" /* glr.c:846 */ break; - case 218: /* impl */ + case 219: /* impl */ #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));} -#line 5074 "src/parser_proc.c" /* glr.c:846 */ +#line 5110 "src/parser_proc.c" /* glr.c:846 */ break; - case 219: /* impl_func */ + case 220: /* impl_func */ #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));} -#line 5080 "src/parser_proc.c" /* glr.c:846 */ +#line 5116 "src/parser_proc.c" /* glr.c:846 */ break; - case 220: /* impl_args */ + case 221: /* impl_args */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5086 "src/parser_proc.c" /* glr.c:846 */ +#line 5122 "src/parser_proc.c" /* glr.c:846 */ break; - case 221: /* impl_arg */ + case 222: /* impl_arg */ #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));} -#line 5092 "src/parser_proc.c" /* glr.c:846 */ +#line 5128 "src/parser_proc.c" /* glr.c:846 */ break; - case 222: /* impl_var */ + case 223: /* impl_var */ #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));} -#line 5098 "src/parser_proc.c" /* glr.c:846 */ +#line 5134 "src/parser_proc.c" /* glr.c:846 */ break; - case 223: /* impl_type */ + case 224: /* impl_type */ #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));} -#line 5104 "src/parser_proc.c" /* glr.c:846 */ +#line 5140 "src/parser_proc.c" /* glr.c:846 */ break; - case 224: /* impl_type_token */ + case 225: /* impl_type_token */ #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5110 "src/parser_proc.c" /* glr.c:846 */ +#line 5146 "src/parser_proc.c" /* glr.c:846 */ break; - case 225: /* impl_stmts */ + case 226: /* impl_stmts */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5116 "src/parser_proc.c" /* glr.c:846 */ +#line 5152 "src/parser_proc.c" /* glr.c:846 */ break; - case 226: /* impl_stmt */ + case 227: /* impl_stmt */ #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));} -#line 5122 "src/parser_proc.c" /* glr.c:846 */ +#line 5158 "src/parser_proc.c" /* glr.c:846 */ break; - case 227: /* let_stmt */ + case 228: /* let_stmt */ #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));} -#line 5128 "src/parser_proc.c" /* glr.c:846 */ +#line 5164 "src/parser_proc.c" /* glr.c:846 */ break; - case 228: /* let_exp */ + case 229: /* let_exp */ #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 5134 "src/parser_proc.c" /* glr.c:846 */ +#line 5170 "src/parser_proc.c" /* glr.c:846 */ break; - case 229: /* let_exp_byref */ + case 230: /* let_exp_byref */ #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 5140 "src/parser_proc.c" /* glr.c:846 */ +#line 5176 "src/parser_proc.c" /* glr.c:846 */ break; - case 230: /* let_exp_assign */ + case 231: /* let_exp_assign */ #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 5146 "src/parser_proc.c" /* glr.c:846 */ +#line 5182 "src/parser_proc.c" /* glr.c:846 */ break; - case 231: /* let_calloc */ + case 232: /* let_calloc */ #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));} -#line 5152 "src/parser_proc.c" /* glr.c:846 */ +#line 5188 "src/parser_proc.c" /* glr.c:846 */ break; - case 232: /* let_callback */ + case 233: /* let_callback */ #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));} -#line 5158 "src/parser_proc.c" /* glr.c:846 */ +#line 5194 "src/parser_proc.c" /* glr.c:846 */ break; - case 233: /* let_func */ + case 234: /* let_func */ #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));} -#line 5164 "src/parser_proc.c" /* glr.c:846 */ +#line 5200 "src/parser_proc.c" /* glr.c:846 */ break; - case 234: /* let_func_token */ + case 235: /* let_func_token */ #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5170 "src/parser_proc.c" /* glr.c:846 */ +#line 5206 "src/parser_proc.c" /* glr.c:846 */ break; - case 235: /* let_func_exps */ + case 236: /* let_func_exps */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5176 "src/parser_proc.c" /* glr.c:846 */ +#line 5212 "src/parser_proc.c" /* glr.c:846 */ break; - case 236: /* let_exps */ + case 237: /* let_exps */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5182 "src/parser_proc.c" /* glr.c:846 */ +#line 5218 "src/parser_proc.c" /* glr.c:846 */ break; - case 237: /* callback_rval */ + case 238: /* callback_rval */ #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5188 "src/parser_proc.c" /* glr.c:846 */ +#line 5224 "src/parser_proc.c" /* glr.c:846 */ break; - case 238: /* callback_arg_list */ + case 239: /* callback_arg_list */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5194 "src/parser_proc.c" /* glr.c:846 */ +#line 5230 "src/parser_proc.c" /* glr.c:846 */ break; - case 239: /* callback_args */ + case 240: /* callback_args */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5200 "src/parser_proc.c" /* glr.c:846 */ +#line 5236 "src/parser_proc.c" /* glr.c:846 */ break; - case 240: /* return_stmt */ + case 241: /* return_stmt */ #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));} -#line 5206 "src/parser_proc.c" /* glr.c:846 */ +#line 5242 "src/parser_proc.c" /* glr.c:846 */ break; - case 241: /* set_stmt */ + case 242: /* set_stmt */ #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));} -#line 5212 "src/parser_proc.c" /* glr.c:846 */ +#line 5248 "src/parser_proc.c" /* glr.c:846 */ break; - case 242: /* set_exp */ + case 243: /* set_exp */ #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));} -#line 5218 "src/parser_proc.c" /* glr.c:846 */ +#line 5254 "src/parser_proc.c" /* glr.c:846 */ break; - case 243: /* set_func */ + case 244: /* set_func */ #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));} -#line 5224 "src/parser_proc.c" /* glr.c:846 */ +#line 5260 "src/parser_proc.c" /* glr.c:846 */ break; - case 244: /* set_func_token */ + case 245: /* set_func_token */ #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5230 "src/parser_proc.c" /* glr.c:846 */ +#line 5266 "src/parser_proc.c" /* glr.c:846 */ break; - case 245: /* set_func_exps */ + case 246: /* set_func_exps */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5236 "src/parser_proc.c" /* glr.c:846 */ +#line 5272 "src/parser_proc.c" /* glr.c:846 */ break; - case 246: /* set_exps */ + case 247: /* set_exps */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5242 "src/parser_proc.c" /* glr.c:846 */ +#line 5278 "src/parser_proc.c" /* glr.c:846 */ break; - case 247: /* assert_stmt */ + case 248: /* assert_stmt */ #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));} -#line 5248 "src/parser_proc.c" /* glr.c:846 */ +#line 5284 "src/parser_proc.c" /* glr.c:846 */ break; - case 248: /* assert_stmt_token */ + case 249: /* assert_stmt_token */ #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 5254 "src/parser_proc.c" /* glr.c:846 */ +#line 5290 "src/parser_proc.c" /* glr.c:846 */ break; - case 249: /* free_stmt */ + case 250: /* free_stmt */ #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));} -#line 5260 "src/parser_proc.c" /* glr.c:846 */ +#line 5296 "src/parser_proc.c" /* glr.c:846 */ break; - case 250: /* free_exps */ + case 251: /* free_exps */ #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 5266 "src/parser_proc.c" /* glr.c:846 */ +#line 5302 "src/parser_proc.c" /* glr.c:846 */ break; - case 251: /* free_exp */ + case 252: /* free_exp */ #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */ {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));} -#line 5272 "src/parser_proc.c" /* glr.c:846 */ +#line 5308 "src/parser_proc.c" /* glr.c:846 */ break; - case 252: /* reference */ + case 253: /* reference */ #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */ {} -#line 5278 "src/parser_proc.c" /* glr.c:846 */ +#line 5314 "src/parser_proc.c" /* glr.c:846 */ break; @@ -5331,7 +5367,7 @@ yylhsNonterm (yyRuleNum yyrule) } #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-550))) + (!!((Yystate) == (-565))) /** True iff LR state YYSTATE has only a default reduction (regardless * of token). */ @@ -6627,7 +6663,7 @@ yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index) { } -#line 6631 "src/parser_proc.c" /* glr.c:2270 */ +#line 6667 "src/parser_proc.c" /* glr.c:2270 */ if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; @@ -6933,7 +6969,7 @@ yypdumpstack (yyGLRStack* yystackp) #define yydebug psi_parser_proc_debug #define yynerrs psi_parser_proc_nerrs -#line 1851 "src/parser_proc_grammar.y" /* glr.c:2584 */ +#line 1865 "src/parser_proc_grammar.y" /* glr.c:2584 */ /* epilogue */ diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index a473693..4b09963 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -559,7 +559,13 @@ cpp_macro_sig[sig]: %empty { $sig = psi_plist_init(NULL); } +| ELLIPSIS { + $sig = psi_plist_init(NULL); /* FIXME */ +} | cpp_macro_sig_args +| cpp_macro_sig_args[args] COMMA ELLIPSIS { + $sig = $args; +} ; cpp_macro_sig_args[args]: @@ -1458,6 +1464,9 @@ array_size[as]: %empty { $as = 0; } +| LBRACKET RBRACKET { + $as = 0; +} | LBRACKET NUMBER RBRACKET { $as = atol($NUMBER->text); } @@ -1480,14 +1489,19 @@ pointers[p]: ; asterisks[a]: - ASTERISK { + asterisk { $a = 1; } -| asterisks[a_] ASTERISK { +| asterisks[a_] asterisk { $a = $a_ + 1; } ; +asterisk: + ASTERISK +| ASTERISK CONST +; + /* * * impl diff --git a/src/types/cpp_exp.c b/src/types/cpp_exp.c index d4bb9bb..6e01843 100644 --- a/src/types/cpp_exp.c +++ b/src/types/cpp_exp.c @@ -302,21 +302,21 @@ void psi_cpp_exp_exec(struct psi_cpp_exp *exp, struct psi_cpp *cpp, struct psi_d break; case PSI_T_INCLUDE: if (!cpp->skip) { - if (!psi_cpp_include(cpp, exp->data.tok->text, PSI_CPP_INCLUDE)) { + if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE)) { D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text); } } break; case PSI_T_INCLUDE_NEXT: if (!cpp->skip) { - if (!psi_cpp_include(cpp, exp->data.tok->text, PSI_CPP_INCLUDE_NEXT)) { + if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE_NEXT)) { D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text); } } break; case PSI_T_IMPORT: if (!cpp->skip) { - if (!psi_cpp_include(cpp, exp->data.tok->text, PSI_CPP_INCLUDE_ONCE)) { + if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE_ONCE)) { D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text); } } -- 2.30.2