diff options
Diffstat (limited to 'src/prebuilt/wasm-ast-lexer-gen.c')
-rw-r--r-- | src/prebuilt/wasm-ast-lexer-gen.c | 7880 |
1 files changed, 4344 insertions, 3536 deletions
diff --git a/src/prebuilt/wasm-ast-lexer-gen.c b/src/prebuilt/wasm-ast-lexer-gen.c index 3bd942cb..d42e5ac8 100644 --- a/src/prebuilt/wasm-ast-lexer-gen.c +++ b/src/prebuilt/wasm-ast-lexer-gen.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.16 */ #line 1 "src/wasm-ast-lexer.c" /* * Copyright 2016 WebAssembly Community Group participants @@ -201,66 +201,64 @@ int wasm_ast_lexer_lex(WASM_AST_PARSER_STYPE* lval, } /* *********************************** */ YYCOND_BAD_TEXT: - if ((lexer->limit - lexer->cursor) < 3) FILL(3); yych = *lexer->cursor; if (yych <= '!') { if (yych <= '\t') { - if (yych >= 0x01) goto yy4; + if (yych >= 0x01) goto yy5; } else { - if (yych <= '\n') goto yy6; - if (yych <= 0x1F) goto yy4; - goto yy8; + if (yych <= '\n') goto yy7; + if (yych <= 0x1F) goto yy5; + goto yy9; } } else { if (yych <= '\\') { - if (yych <= '"') goto yy10; - if (yych <= '[') goto yy8; - goto yy12; + if (yych <= '"') goto yy11; + if (yych <= '[') goto yy9; + goto yy13; } else { - if (yych == 0x7F) goto yy4; - goto yy8; + if (yych == 0x7F) goto yy5; + goto yy9; } } ++lexer->cursor; -#line 233 "src/wasm-ast-lexer.c" +#line 235 "src/wasm-ast-lexer.c" { ERROR("unexpected EOF"); RETURN(EOF); } -#line 229 "src/prebuilt/wasm-ast-lexer-gen.c" -yy4: - ++lexer->cursor; +#line 228 "src/prebuilt/wasm-ast-lexer-gen.c" yy5: -#line 234 "src/wasm-ast-lexer.c" - { ERROR("illegal character in string"); continue; } -#line 235 "src/prebuilt/wasm-ast-lexer-gen.c" + ++lexer->cursor; yy6: +#line 236 "src/wasm-ast-lexer.c" + { ERROR("illegal character in string"); continue; } +#line 234 "src/prebuilt/wasm-ast-lexer-gen.c" +yy7: ++lexer->cursor; BEGIN(YYCOND_i); -#line 229 "src/wasm-ast-lexer.c" +#line 231 "src/wasm-ast-lexer.c" { ERROR("newline in string"); NEWLINE; continue; } -#line 241 "src/prebuilt/wasm-ast-lexer-gen.c" -yy8: - ++lexer->cursor; +#line 240 "src/prebuilt/wasm-ast-lexer-gen.c" yy9: -#line 228 "src/wasm-ast-lexer.c" + ++lexer->cursor; +#line 230 "src/wasm-ast-lexer.c" { continue; } -#line 247 "src/prebuilt/wasm-ast-lexer-gen.c" -yy10: +#line 245 "src/prebuilt/wasm-ast-lexer-gen.c" +yy11: ++lexer->cursor; BEGIN(YYCOND_i); -#line 232 "src/wasm-ast-lexer.c" +#line 234 "src/wasm-ast-lexer.c" { TEXT; RETURN(TEXT); } -#line 253 "src/prebuilt/wasm-ast-lexer-gen.c" -yy12: +#line 251 "src/prebuilt/wasm-ast-lexer-gen.c" +yy13: yych = *++lexer->cursor; if (yych <= '@') { if (yych <= '"') { - if (yych == '\n') goto yy5; - if (yych >= '"') goto yy15; + if (yych == '\n') goto yy6; + if (yych >= '"') goto yy9; } else { if (yych <= '\'') { - if (yych >= '\'') goto yy15; + if (yych >= '\'') goto yy9; } else { - if (yych <= '/') goto yy13; + if (yych <= '/') goto yy14; if (yych <= '9') goto yy16; } } @@ -269,88 +267,85 @@ yy12: if (yych <= '[') { if (yych <= 'F') goto yy16; } else { - if (yych <= '\\') goto yy15; + if (yych <= '\\') goto yy9; if (yych >= 'a') goto yy16; } } else { if (yych <= 'n') { - if (yych >= 'n') goto yy15; + if (yych >= 'n') goto yy9; } else { - if (yych == 't') goto yy15; + if (yych == 't') goto yy9; } } } -yy13: - ++lexer->cursor; yy14: -#line 230 "src/wasm-ast-lexer.c" + ++lexer->cursor; +yy15: +#line 232 "src/wasm-ast-lexer.c" { ERROR("bad escape \"%.*s\"", (int)yyleng, yytext); continue; } -#line 290 "src/prebuilt/wasm-ast-lexer-gen.c" -yy15: - yych = *++lexer->cursor; - goto yy9; +#line 288 "src/prebuilt/wasm-ast-lexer-gen.c" yy16: - yych = *++lexer->cursor; - if (yych <= '@') { - if (yych <= '/') goto yy14; - if (yych >= ':') goto yy14; + ++lexer->cursor; + if ((yych = *lexer->cursor) <= '@') { + if (yych <= '/') goto yy15; + if (yych <= '9') goto yy9; + goto yy15; } else { - if (yych <= 'F') goto yy17; - if (yych <= '`') goto yy14; - if (yych >= 'g') goto yy14; + if (yych <= 'F') goto yy9; + if (yych <= '`') goto yy15; + if (yych <= 'f') goto yy9; + goto yy15; } -yy17: - ++lexer->cursor; - yych = *lexer->cursor; - goto yy9; /* *********************************** */ YYCOND_BLOCK_COMMENT: if ((lexer->limit - lexer->cursor) < 2) FILL(2); yych = *lexer->cursor; if (yych <= '\'') { - if (yych <= 0x00) goto yy20; - if (yych == '\n') goto yy24; - goto yy22; + if (yych <= 0x00) goto yy19; + if (yych == '\n') goto yy23; + goto yy21; } else { - if (yych <= '(') goto yy26; - if (yych == ';') goto yy27; - goto yy22; + if (yych <= '(') goto yy25; + if (yych == ';') goto yy26; + goto yy21; } -yy20: +yy19: ++lexer->cursor; -#line 440 "src/wasm-ast-lexer.c" +#line 442 "src/wasm-ast-lexer.c" { ERROR("unexpected EOF"); RETURN(EOF); } -#line 325 "src/prebuilt/wasm-ast-lexer-gen.c" -yy22: +#line 318 "src/prebuilt/wasm-ast-lexer-gen.c" +yy21: ++lexer->cursor; -yy23: -#line 441 "src/wasm-ast-lexer.c" +yy22: +#line 443 "src/wasm-ast-lexer.c" { continue; } -#line 331 "src/prebuilt/wasm-ast-lexer-gen.c" -yy24: +#line 324 "src/prebuilt/wasm-ast-lexer-gen.c" +yy23: ++lexer->cursor; -#line 439 "src/wasm-ast-lexer.c" +#line 441 "src/wasm-ast-lexer.c" { NEWLINE; continue; } -#line 336 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 329 "src/prebuilt/wasm-ast-lexer-gen.c" +yy25: + yych = *++lexer->cursor; + if (yych == ';') goto yy27; + goto yy22; yy26: yych = *++lexer->cursor; - if (yych == ';') goto yy30; - goto yy23; + if (yych == ')') goto yy29; + goto yy22; yy27: - yych = *++lexer->cursor; - if (yych != ')') goto yy23; ++lexer->cursor; -#line 436 "src/wasm-ast-lexer.c" +#line 437 "src/wasm-ast-lexer.c" + { COMMENT_NESTING++; continue; } +#line 342 "src/prebuilt/wasm-ast-lexer-gen.c" +yy29: + ++lexer->cursor; +#line 438 "src/wasm-ast-lexer.c" { if (--COMMENT_NESTING == 0) BEGIN(YYCOND_INIT); continue; } #line 349 "src/prebuilt/wasm-ast-lexer-gen.c" -yy30: - ++lexer->cursor; -#line 435 "src/wasm-ast-lexer.c" - { COMMENT_NESTING++; continue; } -#line 354 "src/prebuilt/wasm-ast-lexer-gen.c" /* *********************************** */ YYCOND_LINE_COMMENT: { @@ -388,57 +383,51 @@ YYCOND_LINE_COMMENT: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - if ((lexer->limit - lexer->cursor) < 2) FILL(2); + if (lexer->limit <= lexer->cursor) FILL(1); yych = *lexer->cursor; - if (yych <= 0x00) goto yy35; - if (yych == '\n') goto yy37; + if (yybm[0+yych] & 128) { + goto yy34; + } goto yy36; -yy34: -#line 433 "src/wasm-ast-lexer.c" +yy33: +#line 435 "src/wasm-ast-lexer.c" { continue; } -#line 400 "src/prebuilt/wasm-ast-lexer-gen.c" -yy35: - yych = *++lexer->cursor; - goto yy40; -yy36: - yych = *++lexer->cursor; - goto yy40; -yy37: - ++lexer->cursor; - BEGIN(YYCOND_i); -#line 432 "src/wasm-ast-lexer.c" - { NEWLINE; continue; } -#line 412 "src/prebuilt/wasm-ast-lexer-gen.c" -yy39: +#line 396 "src/prebuilt/wasm-ast-lexer-gen.c" +yy34: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); yych = *lexer->cursor; -yy40: if (yybm[0+yych] & 128) { - goto yy39; + goto yy34; } - goto yy34; + goto yy33; +yy36: + ++lexer->cursor; + BEGIN(YYCOND_i); +#line 434 "src/wasm-ast-lexer.c" + { NEWLINE; continue; } +#line 410 "src/prebuilt/wasm-ast-lexer-gen.c" } /* *********************************** */ YYCOND_i: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 128, 0, 0, + 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 72, 0, 72, 72, 72, 72, 64, - 64, 64, 72, 72, 64, 72, 72, 72, - 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 72, 64, 72, 72, 72, 72, - 72, 104, 104, 104, 104, 104, 104, 72, - 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 64, 8, 64, 72, 72, - 72, 104, 104, 104, 104, 104, 104, 72, - 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 64, 72, 64, 72, 0, + 72, 80, 0, 80, 80, 80, 80, 64, + 64, 64, 80, 80, 64, 80, 80, 80, + 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 80, 64, 80, 80, 80, 80, + 80, 208, 208, 208, 208, 208, 208, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 64, 16, 64, 80, 80, + 80, 208, 208, 208, 208, 208, 208, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 64, 80, 64, 80, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, @@ -458,12 +447,14 @@ YYCOND_i: }; if ((lexer->limit - lexer->cursor) < 20) FILL(20); yych = *lexer->cursor; + if (yybm[0+yych] & 8) { + goto yy44; + } switch (yych) { - case 0x00: goto yy43; + case 0x00: goto yy40; case '\t': - case '\r': - case ' ': goto yy47; - case '\n': goto yy49; + case '\n': goto yy47; + case ' ': case '!': case '#': case '%': @@ -518,14 +509,14 @@ YYCOND_i: case 'y': case 'z': case '|': - case '~': goto yy51; - case '"': goto yy53; - case '$': goto yy55; - case '(': goto yy56; - case ')': goto yy58; + case '~': goto yy49; + case '"': goto yy52; + case '$': goto yy54; + case '(': goto yy55; + case ')': goto yy57; case '+': - case '-': goto yy60; - case '0': goto yy61; + case '-': goto yy59; + case '0': goto yy60; case '1': case '2': case '3': @@ -534,7 +525,7 @@ YYCOND_i: case '6': case '7': case '8': - case '9': goto yy63; + case '9': goto yy62; case ';': goto yy64; case 'a': goto yy65; case 'b': goto yy66; @@ -552,4633 +543,5450 @@ YYCOND_i: case 's': goto yy78; case 't': goto yy79; case 'u': goto yy80; - default: goto yy45; + default: goto yy42; } -yy43: +yy40: ++lexer->cursor; -#line 447 "src/wasm-ast-lexer.c" +#line 449 "src/wasm-ast-lexer.c" { RETURN(EOF); } -#line 562 "src/prebuilt/wasm-ast-lexer-gen.c" -yy45: +#line 553 "src/prebuilt/wasm-ast-lexer-gen.c" +yy42: ++lexer->cursor; -yy46: -#line 448 "src/wasm-ast-lexer.c" +yy43: +#line 450 "src/wasm-ast-lexer.c" { ERROR("unexpected char"); continue; } -#line 568 "src/prebuilt/wasm-ast-lexer-gen.c" -yy47: +#line 559 "src/prebuilt/wasm-ast-lexer-gen.c" +yy44: ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); yych = *lexer->cursor; - goto yy1057; -yy48: -#line 443 "src/wasm-ast-lexer.c" + if (yybm[0+yych] & 8) { + goto yy44; + } +#line 445 "src/wasm-ast-lexer.c" { continue; } -#line 576 "src/prebuilt/wasm-ast-lexer-gen.c" -yy49: +#line 569 "src/prebuilt/wasm-ast-lexer-gen.c" +yy47: ++lexer->cursor; -#line 442 "src/wasm-ast-lexer.c" +#line 444 "src/wasm-ast-lexer.c" { NEWLINE; continue; } -#line 581 "src/prebuilt/wasm-ast-lexer-gen.c" -yy51: +#line 574 "src/prebuilt/wasm-ast-lexer-gen.c" +yy49: ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); yych = *lexer->cursor; - goto yy82; -yy52: -#line 444 "src/wasm-ast-lexer.c" +yy50: + if (yybm[0+yych] & 16) { + goto yy49; + } +yy51: +#line 446 "src/wasm-ast-lexer.c" { ERROR("unexpected token \"%.*s\"", (int)yyleng, yytext); continue; } -#line 591 "src/prebuilt/wasm-ast-lexer-gen.c" -yy53: +#line 588 "src/prebuilt/wasm-ast-lexer-gen.c" +yy52: yych = *(lexer->marker = ++lexer->cursor); - if (yych <= 0x1F) goto yy54; - if (yych != 0x7F) goto yy1050; -yy54: + if (yych <= 0x1F) goto yy53; + if (yych != 0x7F) goto yy82; +yy53: BEGIN(YYCOND_BAD_TEXT); -#line 227 "src/wasm-ast-lexer.c" +#line 229 "src/wasm-ast-lexer.c" { continue; } -#line 600 "src/prebuilt/wasm-ast-lexer-gen.c" -yy55: +#line 597 "src/prebuilt/wasm-ast-lexer-gen.c" +yy54: yych = *++lexer->cursor; if (yych <= ';') { if (yych <= '&') { - if (yych == '!') goto yy1046; - if (yych <= '"') goto yy52; - goto yy1046; + if (yych == '!') goto yy87; + if (yych <= '"') goto yy51; + goto yy87; } else { if (yych <= '+') { - if (yych <= ')') goto yy52; - goto yy1046; + if (yych <= ')') goto yy51; + goto yy87; } else { - if (yych <= ',') goto yy52; - if (yych <= ':') goto yy1046; - goto yy52; + if (yych <= ',') goto yy51; + if (yych <= ':') goto yy87; + goto yy51; } } } else { if (yych <= 'z') { if (yych <= '[') { - if (yych <= 'Z') goto yy1046; - goto yy52; + if (yych <= 'Z') goto yy87; + goto yy51; } else { - if (yych == ']') goto yy52; - goto yy1046; + if (yych == ']') goto yy51; + goto yy87; } } else { if (yych <= '|') { - if (yych <= '{') goto yy52; - goto yy1046; + if (yych <= '{') goto yy51; + goto yy87; } else { - if (yych == '~') goto yy1046; - goto yy52; + if (yych == '~') goto yy87; + goto yy51; } } } -yy56: +yy55: ++lexer->cursor; - if ((yych = *lexer->cursor) == ';') goto yy1044; -#line 219 "src/wasm-ast-lexer.c" + if ((yych = *lexer->cursor) == ';') goto yy90; +#line 220 "src/wasm-ast-lexer.c" { RETURN(LPAR); } -#line 642 "src/prebuilt/wasm-ast-lexer-gen.c" -yy58: +#line 639 "src/prebuilt/wasm-ast-lexer-gen.c" +yy57: ++lexer->cursor; -#line 220 "src/wasm-ast-lexer.c" +#line 221 "src/wasm-ast-lexer.c" { RETURN(RPAR); } -#line 647 "src/prebuilt/wasm-ast-lexer-gen.c" -yy60: +#line 644 "src/prebuilt/wasm-ast-lexer-gen.c" +yy59: yych = *++lexer->cursor; if (yych <= 'h') { - if (yych <= '/') goto yy82; - if (yych <= '0') goto yy1040; - if (yych <= '9') goto yy1024; - goto yy82; + if (yych <= '/') goto yy50; + if (yych <= '0') goto yy92; + if (yych <= '9') goto yy94; + goto yy50; } else { - if (yych <= 'i') goto yy1041; - if (yych == 'n') goto yy1042; - goto yy82; + if (yych <= 'i') goto yy96; + if (yych == 'n') goto yy97; + goto yy50; } -yy61: +yy60: ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'D') { - if (yych <= ',') { + if (yybm[0+(yych = *lexer->cursor)] & 32) { + goto yy62; + } + if (yych <= 'E') { + if (yych <= '+') { if (yych <= '"') { - if (yych == '!') goto yy81; + if (yych == '!') goto yy49; } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy62; - if (yych <= '+') goto yy81; + if (yych <= '&') goto yy49; + if (yych >= '*') goto yy49; } } else { - if (yych <= '/') { - if (yych == '.') goto yy1021; - goto yy81; + if (yych <= '.') { + if (yych <= ',') goto yy61; + if (yych <= '-') goto yy49; + goto yy98; } else { - if (yych <= '9') goto yy1024; - if (yych != ';') goto yy81; + if (yych == ';') goto yy61; + if (yych <= 'D') goto yy49; + goto yy101; } } } else { - if (yych <= 'e') { - if (yych <= '[') { - if (yych <= 'E') goto yy1026; - if (yych <= 'Z') goto yy81; + if (yych <= 'w') { + if (yych <= '\\') { + if (yych != '[') goto yy49; } else { - if (yych == ']') goto yy62; - if (yych <= 'd') goto yy81; - goto yy1026; + if (yych <= ']') goto yy61; + if (yych == 'e') goto yy101; + goto yy49; } } else { if (yych <= '{') { - if (yych == 'x') goto yy1030; - if (yych <= 'z') goto yy81; + if (yych <= 'x') goto yy102; + if (yych <= 'z') goto yy49; } else { - if (yych == '}') goto yy62; - if (yych <= '~') goto yy81; + if (yych == '}') goto yy61; + if (yych <= '~') goto yy49; } } } -yy62: -#line 221 "src/wasm-ast-lexer.c" - { LITERAL(INT); RETURN(INT); } +yy61: +#line 222 "src/wasm-ast-lexer.c" + { LITERAL(INT); RETURN(NAT); } #line 703 "src/prebuilt/wasm-ast-lexer-gen.c" -yy63: - yych = *++lexer->cursor; - if (yych <= ';') { +yy62: + ++lexer->cursor; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yybm[0+yych] & 32) { + goto yy62; + } + if (yych <= 'D') { if (yych <= '+') { if (yych <= '"') { - if (yych == '!') goto yy81; - goto yy62; + if (yych == '!') goto yy49; + goto yy61; } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy62; - goto yy81; + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy61; + goto yy49; } } else { if (yych <= '.') { - if (yych <= ',') goto yy62; - if (yych <= '-') goto yy81; - goto yy1021; + if (yych <= ',') goto yy61; + if (yych <= '-') goto yy49; + goto yy98; } else { - if (yych <= '/') goto yy81; - if (yych <= '9') goto yy1024; - if (yych <= ':') goto yy81; - goto yy62; + if (yych == ';') goto yy61; + goto yy49; } } } else { if (yych <= 'd') { - if (yych <= 'Z') { - if (yych == 'E') goto yy1026; - goto yy81; + if (yych <= '[') { + if (yych <= 'E') goto yy101; + if (yych <= 'Z') goto yy49; + goto yy61; } else { - if (yych == '\\') goto yy81; - if (yych <= ']') goto yy62; - goto yy81; + if (yych == ']') goto yy61; + goto yy49; } } else { if (yych <= '{') { - if (yych <= 'e') goto yy1026; - if (yych <= 'z') goto yy81; - goto yy62; + if (yych <= 'e') goto yy101; + if (yych <= 'z') goto yy49; + goto yy61; } else { - if (yych == '}') goto yy62; - if (yych <= '~') goto yy81; - goto yy62; + if (yych == '}') goto yy61; + if (yych <= '~') goto yy49; + goto yy61; } } } yy64: yych = *++lexer->cursor; - if (yych == ';') goto yy1019; - goto yy46; + if (yych == ';') goto yy103; + goto yy43; yy65: yych = *++lexer->cursor; - if (yych == 'l') goto yy980; - if (yych == 's') goto yy981; - goto yy82; + if (yych == 'l') goto yy105; + if (yych == 's') goto yy106; + goto yy50; yy66: yych = *++lexer->cursor; - if (yych == 'l') goto yy963; - if (yych == 'r') goto yy964; - goto yy82; + if (yych == 'l') goto yy107; + if (yych == 'r') goto yy108; + goto yy50; yy67: yych = *++lexer->cursor; - if (yych == 'a') goto yy926; - if (yych == 'u') goto yy927; - goto yy82; + if (yych == 'a') goto yy110; + if (yych == 'u') goto yy111; + goto yy50; yy68: yych = *++lexer->cursor; - if (yych == 'l') goto yy916; - if (yych == 'x') goto yy917; - goto yy82; + if (yych == 'l') goto yy112; + if (yych == 'x') goto yy113; + goto yy50; yy69: yych = *++lexer->cursor; if (yych <= '5') { - if (yych == '3') goto yy622; - goto yy82; + if (yych == '3') goto yy114; + goto yy50; } else { - if (yych <= '6') goto yy623; - if (yych == 'u') goto yy624; - goto yy82; + if (yych <= '6') goto yy115; + if (yych == 'u') goto yy116; + goto yy50; } yy70: yych = *++lexer->cursor; - if (yych == 'e') goto yy602; - if (yych == 'r') goto yy603; - goto yy82; + if (yych == 'e') goto yy117; + if (yych == 'r') goto yy118; + goto yy50; yy71: yych = *++lexer->cursor; if (yych <= 'e') { if (yych <= '3') { - if (yych <= '2') goto yy82; - goto yy188; + if (yych <= '2') goto yy50; + goto yy119; } else { - if (yych == '6') goto yy189; - goto yy82; + if (yych == '6') goto yy120; + goto yy50; } } else { if (yych <= 'l') { - if (yych <= 'f') goto yy190; - goto yy82; + if (yych <= 'f') goto yy121; + goto yy50; } else { - if (yych <= 'm') goto yy192; - if (yych <= 'n') goto yy193; - goto yy82; + if (yych <= 'm') goto yy123; + if (yych <= 'n') goto yy124; + goto yy50; } } yy72: yych = *++lexer->cursor; - if (yych == 'o') goto yy180; - goto yy82; + if (yych == 'o') goto yy125; + goto yy50; yy73: yych = *++lexer->cursor; - if (yych == 'e') goto yy168; - if (yych == 'o') goto yy169; - goto yy82; + if (yych == 'e') goto yy126; + if (yych == 'o') goto yy127; + goto yy50; yy74: yych = *++lexer->cursor; - if (yych == 'a') goto yy157; - if (yych == 'o') goto yy158; - goto yy82; + if (yych == 'a') goto yy128; + if (yych == 'o') goto yy129; + goto yy50; yy75: yych = *++lexer->cursor; - if (yych == 'f') goto yy148; - goto yy82; + if (yych == 'f') goto yy130; + goto yy50; yy76: yych = *++lexer->cursor; - if (yych == 'a') goto yy143; - goto yy82; + if (yych == 'a') goto yy131; + goto yy50; yy77: yych = *++lexer->cursor; if (yych == 'e') goto yy132; - goto yy82; + goto yy50; yy78: yych = *++lexer->cursor; - if (yych == 'e') goto yy107; - if (yych == 't') goto yy108; - goto yy82; + if (yych == 'e') goto yy133; + if (yych == 't') goto yy134; + goto yy50; yy79: yych = *++lexer->cursor; if (yych <= 'g') { - if (yych == 'a') goto yy94; - goto yy82; + if (yych == 'a') goto yy135; + goto yy50; } else { - if (yych <= 'h') goto yy95; - if (yych == 'y') goto yy96; - goto yy82; + if (yych <= 'h') goto yy136; + if (yych == 'y') goto yy137; + goto yy50; } yy80: yych = *++lexer->cursor; - if (yych == 'n') goto yy83; - goto yy82; + if (yych == 'n') goto yy138; + goto yy50; yy81: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); yych = *lexer->cursor; yy82: - if (yybm[0+yych] & 8) { + if (yybm[0+yych] & 64) { goto yy81; } - goto yy52; + if (yych <= 0x1F) goto yy83; + if (yych <= '"') goto yy84; + if (yych <= '\\') goto yy86; yy83: - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'a') goto yy82; - yych = *++lexer->cursor; - if (yych != 'c') goto yy82; - yych = *++lexer->cursor; - if (yych != 'h') goto yy82; - yych = *++lexer->cursor; - if (yych != 'a') goto yy82; - yych = *++lexer->cursor; - if (yych != 'b') goto yy82; - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + lexer->cursor = lexer->marker; + goto yy53; +yy84: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; +#line 228 "src/wasm-ast-lexer.c" + { TEXT; RETURN(TEXT); } +#line 875 "src/prebuilt/wasm-ast-lexer-gen.c" +yy86: + ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= 'F') { + if (yych <= '\'') { + if (yych == '"') goto yy81; + if (yych <= '&') goto yy83; + goto yy81; + } else { + if (yych <= '/') goto yy83; + if (yych <= '9') goto yy139; + if (yych <= '@') goto yy83; + goto yy139; + } + } else { + if (yych <= 'f') { + if (yych == '\\') goto yy81; + if (yych <= '`') goto yy83; + goto yy139; + } else { + if (yych <= 'n') { + if (yych <= 'm') goto yy83; + goto yy81; + } else { + if (yych == 't') goto yy81; + goto yy83; + } + } } -#line 409 "src/wasm-ast-lexer.c" - { RETURN(UNREACHABLE); } -#line 888 "src/prebuilt/wasm-ast-lexer-gen.c" +yy87: + ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= ';') { + if (yych <= '&') { + if (yych == '!') goto yy87; + if (yych >= '#') goto yy87; + } else { + if (yych <= '+') { + if (yych >= '*') goto yy87; + } else { + if (yych <= ',') goto yy89; + if (yych <= ':') goto yy87; + } + } + } else { + if (yych <= 'z') { + if (yych <= '[') { + if (yych <= 'Z') goto yy87; + } else { + if (yych != ']') goto yy87; + } + } else { + if (yych <= '|') { + if (yych >= '|') goto yy87; + } else { + if (yych == '~') goto yy87; + } + } + } +yy89: +#line 431 "src/wasm-ast-lexer.c" + { TEXT; RETURN(VAR); } +#line 940 "src/prebuilt/wasm-ast-lexer-gen.c" +yy90: + ++lexer->cursor; + BEGIN(YYCOND_BLOCK_COMMENT); +#line 436 "src/wasm-ast-lexer.c" + { COMMENT_NESTING = 1; continue; } +#line 946 "src/prebuilt/wasm-ast-lexer-gen.c" +yy92: + ++lexer->cursor; + if ((yych = *lexer->cursor) <= 'D') { + if (yych <= ',') { + if (yych <= '"') { + if (yych == '!') goto yy49; + } else { + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy93; + if (yych <= '+') goto yy49; + } + } else { + if (yych <= '/') { + if (yych == '.') goto yy98; + goto yy49; + } else { + if (yych <= '9') goto yy94; + if (yych != ';') goto yy49; + } + } + } else { + if (yych <= 'e') { + if (yych <= '[') { + if (yych <= 'E') goto yy101; + if (yych <= 'Z') goto yy49; + } else { + if (yych == ']') goto yy93; + if (yych <= 'd') goto yy49; + goto yy101; + } + } else { + if (yych <= '{') { + if (yych == 'x') goto yy140; + if (yych <= 'z') goto yy49; + } else { + if (yych == '}') goto yy93; + if (yych <= '~') goto yy49; + } + } + } +yy93: +#line 223 "src/wasm-ast-lexer.c" + { LITERAL(INT); RETURN(INT); } +#line 990 "src/prebuilt/wasm-ast-lexer-gen.c" yy94: - yych = *++lexer->cursor; - if (yych == 'b') goto yy103; - goto yy82; -yy95: - yych = *++lexer->cursor; - if (yych == 'e') goto yy100; - goto yy82; + ++lexer->cursor; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yych <= ';') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; + goto yy93; + } else { + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy93; + goto yy49; + } + } else { + if (yych <= '.') { + if (yych <= ',') goto yy93; + if (yych <= '-') goto yy49; + goto yy98; + } else { + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy94; + if (yych <= ':') goto yy49; + goto yy93; + } + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') { + if (yych == 'E') goto yy101; + goto yy49; + } else { + if (yych == '\\') goto yy49; + if (yych <= ']') goto yy93; + goto yy49; + } + } else { + if (yych <= '{') { + if (yych <= 'e') goto yy101; + if (yych <= 'z') goto yy49; + goto yy93; + } else { + if (yych == '}') goto yy93; + if (yych <= '~') goto yy49; + goto yy93; + } + } + } yy96: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == 'n') goto yy141; + goto yy50; +yy97: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'a') goto yy128; + goto yy50; +yy98: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yych <= 'D') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; + } else { + if (yych <= '&') goto yy49; + if (yych >= '*') goto yy49; + } + } else { + if (yych <= '9') { + if (yych <= ',') goto yy100; + if (yych <= '/') goto yy49; + goto yy98; + } else { + if (yych != ';') goto yy49; + } + } + } else { + if (yych <= 'd') { + if (yych <= '[') { + if (yych <= 'E') goto yy101; + if (yych <= 'Z') goto yy49; + } else { + if (yych != ']') goto yy49; + } + } else { + if (yych <= '{') { + if (yych <= 'e') goto yy101; + if (yych <= 'z') goto yy49; + } else { + if (yych == '}') goto yy100; + if (yych <= '~') goto yy49; + } + } } -#line 412 "src/wasm-ast-lexer.c" - { RETURN(TYPE); } -#line 908 "src/prebuilt/wasm-ast-lexer-gen.c" yy100: +#line 224 "src/wasm-ast-lexer.c" + { LITERAL(FLOAT); RETURN(FLOAT); } +#line 1089 "src/prebuilt/wasm-ast-lexer-gen.c" +yy101: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yych <= ',') { + if (yych == '+') goto yy142; + goto yy50; + } else { + if (yych <= '-') goto yy142; + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy143; + goto yy50; } -#line 243 "src/wasm-ast-lexer.c" - { RETURN(THEN); } -#line 918 "src/prebuilt/wasm-ast-lexer-gen.c" +yy102: + yych = *++lexer->cursor; + if (yybm[0+yych] & 128) { + goto yy145; + } + goto yy50; yy103: + ++lexer->cursor; + BEGIN(YYCOND_LINE_COMMENT); +#line 433 "src/wasm-ast-lexer.c" + { continue; } +#line 1112 "src/prebuilt/wasm-ast-lexer-gen.c" +yy105: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'i') goto yy147; + goto yy50; +yy106: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 423 "src/wasm-ast-lexer.c" - { RETURN(TABLE); } -#line 930 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 's') goto yy148; + goto yy50; yy107: yych = *++lexer->cursor; - if (yych <= 'k') { - if (yych == 'g') goto yy115; - goto yy82; + if (yych == 'o') goto yy149; + goto yy50; +yy108: + ++lexer->cursor; + if ((yych = *lexer->cursor) <= 'Z') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy109; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych != ';') goto yy49; + } + } } else { - if (yych <= 'l') goto yy114; - if (yych == 't') goto yy113; - goto yy82; + if (yych <= '_') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; + } else { + if (yych <= ']') goto yy109; + if (yych <= '^') goto yy49; + goto yy150; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -yy108: +yy109: +#line 248 "src/wasm-ast-lexer.c" + { RETURN(BR); } +#line 1162 "src/prebuilt/wasm-ast-lexer-gen.c" +yy110: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == 'l') goto yy151; + if (yych == 's') goto yy152; + goto yy50; +yy111: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'r') goto yy153; + goto yy50; +yy112: yych = *++lexer->cursor; - if (yych != 't') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 420 "src/wasm-ast-lexer.c" - { RETURN(START); } -#line 954 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 's') goto yy154; + goto yy50; yy113: yych = *++lexer->cursor; - if (yych == '_') goto yy125; - goto yy82; + if (yych == 'p') goto yy155; + goto yy50; yy114: yych = *++lexer->cursor; - if (yych == 'e') goto yy121; - goto yy82; + if (yych == '2') goto yy156; + goto yy50; yy115: yych = *++lexer->cursor; - if (yych != 'm') goto yy82; + if (yych == '4') goto yy158; + goto yy50; +yy116: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'n') goto yy160; + goto yy50; +yy117: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 't') goto yy161; + goto yy50; +yy118: yych = *++lexer->cursor; - if (yych != 't') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 419 "src/wasm-ast-lexer.c" - { RETURN(SEGMENT); } -#line 978 "src/prebuilt/wasm-ast-lexer-gen.c" -yy121: + if (yych == 'o') goto yy162; + goto yy50; +yy119: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == '2') goto yy163; + goto yy50; +yy120: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == '4') goto yy165; + goto yy50; +yy121: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((yych = *lexer->cursor) <= 'Z') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy122; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych != ';') goto yy49; + } + } + } else { + if (yych <= '_') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; + } else { + if (yych <= ']') goto yy122; + if (yych <= '^') goto yy49; + goto yy167; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -#line 408 "src/wasm-ast-lexer.c" - { RETURN(SELECT); } -#line 990 "src/prebuilt/wasm-ast-lexer-gen.c" +yy122: +#line 243 "src/wasm-ast-lexer.c" + { RETURN(IF); } +#line 1245 "src/prebuilt/wasm-ast-lexer-gen.c" +yy123: + yych = *++lexer->cursor; + if (yych == 'p') goto yy168; + goto yy50; +yy124: + yych = *++lexer->cursor; + if (yych == 'f') goto yy169; + if (yych == 'v') goto yy171; + goto yy50; yy125: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'c') goto yy172; + if (yych == 'o') goto yy173; + goto yy50; +yy126: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'm') goto yy174; + goto yy50; +yy127: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == 'd') goto yy175; + goto yy50; +yy128: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == 'n') goto yy176; + goto yy50; +yy129: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 255 "src/wasm-ast-lexer.c" - { RETURN(SET_LOCAL); } -#line 1008 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'p') goto yy178; + goto yy50; +yy130: + yych = *++lexer->cursor; + if (yych == 'f') goto yy180; + goto yy50; +yy131: + yych = *++lexer->cursor; + if (yych == 'r') goto yy181; + goto yy50; yy132: yych = *++lexer->cursor; - if (yych <= 'r') goto yy82; - if (yych <= 's') goto yy134; - if (yych >= 'u') goto yy82; + if (yych <= 'r') goto yy50; + if (yych <= 's') goto yy182; + if (yych <= 't') goto yy183; + goto yy50; +yy133: yych = *++lexer->cursor; - if (yych == 'u') goto yy139; - goto yy82; + if (yych <= 'k') { + if (yych == 'g') goto yy184; + goto yy50; + } else { + if (yych <= 'l') goto yy185; + if (yych == 't') goto yy186; + goto yy50; + } yy134: yych = *++lexer->cursor; - if (yych != 'u') goto yy82; + if (yych == 'a') goto yy187; + goto yy50; +yy135: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'b') goto yy188; + goto yy50; +yy136: yych = *++lexer->cursor; - if (yych != 't') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 415 "src/wasm-ast-lexer.c" - { RETURN(RESULT); } -#line 1030 "src/prebuilt/wasm-ast-lexer-gen.c" -yy139: + if (yych == 'e') goto yy189; + goto yy50; +yy137: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'p') goto yy190; + goto yy50; +yy138: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'r') goto yy191; + goto yy50; +yy139: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= '@') { + if (yych <= '/') goto yy83; + if (yych <= '9') goto yy81; + goto yy83; + } else { + if (yych <= 'F') goto yy81; + if (yych <= '`') goto yy83; + if (yych <= 'f') goto yy81; + goto yy83; } -#line 253 "src/wasm-ast-lexer.c" - { RETURN(RETURN); } -#line 1042 "src/prebuilt/wasm-ast-lexer-gen.c" -yy143: +yy140: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych <= '@') { + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy192; + goto yy50; + } else { + if (yych <= 'F') goto yy192; + if (yych <= '`') goto yy50; + if (yych <= 'f') goto yy192; + goto yy50; + } +yy141: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == 'f') goto yy169; + goto yy50; +yy142: yych = *++lexer->cursor; - if (yych != 'm') goto yy82; + if (yych <= '/') goto yy50; + if (yych >= ':') goto yy50; +yy143: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych <= ' ') goto yy100; + goto yy49; + } else { + if (yych <= '"') goto yy100; + if (yych <= '&') goto yy49; + goto yy100; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + goto yy100; + } else { + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy143; + goto yy49; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych <= ';') goto yy100; + goto yy49; + } else { + if (yych == '\\') goto yy49; + goto yy100; + } + } else { + if (yych <= '|') { + if (yych == '{') goto yy100; + goto yy49; + } else { + if (yych == '~') goto yy49; + goto yy100; + } + } } -#line 414 "src/wasm-ast-lexer.c" - { RETURN(PARAM); } -#line 1056 "src/prebuilt/wasm-ast-lexer-gen.c" +yy145: + ++lexer->cursor; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yybm[0+yych] & 128) { + goto yy145; + } + if (yych <= ';') { + if (yych <= ')') { + if (yych <= '!') { + if (yych <= ' ') goto yy61; + goto yy49; + } else { + if (yych <= '"') goto yy61; + if (yych <= '&') goto yy49; + goto yy61; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy61; + goto yy49; + } else { + if (yych <= '.') goto yy194; + if (yych <= ':') goto yy49; + goto yy61; + } + } + } else { + if (yych <= 'p') { + if (yych <= '\\') { + if (yych == '[') goto yy61; + goto yy49; + } else { + if (yych <= ']') goto yy61; + if (yych <= 'o') goto yy49; + goto yy196; + } + } else { + if (yych <= '|') { + if (yych == '{') goto yy61; + goto yy49; + } else { + if (yych == '~') goto yy49; + goto yy61; + } + } + } +yy147: + yych = *++lexer->cursor; + if (yych == 'g') goto yy197; + goto yy50; yy148: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'e') goto yy198; + goto yy50; +yy149: yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == 'c') goto yy199; + goto yy50; +yy150: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'i') goto yy200; + if (yych == 't') goto yy201; + goto yy50; +yy151: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'l') goto yy202; + goto yy50; +yy152: yych = *++lexer->cursor; - if (yych != '=') goto yy82; + if (yych == 'e') goto yy204; + goto yy50; +yy153: yych = *++lexer->cursor; - if (yybm[0+yych] & 16) { - goto yy154; - } - goto yy82; + if (yych == 'r') goto yy206; + goto yy50; yy154: + yych = *++lexer->cursor; + if (yych == 'e') goto yy207; + goto yy50; +yy155: + yych = *++lexer->cursor; + if (yych == 'o') goto yy209; + goto yy50; +yy156: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= ';') { - if (yych <= '&') { - if (yych == '!') goto yy81; - if (yych >= '#') goto yy81; + if ((yych = *lexer->cursor) <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy157; + if (yych <= '&') goto yy49; + } } else { - if (yych <= '+') { - if (yych >= '*') goto yy81; + if (yych <= ',') { + if (yych <= '+') goto yy49; } else { - if (yych <= ',') goto yy156; - if (yych <= ':') goto yy81; + if (yych == '.') goto yy210; + goto yy49; } } } else { - if (yych <= 'z') { - if (yych <= '[') { - if (yych <= 'Z') goto yy81; + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; } else { - if (yych != ']') goto yy81; + if (yych == '\\') goto yy49; } } else { if (yych <= '|') { - if (yych >= '|') goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } -yy156: -#line 279 "src/wasm-ast-lexer.c" - { TEXT_AT(7); RETURN(OFFSET); } -#line 1110 "src/prebuilt/wasm-ast-lexer-gen.c" yy157: - yych = *++lexer->cursor; - if (yych == 'n') goto yy161; - goto yy82; -yy158: - yych = *++lexer->cursor; - if (yych != 'p') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } #line 239 "src/wasm-ast-lexer.c" - { RETURN(NOP); } -#line 1124 "src/prebuilt/wasm-ast-lexer-gen.c" -yy161: + { TYPE(F32); RETURN(VALUE_TYPE); } +#line 1517 "src/prebuilt/wasm-ast-lexer-gen.c" +yy158: ++lexer->cursor; - if ((yych = *lexer->cursor) <= ';') { + if ((yych = *lexer->cursor) <= ':') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy162; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy159; + if (yych <= '&') goto yy49; } } else { if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '+') goto yy49; } else { - if (yych <= '9') goto yy81; - if (yych <= ':') goto yy163; + if (yych == '.') goto yy211; + goto yy49; } } } else { - if (yych <= 'z') { - if (yych <= '[') { - if (yych <= 'Z') goto yy81; + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; } else { - if (yych != ']') goto yy81; + if (yych == '\\') goto yy49; } } else { if (yych <= '|') { - if (yych >= '|') goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } -yy162: -#line 225 "src/wasm-ast-lexer.c" - { LITERAL(NAN); RETURN(FLOAT); } -#line 1161 "src/prebuilt/wasm-ast-lexer-gen.c" -yy163: +yy159: +#line 240 "src/wasm-ast-lexer.c" + { TYPE(F64); RETURN(VALUE_TYPE); } +#line 1554 "src/prebuilt/wasm-ast-lexer-gen.c" +yy160: yych = *++lexer->cursor; - if (yych != '0') goto yy82; + if (yych == 'c') goto yy212; + goto yy50; +yy161: yych = *++lexer->cursor; - if (yych != 'x') goto yy82; + if (yych == '_') goto yy214; + goto yy50; +yy162: yych = *++lexer->cursor; - if (yybm[0+yych] & 32) { - goto yy166; - } - goto yy82; -yy166: + if (yych == 'w') goto yy215; + goto yy50; +yy163: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yybm[0+yych] & 32) { - goto yy166; - } - if (yych <= ';') { - if (yych <= '&') { - if (yych == '!') goto yy81; - if (yych <= '"') goto yy162; - goto yy81; + if ((yych = *lexer->cursor) <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy164; + if (yych <= '&') goto yy49; + } } else { - if (yych <= '+') { - if (yych <= ')') goto yy162; - goto yy81; + if (yych <= ',') { + if (yych <= '+') goto yy49; } else { - if (yych <= ',') goto yy162; - if (yych <= ':') goto yy81; - goto yy162; + if (yych == '.') goto yy216; + goto yy49; } } } else { - if (yych <= 'z') { - if (yych <= '[') { - if (yych <= 'Z') goto yy81; - goto yy162; + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; } else { - if (yych == ']') goto yy162; - goto yy81; + if (yych == '\\') goto yy49; } } else { if (yych <= '|') { - if (yych <= '{') goto yy162; - goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; - goto yy162; + if (yych == '~') goto yy49; } } } -yy168: - yych = *++lexer->cursor; - if (yych == 'm') goto yy175; - goto yy82; -yy169: - yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - yych = *++lexer->cursor; - if (yych != 'u') goto yy82; - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; +yy164: +#line 237 "src/wasm-ast-lexer.c" + { TYPE(I32); RETURN(VALUE_TYPE); } +#line 1603 "src/prebuilt/wasm-ast-lexer-gen.c" +yy165: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((yych = *lexer->cursor) <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy166; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych == '.') goto yy217; + goto yy49; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; + } else { + if (yych == '\\') goto yy49; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -#line 417 "src/wasm-ast-lexer.c" - { RETURN(MODULE); } -#line 1232 "src/prebuilt/wasm-ast-lexer-gen.c" -yy175: - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; +yy166: +#line 238 "src/wasm-ast-lexer.c" + { TYPE(I64); RETURN(VALUE_TYPE); } +#line 1640 "src/prebuilt/wasm-ast-lexer-gen.c" +yy167: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'e') goto yy218; + goto yy50; +yy168: yych = *++lexer->cursor; - if (yych != 'y') goto yy82; + if (yych == 'o') goto yy219; + goto yy50; +yy169: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((yych = *lexer->cursor) <= 'Z') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy170; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych != ';') goto yy49; + } + } + } else { + if (yych <= 'i') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; + } else { + if (yych <= ']') goto yy170; + if (yych <= 'h') goto yy49; + goto yy220; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -#line 418 "src/wasm-ast-lexer.c" - { RETURN(MEMORY); } -#line 1246 "src/prebuilt/wasm-ast-lexer-gen.c" -yy180: - yych = *++lexer->cursor; - if (yych == 'c') goto yy182; - if (yych != 'o') goto yy82; +yy170: +#line 226 "src/wasm-ast-lexer.c" + { LITERAL(INFINITY); RETURN(FLOAT); } +#line 1686 "src/prebuilt/wasm-ast-lexer-gen.c" +yy171: yych = *++lexer->cursor; - if (yych == 'p') goto yy186; - goto yy82; -yy182: + if (yych == 'o') goto yy221; + goto yy50; +yy172: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == 'a') goto yy222; + goto yy50; +yy173: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 416 "src/wasm-ast-lexer.c" - { RETURN(LOCAL); } -#line 1265 "src/prebuilt/wasm-ast-lexer-gen.c" -yy186: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 245 "src/wasm-ast-lexer.c" - { RETURN(LOOP); } -#line 1273 "src/prebuilt/wasm-ast-lexer-gen.c" -yy188: + if (yych == 'p') goto yy223; + goto yy50; +yy174: yych = *++lexer->cursor; - if (yych == '2') goto yy419; - goto yy82; -yy189: + if (yych == 'o') goto yy225; + goto yy50; +yy175: yych = *++lexer->cursor; - if (yych == '4') goto yy217; - goto yy82; -yy190: + if (yych == 'u') goto yy226; + goto yy50; +yy176: ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'Z') { + if ((yych = *lexer->cursor) <= ';') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy191; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy177; + if (yych <= '&') goto yy49; } } else { if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '+') goto yy49; } else { - if (yych != ';') goto yy81; + if (yych <= '9') goto yy49; + if (yych <= ':') goto yy227; } } } else { - if (yych <= '_') { - if (yych <= '\\') { - if (yych >= '\\') goto yy81; + if (yych <= 'z') { + if (yych <= '[') { + if (yych <= 'Z') goto yy49; } else { - if (yych <= ']') goto yy191; - if (yych <= '^') goto yy81; - goto yy211; + if (yych != ']') goto yy49; } } else { if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych >= '|') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } -yy191: +yy177: +#line 227 "src/wasm-ast-lexer.c" + { LITERAL(NAN); RETURN(FLOAT); } +#line 1743 "src/prebuilt/wasm-ast-lexer-gen.c" +yy178: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } #line 241 "src/wasm-ast-lexer.c" - { RETURN(IF); } -#line 1319 "src/prebuilt/wasm-ast-lexer-gen.c" -yy192: - yych = *++lexer->cursor; - if (yych == 'p') goto yy206; - goto yy82; -yy193: + { RETURN(NOP); } +#line 1751 "src/prebuilt/wasm-ast-lexer-gen.c" +yy180: yych = *++lexer->cursor; - if (yych == 'f') goto yy194; - if (yych == 'v') goto yy195; - goto yy82; -yy194: + if (yych == 's') goto yy228; + goto yy50; +yy181: yych = *++lexer->cursor; - if (yych == 'i') goto yy200; - goto yy82; -yy195: + if (yych == 'a') goto yy229; + goto yy50; +yy182: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'u') goto yy230; + goto yy50; +yy183: yych = *++lexer->cursor; - if (yych != 'k') goto yy82; + if (yych == 'u') goto yy231; + goto yy50; +yy184: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 428 "src/wasm-ast-lexer.c" - { RETURN(INVOKE); } -#line 1346 "src/prebuilt/wasm-ast-lexer-gen.c" -yy200: + if (yych == 'm') goto yy232; + goto yy50; +yy185: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'e') goto yy233; + goto yy50; +yy186: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == '_') goto yy234; + goto yy50; +yy187: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'r') goto yy235; + goto yy50; +yy188: yych = *++lexer->cursor; - if (yych != 'y') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 224 "src/wasm-ast-lexer.c" - { LITERAL(INFINITY); RETURN(FLOAT); } -#line 1362 "src/prebuilt/wasm-ast-lexer-gen.c" -yy206: + if (yych == 'l') goto yy236; + goto yy50; +yy189: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'n') goto yy237; + goto yy50; +yy190: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'e') goto yy239; + goto yy50; +yy191: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'e') goto yy241; + goto yy50; +yy192: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yych <= '@') { + if (yych <= ',') { + if (yych <= '"') { + if (yych == '!') goto yy49; + goto yy93; + } else { + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy93; + if (yych <= '+') goto yy49; + goto yy93; + } + } else { + if (yych <= '/') { + if (yych != '.') goto yy49; + } else { + if (yych <= '9') goto yy192; + if (yych == ';') goto yy93; + goto yy49; + } + } + } else { + if (yych <= 'f') { + if (yych <= '[') { + if (yych <= 'F') goto yy192; + if (yych <= 'Z') goto yy49; + goto yy93; + } else { + if (yych == ']') goto yy93; + if (yych <= '`') goto yy49; + goto yy192; + } + } else { + if (yych <= '{') { + if (yych == 'p') goto yy196; + if (yych <= 'z') goto yy49; + goto yy93; + } else { + if (yych == '}') goto yy93; + if (yych <= '~') goto yy49; + goto yy93; + } + } } -#line 421 "src/wasm-ast-lexer.c" - { RETURN(IMPORT); } -#line 1376 "src/prebuilt/wasm-ast-lexer-gen.c" -yy211: +yy194: + ++lexer->cursor; + if ((lexer->limit - lexer->cursor) < 3) FILL(3); + yych = *lexer->cursor; + if (yych <= 'F') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; + goto yy51; + } else { + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy51; + goto yy49; + } + } else { + if (yych <= '9') { + if (yych <= ',') goto yy51; + if (yych <= '/') goto yy49; + goto yy194; + } else { + if (yych == ';') goto yy51; + if (yych <= '@') goto yy49; + goto yy194; + } + } + } else { + if (yych <= 'o') { + if (yych <= '\\') { + if (yych == '[') goto yy51; + goto yy49; + } else { + if (yych <= ']') goto yy51; + if (yych <= '`') goto yy49; + if (yych <= 'f') goto yy194; + goto yy49; + } + } else { + if (yych <= '{') { + if (yych <= 'p') goto yy196; + if (yych <= 'z') goto yy49; + goto yy51; + } else { + if (yych == '}') goto yy51; + if (yych <= '~') goto yy49; + goto yy51; + } + } + } +yy196: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych <= ',') { + if (yych == '+') goto yy242; + goto yy50; + } else { + if (yych <= '-') goto yy242; + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy243; + goto yy50; + } +yy197: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'n') goto yy246; + goto yy50; +yy198: yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == 'r') goto yy247; + goto yy50; +yy199: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 242 "src/wasm-ast-lexer.c" - { RETURN(IF); } -#line 1392 "src/prebuilt/wasm-ast-lexer-gen.c" -yy217: + if (yych == 'k') goto yy248; + goto yy50; +yy200: + yych = *++lexer->cursor; + if (yych == 'f') goto yy250; + goto yy50; +yy201: + yych = *++lexer->cursor; + if (yych == 'a') goto yy252; + goto yy50; +yy202: ++lexer->cursor; - if ((yych = *lexer->cursor) <= ':') { + if ((yych = *lexer->cursor) <= 'Z') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy218; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy203; + if (yych <= '&') goto yy49; } } else { if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '+') goto yy49; } else { - if (yych == '.') goto yy219; - goto yy81; + if (yych != ';') goto yy49; } } } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych >= '<') goto yy81; + if (yych <= '_') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; } else { - if (yych == '\\') goto yy81; + if (yych <= ']') goto yy203; + if (yych <= '^') goto yy49; + goto yy253; } } else { if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } -yy218: -#line 236 "src/wasm-ast-lexer.c" - { TYPE(I64); RETURN(VALUE_TYPE); } -#line 1429 "src/prebuilt/wasm-ast-lexer-gen.c" -yy219: +yy203: +#line 252 "src/wasm-ast-lexer.c" + { RETURN(CALL); } +#line 1963 "src/prebuilt/wasm-ast-lexer-gen.c" +yy204: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 251 "src/wasm-ast-lexer.c" + { RETURN(CASE); } +#line 1971 "src/prebuilt/wasm-ast-lexer-gen.c" +yy206: + yych = *++lexer->cursor; + if (yych == 'e') goto yy254; + goto yy50; +yy207: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 246 "src/wasm-ast-lexer.c" + { RETURN(ELSE); } +#line 1983 "src/prebuilt/wasm-ast-lexer-gen.c" +yy209: + yych = *++lexer->cursor; + if (yych == 'r') goto yy255; + goto yy50; +yy210: yych = *++lexer->cursor; switch (yych) { - case 'a': goto yy225; - case 'c': goto yy222; - case 'd': goto yy227; - case 'e': goto yy223; - case 'g': goto yy232; - case 'l': goto yy220; - case 'm': goto yy226; - case 'n': goto yy231; - case 'o': goto yy229; - case 'p': goto yy224; - case 'r': goto yy228; - case 's': goto yy221; - case 't': goto yy233; - case 'x': goto yy230; - default: goto yy82; + case 'a': goto yy256; + case 'c': goto yy257; + case 'd': goto yy258; + case 'e': goto yy259; + case 'f': goto yy260; + case 'g': goto yy261; + case 'l': goto yy262; + case 'm': goto yy263; + case 'n': goto yy264; + case 'r': goto yy265; + case 's': goto yy266; + case 't': goto yy267; + default: goto yy50; } -yy220: +yy211: yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'e') goto yy383; - goto yy82; - } else { - if (yych <= 'o') goto yy384; - if (yych == 't') goto yy385; - goto yy82; + switch (yych) { + case 'a': goto yy268; + case 'c': goto yy269; + case 'd': goto yy270; + case 'e': goto yy271; + case 'f': goto yy272; + case 'g': goto yy273; + case 'l': goto yy274; + case 'm': goto yy275; + case 'n': goto yy276; + case 'p': goto yy277; + case 'r': goto yy278; + case 's': goto yy279; + case 't': goto yy280; + default: goto yy50; + } +yy212: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy221: +#line 415 "src/wasm-ast-lexer.c" + { RETURN(FUNC); } +#line 2030 "src/prebuilt/wasm-ast-lexer-gen.c" +yy214: yych = *++lexer->cursor; - if (yych <= 's') { - if (yych == 'h') goto yy358; - goto yy82; - } else { - if (yych <= 't') goto yy359; - if (yych <= 'u') goto yy360; - goto yy82; + if (yych == 'l') goto yy281; + goto yy50; +yy215: + yych = *++lexer->cursor; + if (yych == '_') goto yy282; + goto yy50; +yy216: + yych = *++lexer->cursor; + switch (yych) { + case 'a': goto yy283; + case 'c': goto yy284; + case 'd': goto yy285; + case 'e': goto yy286; + case 'g': goto yy287; + case 'l': goto yy288; + case 'm': goto yy289; + case 'n': goto yy290; + case 'o': goto yy291; + case 'p': goto yy292; + case 'r': goto yy293; + case 's': goto yy294; + case 't': goto yy295; + case 'w': goto yy296; + case 'x': goto yy297; + default: goto yy50; } -yy222: +yy217: yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'l') goto yy347; - goto yy82; - } else { - if (yych <= 'o') goto yy348; - if (yych == 't') goto yy349; - goto yy82; + switch (yych) { + case 'a': goto yy298; + case 'c': goto yy299; + case 'd': goto yy300; + case 'e': goto yy301; + case 'g': goto yy302; + case 'l': goto yy303; + case 'm': goto yy304; + case 'n': goto yy305; + case 'o': goto yy306; + case 'p': goto yy307; + case 'r': goto yy308; + case 's': goto yy309; + case 't': goto yy310; + case 'x': goto yy311; + default: goto yy50; } -yy223: +yy218: yych = *++lexer->cursor; - if (yych == 'q') goto yy325; - if (yych == 'x') goto yy327; - goto yy82; -yy224: + if (yych == 'l') goto yy312; + goto yy50; +yy219: yych = *++lexer->cursor; - if (yych == 'o') goto yy319; - goto yy82; -yy225: + if (yych == 'r') goto yy313; + goto yy50; +yy220: yych = *++lexer->cursor; - if (yych == 'd') goto yy313; if (yych == 'n') goto yy314; - goto yy82; + goto yy50; +yy221: + yych = *++lexer->cursor; + if (yych == 'k') goto yy315; + goto yy50; +yy222: + yych = *++lexer->cursor; + if (yych == 'l') goto yy316; + goto yy50; +yy223: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 247 "src/wasm-ast-lexer.c" + { RETURN(LOOP); } +#line 2105 "src/prebuilt/wasm-ast-lexer-gen.c" +yy225: + yych = *++lexer->cursor; + if (yych == 'r') goto yy318; + goto yy50; yy226: yych = *++lexer->cursor; - if (yych == 'u') goto yy310; - goto yy82; + if (yych == 'l') goto yy319; + goto yy50; yy227: yych = *++lexer->cursor; - if (yych == 'i') goto yy303; - goto yy82; + if (yych == '0') goto yy320; + goto yy50; yy228: yych = *++lexer->cursor; - if (yych == 'e') goto yy276; - if (yych == 'o') goto yy277; - goto yy82; + if (yych == 'e') goto yy321; + goto yy50; yy229: yych = *++lexer->cursor; - if (yych == 'r') goto yy274; - goto yy82; + if (yych == 'm') goto yy322; + goto yy50; yy230: yych = *++lexer->cursor; - if (yych == 'o') goto yy271; - goto yy82; + if (yych == 'l') goto yy324; + goto yy50; yy231: yych = *++lexer->cursor; - if (yych == 'e') goto yy269; - goto yy82; + if (yych == 'r') goto yy325; + goto yy50; yy232: yych = *++lexer->cursor; - if (yych == 'e') goto yy257; - if (yych == 't') goto yy258; - goto yy82; + if (yych == 'e') goto yy326; + goto yy50; yy233: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'c') goto yy327; + goto yy50; +yy234: yych = *++lexer->cursor; - if (yych != 'u') goto yy82; + if (yych == 'l') goto yy328; + goto yy50; +yy235: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 't') goto yy329; + goto yy50; +yy236: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy239; - if (yych == 'u') goto yy240; - goto yy82; + if (yych == 'e') goto yy331; + goto yy50; +yy237: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 245 "src/wasm-ast-lexer.c" + { RETURN(THEN); } +#line 2161 "src/prebuilt/wasm-ast-lexer-gen.c" yy239: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 414 "src/wasm-ast-lexer.c" + { RETURN(TYPE); } +#line 2169 "src/prebuilt/wasm-ast-lexer-gen.c" +yy241: yych = *++lexer->cursor; - if (yych == '/') goto yy249; - goto yy82; -yy240: - yych = *++lexer->cursor; - if (yych != '/') goto yy82; - yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'a') goto yy333; + goto yy50; +yy242: yych = *++lexer->cursor; - if (yych == '3') goto yy243; - if (yych == '6') goto yy244; - goto yy82; + if (yych <= '/') goto yy50; + if (yych >= ':') goto yy50; yy243: + ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy245; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy243; + goto yy49; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; + } else { + if (yych == '\\') goto yy49; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } + } +yy245: +#line 225 "src/wasm-ast-lexer.c" + { LITERAL(HEXFLOAT); RETURN(FLOAT); } +#line 2217 "src/prebuilt/wasm-ast-lexer-gen.c" +yy246: yych = *++lexer->cursor; - if (yych == '2') goto yy247; - goto yy82; -yy244: + if (yych == '=') goto yy334; + goto yy50; +yy247: yych = *++lexer->cursor; - if (yych != '4') goto yy82; + if (yych == 't') goto yy335; + goto yy50; +yy248: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 393 "src/wasm-ast-lexer.c" - { OPCODE(I64_TRUNC_U_F64); RETURN(CONVERT); } -#line 1564 "src/prebuilt/wasm-ast-lexer-gen.c" -yy247: +#line 242 "src/wasm-ast-lexer.c" + { RETURN(BLOCK); } +#line 2233 "src/prebuilt/wasm-ast-lexer-gen.c" +yy250: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 391 "src/wasm-ast-lexer.c" - { OPCODE(I64_TRUNC_U_F32); RETURN(CONVERT); } -#line 1572 "src/prebuilt/wasm-ast-lexer-gen.c" -yy249: - yych = *++lexer->cursor; - if (yych != 'f') goto yy82; +#line 249 "src/wasm-ast-lexer.c" + { RETURN(BR_IF); } +#line 2241 "src/prebuilt/wasm-ast-lexer-gen.c" +yy252: yych = *++lexer->cursor; - if (yych == '3') goto yy251; - if (yych == '6') goto yy252; - goto yy82; -yy251: + if (yych == 'b') goto yy336; + goto yy50; +yy253: yych = *++lexer->cursor; - if (yych == '2') goto yy255; - goto yy82; -yy252: + if (yych == 'i') goto yy337; + goto yy50; +yy254: yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 389 "src/wasm-ast-lexer.c" - { OPCODE(I64_TRUNC_S_F64); RETURN(CONVERT); } -#line 1593 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'n') goto yy338; + goto yy50; yy255: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 387 "src/wasm-ast-lexer.c" - { OPCODE(I64_TRUNC_S_F32); RETURN(CONVERT); } -#line 1601 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 't') goto yy339; + goto yy50; +yy256: + yych = *++lexer->cursor; + if (yych == 'b') goto yy341; + if (yych == 'd') goto yy342; + goto yy50; yy257: yych = *++lexer->cursor; - if (yych == '_') goto yy264; - goto yy82; + if (yych == 'e') goto yy343; + if (yych == 'o') goto yy344; + goto yy50; yy258: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'e') goto yy345; + if (yych == 'i') goto yy346; + goto yy50; +yy259: yych = *++lexer->cursor; - if (yych == 's') goto yy260; - if (yych == 'u') goto yy262; - goto yy82; + if (yych == 'q') goto yy347; + goto yy50; yy260: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 364 "src/wasm-ast-lexer.c" - { OPCODE(I64_GT_S); RETURN(COMPARE); } -#line 1620 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'l') goto yy349; + goto yy50; +yy261: + yych = *++lexer->cursor; + if (yych == 'e') goto yy350; + if (yych == 't') goto yy352; + goto yy50; yy262: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych <= 'n') { + if (yych == 'e') goto yy354; + goto yy50; + } else { + if (yych <= 'o') goto yy356; + if (yych == 't') goto yy357; + goto yy50; + } +yy263: + yych = *++lexer->cursor; + if (yych <= 'h') { + if (yych == 'a') goto yy359; + goto yy50; + } else { + if (yych <= 'i') goto yy360; + if (yych == 'u') goto yy361; + goto yy50; } -#line 366 "src/wasm-ast-lexer.c" - { OPCODE(I64_GT_U); RETURN(COMPARE); } -#line 1628 "src/prebuilt/wasm-ast-lexer-gen.c" yy264: yych = *++lexer->cursor; - if (yych == 's') goto yy265; - if (yych == 'u') goto yy267; - goto yy82; + if (yych == 'e') goto yy362; + goto yy50; yy265: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych == 'e') goto yy364; + goto yy50; +yy266: + yych = *++lexer->cursor; + if (yych <= 's') { + if (yych == 'q') goto yy365; + goto yy50; + } else { + if (yych <= 't') goto yy366; + if (yych <= 'u') goto yy367; + goto yy50; } -#line 368 "src/wasm-ast-lexer.c" - { OPCODE(I64_GE_S); RETURN(COMPARE); } -#line 1641 "src/prebuilt/wasm-ast-lexer-gen.c" yy267: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 370 "src/wasm-ast-lexer.c" - { OPCODE(I64_GE_U); RETURN(COMPARE); } -#line 1649 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'r') goto yy368; + goto yy50; +yy268: + yych = *++lexer->cursor; + if (yych == 'b') goto yy369; + if (yych == 'd') goto yy370; + goto yy50; yy269: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 354 "src/wasm-ast-lexer.c" - { OPCODE(I64_NE); RETURN(COMPARE); } -#line 1657 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'e') goto yy371; + if (yych == 'o') goto yy372; + goto yy50; +yy270: + yych = *++lexer->cursor; + if (yych == 'i') goto yy373; + goto yy50; yy271: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 326 "src/wasm-ast-lexer.c" - { OPCODE(I64_XOR); RETURN(BINARY); } -#line 1667 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'q') goto yy374; + goto yy50; +yy272: + yych = *++lexer->cursor; + if (yych == 'l') goto yy376; + goto yy50; +yy273: + yych = *++lexer->cursor; + if (yych == 'e') goto yy377; + if (yych == 't') goto yy379; + goto yy50; yy274: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych <= 'n') { + if (yych == 'e') goto yy381; + goto yy50; + } else { + if (yych <= 'o') goto yy383; + if (yych == 't') goto yy384; + goto yy50; + } +yy275: + yych = *++lexer->cursor; + if (yych <= 'h') { + if (yych == 'a') goto yy386; + goto yy50; + } else { + if (yych <= 'i') goto yy387; + if (yych == 'u') goto yy388; + goto yy50; } -#line 324 "src/wasm-ast-lexer.c" - { OPCODE(I64_OR); RETURN(BINARY); } -#line 1675 "src/prebuilt/wasm-ast-lexer-gen.c" yy276: yych = *++lexer->cursor; - if (yych == 'i') goto yy284; - if (yych == 'm') goto yy283; - goto yy82; + if (yych == 'e') goto yy389; + goto yy50; yy277: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'r') goto yy391; + goto yy50; +yy278: yych = *++lexer->cursor; - if (yych == 'l') goto yy279; - if (yych == 'r') goto yy281; - goto yy82; + if (yych == 'e') goto yy392; + goto yy50; yy279: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych <= 's') { + if (yych == 'q') goto yy393; + goto yy50; + } else { + if (yych <= 't') goto yy394; + if (yych <= 'u') goto yy395; + goto yy50; } -#line 334 "src/wasm-ast-lexer.c" - { OPCODE(I64_ROTL); RETURN(BINARY); } -#line 1695 "src/prebuilt/wasm-ast-lexer-gen.c" +yy280: + yych = *++lexer->cursor; + if (yych == 'r') goto yy396; + goto yy50; yy281: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 336 "src/wasm-ast-lexer.c" - { OPCODE(I64_ROTR); RETURN(BINARY); } -#line 1703 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'o') goto yy397; + goto yy50; +yy282: + yych = *++lexer->cursor; + if (yych == 'm') goto yy398; + goto yy50; yy283: yych = *++lexer->cursor; - if (yych == '_') goto yy298; - goto yy82; + if (yych == 'd') goto yy399; + if (yych == 'n') goto yy400; + goto yy50; yy284: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych <= 'n') { + if (yych == 'l') goto yy401; + goto yy50; + } else { + if (yych <= 'o') goto yy402; + if (yych == 't') goto yy403; + goto yy50; + } +yy285: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'i') goto yy404; + goto yy50; +yy286: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'q') goto yy405; + goto yy50; +yy287: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == 'e') goto yy407; + if (yych == 't') goto yy408; + goto yy50; +yy288: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych <= 'n') { + if (yych == 'e') goto yy409; + goto yy50; + } else { + if (yych <= 'o') goto yy410; + if (yych == 't') goto yy411; + goto yy50; + } +yy289: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'u') goto yy412; + goto yy50; +yy290: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'e') goto yy413; + goto yy50; +yy291: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 'r') goto yy415; + goto yy50; +yy292: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'o') goto yy417; + goto yy50; +yy293: yych = *++lexer->cursor; - if (yych != '6') goto yy82; + if (yych == 'e') goto yy418; + if (yych == 'o') goto yy419; + goto yy50; +yy294: yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yych <= 's') { + if (yych == 'h') goto yy420; + goto yy50; + } else { + if (yych <= 't') goto yy421; + if (yych <= 'u') goto yy422; + goto yy50; } -#line 407 "src/wasm-ast-lexer.c" - { OPCODE(I64_REINTERPRET_F64); RETURN(CONVERT); } -#line 1739 "src/prebuilt/wasm-ast-lexer-gen.c" +yy295: + yych = *++lexer->cursor; + if (yych == 'r') goto yy423; + goto yy50; +yy296: + yych = *++lexer->cursor; + if (yych == 'r') goto yy424; + goto yy50; +yy297: + yych = *++lexer->cursor; + if (yych == 'o') goto yy425; + goto yy50; yy298: yych = *++lexer->cursor; - if (yych == 's') goto yy299; - if (yych == 'u') goto yy301; - goto yy82; + if (yych == 'd') goto yy426; + if (yych == 'n') goto yy427; + goto yy50; yy299: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych <= 'n') { + if (yych == 'l') goto yy428; + goto yy50; + } else { + if (yych <= 'o') goto yy429; + if (yych == 't') goto yy430; + goto yy50; } -#line 318 "src/wasm-ast-lexer.c" - { OPCODE(I64_REM_S); RETURN(BINARY); } -#line 1752 "src/prebuilt/wasm-ast-lexer-gen.c" +yy300: + yych = *++lexer->cursor; + if (yych == 'i') goto yy431; + goto yy50; yy301: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 320 "src/wasm-ast-lexer.c" - { OPCODE(I64_REM_U); RETURN(BINARY); } -#line 1760 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'q') goto yy432; + if (yych == 'x') goto yy434; + goto yy50; +yy302: + yych = *++lexer->cursor; + if (yych == 'e') goto yy435; + if (yych == 't') goto yy436; + goto yy50; yy303: yych = *++lexer->cursor; - if (yych != 'v') goto yy82; + if (yych <= 'n') { + if (yych == 'e') goto yy437; + goto yy50; + } else { + if (yych <= 'o') goto yy438; + if (yych == 't') goto yy439; + goto yy50; + } +yy304: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'u') goto yy440; + goto yy50; +yy305: yych = *++lexer->cursor; - if (yych == 's') goto yy306; - if (yych == 'u') goto yy308; - goto yy82; + if (yych == 'e') goto yy441; + goto yy50; yy306: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 314 "src/wasm-ast-lexer.c" - { OPCODE(I64_DIV_S); RETURN(BINARY); } -#line 1777 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'r') goto yy443; + goto yy50; +yy307: + yych = *++lexer->cursor; + if (yych == 'o') goto yy445; + goto yy50; yy308: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + yych = *++lexer->cursor; + if (yych == 'e') goto yy446; + if (yych == 'o') goto yy447; + goto yy50; +yy309: + yych = *++lexer->cursor; + if (yych <= 's') { + if (yych == 'h') goto yy448; + goto yy50; + } else { + if (yych <= 't') goto yy449; + if (yych <= 'u') goto yy450; + goto yy50; } -#line 316 "src/wasm-ast-lexer.c" - { OPCODE(I64_DIV_U); RETURN(BINARY); } -#line 1785 "src/prebuilt/wasm-ast-lexer-gen.c" yy310: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 312 "src/wasm-ast-lexer.c" - { OPCODE(I64_MUL); RETURN(BINARY); } -#line 1795 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'r') goto yy451; + goto yy50; +yy311: + yych = *++lexer->cursor; + if (yych == 'o') goto yy452; + goto yy50; +yy312: + yych = *++lexer->cursor; + if (yych == 's') goto yy453; + goto yy50; yy313: yych = *++lexer->cursor; - if (yych == 'd') goto yy317; - goto yy82; + if (yych == 't') goto yy454; + goto yy50; yy314: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 322 "src/wasm-ast-lexer.c" - { OPCODE(I64_AND); RETURN(BINARY); } -#line 1809 "src/prebuilt/wasm-ast-lexer-gen.c" -yy317: + if (yych == 'i') goto yy456; + goto yy50; +yy315: + yych = *++lexer->cursor; + if (yych == 'e') goto yy457; + goto yy50; +yy316: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 308 "src/wasm-ast-lexer.c" - { OPCODE(I64_ADD); RETURN(BINARY); } -#line 1817 "src/prebuilt/wasm-ast-lexer-gen.c" -yy319: +#line 418 "src/wasm-ast-lexer.c" + { RETURN(LOCAL); } +#line 2591 "src/prebuilt/wasm-ast-lexer-gen.c" +yy318: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == 'y') goto yy459; + goto yy50; +yy319: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == 'e') goto yy461; + goto yy50; +yy320: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'x') goto yy463; + goto yy50; +yy321: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 't') goto yy464; + goto yy50; +yy322: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 292 "src/wasm-ast-lexer.c" - { OPCODE(I64_POPCNT); RETURN(UNARY); } -#line 1833 "src/prebuilt/wasm-ast-lexer-gen.c" -yy325: - ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'Z') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy326; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych != ';') goto yy81; - } - } - } else { - if (yych <= 'z') { - if (yych <= '\\') { - if (yych >= '\\') goto yy81; - } else { - if (yych <= ']') goto yy326; - if (yych <= 'y') goto yy81; - goto yy345; - } - } else { - if (yych <= '|') { - if (yych >= '|') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } - } -yy326: -#line 352 "src/wasm-ast-lexer.c" - { OPCODE(I64_EQ); RETURN(COMPARE); } -#line 1871 "src/prebuilt/wasm-ast-lexer-gen.c" -yy327: - yych = *++lexer->cursor; - if (yych != 't') goto yy82; +#line 416 "src/wasm-ast-lexer.c" + { RETURN(PARAM); } +#line 2615 "src/prebuilt/wasm-ast-lexer-gen.c" +yy324: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 't') goto yy465; + goto yy50; +yy325: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'n') goto yy467; + goto yy50; +yy326: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; + if (yych == 'n') goto yy469; + goto yy50; +yy327: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 't') goto yy470; + goto yy50; +yy328: yych = *++lexer->cursor; - if (yych == 's') goto yy333; - if (yych == 'u') goto yy334; - goto yy82; + if (yych == 'o') goto yy472; + goto yy50; +yy329: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 422 "src/wasm-ast-lexer.c" + { RETURN(START); } +#line 2643 "src/prebuilt/wasm-ast-lexer-gen.c" +yy331: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 425 "src/wasm-ast-lexer.c" + { RETURN(TABLE); } +#line 2651 "src/prebuilt/wasm-ast-lexer-gen.c" yy333: yych = *++lexer->cursor; - if (yych == '/') goto yy340; - goto yy82; + if (yych == 'c') goto yy473; + goto yy50; yy334: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy474; + goto yy50; +yy335: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == '_') goto yy477; + goto yy50; +yy336: yych = *++lexer->cursor; - if (yych != '3') goto yy82; + if (yych == 'l') goto yy478; + goto yy50; +yy337: yych = *++lexer->cursor; - if (yych != '2') goto yy82; + if (yych <= 'l') goto yy50; + if (yych <= 'm') goto yy479; + if (yych <= 'n') goto yy480; + goto yy50; +yy338: + yych = *++lexer->cursor; + if (yych == 't') goto yy481; + goto yy50; +yy339: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 384 "src/wasm-ast-lexer.c" - { OPCODE(I64_EXTEND_U_I32); RETURN(CONVERT); } -#line 1906 "src/prebuilt/wasm-ast-lexer-gen.c" -yy340: +#line 424 "src/wasm-ast-lexer.c" + { RETURN(EXPORT); } +#line 2686 "src/prebuilt/wasm-ast-lexer-gen.c" +yy341: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 's') goto yy482; + goto yy50; +yy342: yych = *++lexer->cursor; - if (yych != '3') goto yy82; + if (yych == 'd') goto yy484; + goto yy50; +yy343: yych = *++lexer->cursor; - if (yych != '2') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 383 "src/wasm-ast-lexer.c" - { OPCODE(I64_EXTEND_S_I32); RETURN(CONVERT); } -#line 1920 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'i') goto yy486; + goto yy50; +yy344: + yych = *++lexer->cursor; + if (yych == 'n') goto yy487; + if (yych == 'p') goto yy488; + goto yy50; yy345: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 286 "src/wasm-ast-lexer.c" - { OPCODE(I64_EQZ); RETURN(CONVERT); } -#line 1928 "src/prebuilt/wasm-ast-lexer-gen.c" -yy347: yych = *++lexer->cursor; - if (yych == 'z') goto yy356; - goto yy82; -yy348: + if (yych == 'm') goto yy489; + goto yy50; +yy346: yych = *++lexer->cursor; - if (yych == 'n') goto yy352; - goto yy82; + if (yych == 'v') goto yy490; + goto yy50; +yy347: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 373 "src/wasm-ast-lexer.c" + { OPCODE(F32_EQ); RETURN(COMPARE); } +#line 2719 "src/prebuilt/wasm-ast-lexer-gen.c" yy349: yych = *++lexer->cursor; - if (yych != 'z') goto yy82; + if (yych == 'o') goto yy492; + goto yy50; +yy350: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 290 "src/wasm-ast-lexer.c" - { OPCODE(I64_CTZ); RETURN(UNARY); } -#line 1946 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 383 "src/wasm-ast-lexer.c" + { OPCODE(F32_GE); RETURN(COMPARE); } +#line 2731 "src/prebuilt/wasm-ast-lexer-gen.c" yy352: - yych = *++lexer->cursor; - if (yych != 's') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 282 "src/wasm-ast-lexer.c" - { TYPE(I64); RETURN(CONST); } -#line 1958 "src/prebuilt/wasm-ast-lexer-gen.c" -yy356: +#line 381 "src/wasm-ast-lexer.c" + { OPCODE(F32_GT); RETURN(COMPARE); } +#line 2739 "src/prebuilt/wasm-ast-lexer-gen.c" +yy354: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 288 "src/wasm-ast-lexer.c" - { OPCODE(I64_CLZ); RETURN(UNARY); } -#line 1966 "src/prebuilt/wasm-ast-lexer-gen.c" -yy358: +#line 379 "src/wasm-ast-lexer.c" + { OPCODE(F32_LE); RETURN(COMPARE); } +#line 2747 "src/prebuilt/wasm-ast-lexer-gen.c" +yy356: yych = *++lexer->cursor; - if (yych == 'l') goto yy375; - if (yych == 'r') goto yy377; - goto yy82; + if (yych == 'a') goto yy493; + goto yy50; +yy357: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 377 "src/wasm-ast-lexer.c" + { OPCODE(F32_LT); RETURN(COMPARE); } +#line 2759 "src/prebuilt/wasm-ast-lexer-gen.c" yy359: yych = *++lexer->cursor; - if (yych == 'o') goto yy363; - goto yy82; + if (yych == 'x') goto yy494; + goto yy50; yy360: yych = *++lexer->cursor; - if (yych != 'b') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 310 "src/wasm-ast-lexer.c" - { OPCODE(I64_SUB); RETURN(BINARY); } -#line 1985 "src/prebuilt/wasm-ast-lexer-gen.c" -yy363: - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'n') goto yy496; + goto yy50; +yy361: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'l') goto yy498; + goto yy50; +yy362: ++lexer->cursor; - if ((yych = *lexer->cursor) <= '7') { - if (yych <= '+') { - if (yych <= '"') { - if (yych == '!') goto yy81; + if ((yych = *lexer->cursor) <= '[') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; } else { - if (yych <= '&') goto yy81; - if (yych >= '*') goto yy81; + if (yych <= '"') goto yy363; + if (yych <= '&') goto yy49; } } else { - if (yych <= '1') { - if (yych <= ',') goto yy366; - if (yych <= '0') goto yy81; - goto yy367; + if (yych <= ':') { + if (yych != ',') goto yy49; } else { - if (yych == '3') goto yy368; - goto yy81; + if (yych <= ';') goto yy363; + if (yych <= 'Z') goto yy49; } } } else { - if (yych <= '\\') { - if (yych <= ';') { - if (yych <= '8') goto yy369; - if (yych <= ':') goto yy81; + if (yych <= 'g') { + if (yych <= '`') { + if (yych != ']') goto yy49; } else { - if (yych != '[') goto yy81; + if (yych <= 'a') goto yy500; + if (yych <= 'f') goto yy49; + goto yy501; } } else { - if (yych <= '{') { - if (yych <= ']') goto yy366; - if (yych <= 'z') goto yy81; + if (yych <= '|') { + if (yych != '{') goto yy49; } else { - if (yych == '}') goto yy366; - if (yych <= '~') goto yy81; + if (yych == '~') goto yy49; } } } +yy363: +#line 375 "src/wasm-ast-lexer.c" + { OPCODE(F32_NE); RETURN(COMPARE); } +#line 2810 "src/prebuilt/wasm-ast-lexer-gen.c" +yy364: + yych = *++lexer->cursor; + if (yych == 'i') goto yy503; + goto yy50; +yy365: + yych = *++lexer->cursor; + if (yych == 'r') goto yy504; + goto yy50; yy366: -#line 261 "src/wasm-ast-lexer.c" - { OPCODE(I64_STORE); RETURN(STORE); } -#line 2031 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'o') goto yy505; + goto yy50; yy367: yych = *++lexer->cursor; - if (yych == '6') goto yy373; - goto yy82; + if (yych == 'b') goto yy506; + goto yy50; yy368: yych = *++lexer->cursor; - if (yych == '2') goto yy371; - goto yy82; + if (yych == 'u') goto yy508; + goto yy50; yy369: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 275 "src/wasm-ast-lexer.c" - { OPCODE(I64_STORE8); RETURN(STORE); } -#line 2047 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 's') goto yy509; + goto yy50; +yy370: + yych = *++lexer->cursor; + if (yych == 'd') goto yy511; + goto yy50; yy371: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 278 "src/wasm-ast-lexer.c" - { OPCODE(I64_STORE32); RETURN(STORE); } -#line 2055 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'i') goto yy513; + goto yy50; +yy372: + yych = *++lexer->cursor; + if (yych == 'n') goto yy514; + if (yych == 'p') goto yy515; + goto yy50; yy373: + yych = *++lexer->cursor; + if (yych == 'v') goto yy516; + goto yy50; +yy374: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 277 "src/wasm-ast-lexer.c" - { OPCODE(I64_STORE16); RETURN(STORE); } -#line 2063 "src/prebuilt/wasm-ast-lexer-gen.c" -yy375: +#line 374 "src/wasm-ast-lexer.c" + { OPCODE(F64_EQ); RETURN(COMPARE); } +#line 2859 "src/prebuilt/wasm-ast-lexer-gen.c" +yy376: + yych = *++lexer->cursor; + if (yych == 'o') goto yy518; + goto yy50; +yy377: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 328 "src/wasm-ast-lexer.c" - { OPCODE(I64_SHL); RETURN(BINARY); } -#line 2071 "src/prebuilt/wasm-ast-lexer-gen.c" -yy377: - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy379; - if (yych == 'u') goto yy381; - goto yy82; +#line 384 "src/wasm-ast-lexer.c" + { OPCODE(F64_GE); RETURN(COMPARE); } +#line 2871 "src/prebuilt/wasm-ast-lexer-gen.c" yy379: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 330 "src/wasm-ast-lexer.c" - { OPCODE(I64_SHR_S); RETURN(BINARY); } -#line 2086 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 382 "src/wasm-ast-lexer.c" + { OPCODE(F64_GT); RETURN(COMPARE); } +#line 2879 "src/prebuilt/wasm-ast-lexer-gen.c" yy381: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 332 "src/wasm-ast-lexer.c" - { OPCODE(I64_SHR_U); RETURN(BINARY); } -#line 2094 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 380 "src/wasm-ast-lexer.c" + { OPCODE(F64_LE); RETURN(COMPARE); } +#line 2887 "src/prebuilt/wasm-ast-lexer-gen.c" yy383: yych = *++lexer->cursor; - if (yych == '_') goto yy414; - goto yy82; + if (yych == 'a') goto yy519; + goto yy50; yy384: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 378 "src/wasm-ast-lexer.c" + { OPCODE(F64_LT); RETURN(COMPARE); } +#line 2899 "src/prebuilt/wasm-ast-lexer-gen.c" +yy386: yych = *++lexer->cursor; - if (yych == 'a') goto yy391; - goto yy82; -yy385: + if (yych == 'x') goto yy520; + goto yy50; +yy387: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'n') goto yy522; + goto yy50; +yy388: yych = *++lexer->cursor; - if (yych == 's') goto yy387; - if (yych == 'u') goto yy389; - goto yy82; -yy387: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 356 "src/wasm-ast-lexer.c" - { OPCODE(I64_LT_S); RETURN(COMPARE); } -#line 2117 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'l') goto yy524; + goto yy50; yy389: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 358 "src/wasm-ast-lexer.c" - { OPCODE(I64_LT_U); RETURN(COMPARE); } -#line 2125 "src/prebuilt/wasm-ast-lexer-gen.c" -yy391: - yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - ++lexer->cursor; - if ((yych = *lexer->cursor) <= '7') { - if (yych <= '+') { - if (yych <= '"') { - if (yych == '!') goto yy81; + if ((yych = *lexer->cursor) <= '[') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; } else { - if (yych <= '&') goto yy81; - if (yych >= '*') goto yy81; + if (yych <= '"') goto yy390; + if (yych <= '&') goto yy49; } } else { - if (yych <= '1') { - if (yych <= ',') goto yy393; - if (yych <= '0') goto yy81; - goto yy395; + if (yych <= ':') { + if (yych != ',') goto yy49; } else { - if (yych == '3') goto yy396; - goto yy81; + if (yych <= ';') goto yy390; + if (yych <= 'Z') goto yy49; } } } else { - if (yych <= '\\') { - if (yych <= ';') { - if (yych <= '8') goto yy394; - if (yych <= ':') goto yy81; + if (yych <= 'g') { + if (yych <= '`') { + if (yych != ']') goto yy49; } else { - if (yych != '[') goto yy81; + if (yych <= 'a') goto yy526; + if (yych <= 'f') goto yy49; + goto yy527; } } else { - if (yych <= '{') { - if (yych <= ']') goto yy393; - if (yych <= 'z') goto yy81; + if (yych <= '|') { + if (yych != '{') goto yy49; } else { - if (yych == '}') goto yy393; - if (yych <= '~') goto yy81; + if (yych == '~') goto yy49; } } } +yy390: +#line 376 "src/wasm-ast-lexer.c" + { OPCODE(F64_NE); RETURN(COMPARE); } +#line 2950 "src/prebuilt/wasm-ast-lexer-gen.c" +yy391: + yych = *++lexer->cursor; + if (yych == 'o') goto yy529; + goto yy50; +yy392: + yych = *++lexer->cursor; + if (yych == 'i') goto yy530; + goto yy50; yy393: -#line 257 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD); RETURN(LOAD); } -#line 2169 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'r') goto yy531; + goto yy50; yy394: yych = *++lexer->cursor; - if (yych == '_') goto yy409; - goto yy82; + if (yych == 'o') goto yy532; + goto yy50; yy395: yych = *++lexer->cursor; - if (yych == '6') goto yy403; - goto yy82; + if (yych == 'b') goto yy533; + goto yy50; yy396: yych = *++lexer->cursor; - if (yych != '2') goto yy82; + if (yych == 'u') goto yy535; + goto yy50; +yy397: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'c') goto yy536; + goto yy50; +yy398: yych = *++lexer->cursor; - if (yych == 's') goto yy399; - if (yych == 'u') goto yy401; - goto yy82; + if (yych == 'e') goto yy537; + goto yy50; yy399: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 272 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD32_S); RETURN(LOAD); } -#line 2194 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'd') goto yy538; + goto yy50; +yy400: + yych = *++lexer->cursor; + if (yych == 'd') goto yy540; + goto yy50; yy401: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 273 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD32_U); RETURN(LOAD); } -#line 2202 "src/prebuilt/wasm-ast-lexer-gen.c" -yy403: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'z') goto yy542; + goto yy50; +yy402: yych = *++lexer->cursor; - if (yych == 's') goto yy405; - if (yych == 'u') goto yy407; - goto yy82; -yy405: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 269 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD16_S); RETURN(LOAD); } -#line 2217 "src/prebuilt/wasm-ast-lexer-gen.c" -yy407: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 271 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD16_U); RETURN(LOAD); } -#line 2225 "src/prebuilt/wasm-ast-lexer-gen.c" -yy409: + if (yych == 'n') goto yy544; + goto yy50; +yy403: yych = *++lexer->cursor; - if (yych == 's') goto yy410; - if (yych == 'u') goto yy412; - goto yy82; -yy410: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 265 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD8_S); RETURN(LOAD); } -#line 2238 "src/prebuilt/wasm-ast-lexer-gen.c" -yy412: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 267 "src/wasm-ast-lexer.c" - { OPCODE(I64_LOAD8_U); RETURN(LOAD); } -#line 2246 "src/prebuilt/wasm-ast-lexer-gen.c" -yy414: + if (yych == 'z') goto yy545; + goto yy50; +yy404: yych = *++lexer->cursor; - if (yych == 's') goto yy415; - if (yych == 'u') goto yy417; - goto yy82; -yy415: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 360 "src/wasm-ast-lexer.c" - { OPCODE(I64_LE_S); RETURN(COMPARE); } -#line 2259 "src/prebuilt/wasm-ast-lexer-gen.c" -yy417: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 362 "src/wasm-ast-lexer.c" - { OPCODE(I64_LE_U); RETURN(COMPARE); } -#line 2267 "src/prebuilt/wasm-ast-lexer-gen.c" -yy419: + if (yych == 'v') goto yy547; + goto yy50; +yy405: ++lexer->cursor; - if ((yych = *lexer->cursor) <= ':') { + if ((yych = *lexer->cursor) <= 'Z') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy420; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy406; + if (yych <= '&') goto yy49; } } else { if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '+') goto yy49; } else { - if (yych == '.') goto yy421; - goto yy81; + if (yych != ';') goto yy49; } } } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych >= '<') goto yy81; + if (yych <= 'z') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; } else { - if (yych == '\\') goto yy81; + if (yych <= ']') goto yy406; + if (yych <= 'y') goto yy49; + goto yy548; } } else { if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych >= '|') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } +yy406: +#line 353 "src/wasm-ast-lexer.c" + { OPCODE(I32_EQ); RETURN(COMPARE); } +#line 3044 "src/prebuilt/wasm-ast-lexer-gen.c" +yy407: + yych = *++lexer->cursor; + if (yych == '_') goto yy550; + goto yy50; +yy408: + yych = *++lexer->cursor; + if (yych == '_') goto yy551; + goto yy50; +yy409: + yych = *++lexer->cursor; + if (yych == '_') goto yy552; + goto yy50; +yy410: + yych = *++lexer->cursor; + if (yych == 'a') goto yy553; + goto yy50; +yy411: + yych = *++lexer->cursor; + if (yych == '_') goto yy554; + goto yy50; +yy412: + yych = *++lexer->cursor; + if (yych == 'l') goto yy555; + goto yy50; +yy413: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 355 "src/wasm-ast-lexer.c" + { OPCODE(I32_NE); RETURN(COMPARE); } +#line 3076 "src/prebuilt/wasm-ast-lexer-gen.c" +yy415: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 325 "src/wasm-ast-lexer.c" + { OPCODE(I32_OR); RETURN(BINARY); } +#line 3084 "src/prebuilt/wasm-ast-lexer-gen.c" +yy417: + yych = *++lexer->cursor; + if (yych == 'p') goto yy557; + goto yy50; +yy418: + yych = *++lexer->cursor; + if (yych == 'i') goto yy558; + if (yych == 'm') goto yy559; + goto yy50; +yy419: + yych = *++lexer->cursor; + if (yych == 't') goto yy560; + goto yy50; yy420: -#line 235 "src/wasm-ast-lexer.c" - { TYPE(I32); RETURN(VALUE_TYPE); } -#line 2304 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'l') goto yy561; + if (yych == 'r') goto yy563; + goto yy50; yy421: yych = *++lexer->cursor; - switch (yych) { - case 'a': goto yy427; - case 'c': goto yy424; - case 'd': goto yy429; - case 'e': goto yy425; - case 'g': goto yy434; - case 'l': goto yy422; - case 'm': goto yy428; - case 'n': goto yy433; - case 'o': goto yy431; - case 'p': goto yy426; - case 'r': goto yy430; - case 's': goto yy423; - case 't': goto yy436; - case 'w': goto yy435; - case 'x': goto yy432; - default: goto yy82; - } + if (yych == 'o') goto yy564; + goto yy50; yy422: yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'e') goto yy573; - goto yy82; - } else { - if (yych <= 'o') goto yy574; - if (yych == 't') goto yy575; - goto yy82; - } + if (yych == 'b') goto yy565; + goto yy50; yy423: yych = *++lexer->cursor; - if (yych <= 's') { - if (yych == 'h') goto yy551; - goto yy82; - } else { - if (yych <= 't') goto yy552; - if (yych <= 'u') goto yy553; - goto yy82; - } + if (yych == 'u') goto yy567; + goto yy50; yy424: yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'l') goto yy540; - goto yy82; - } else { - if (yych <= 'o') goto yy541; - if (yych == 't') goto yy542; - goto yy82; - } + if (yych == 'a') goto yy568; + goto yy50; yy425: yych = *++lexer->cursor; - if (yych == 'q') goto yy536; - goto yy82; + if (yych == 'r') goto yy569; + goto yy50; yy426: yych = *++lexer->cursor; - if (yych == 'o') goto yy530; - goto yy82; + if (yych == 'd') goto yy571; + goto yy50; yy427: yych = *++lexer->cursor; - if (yych == 'd') goto yy524; - if (yych == 'n') goto yy525; - goto yy82; + if (yych == 'd') goto yy573; + goto yy50; yy428: yych = *++lexer->cursor; - if (yych == 'u') goto yy521; - goto yy82; + if (yych == 'z') goto yy575; + goto yy50; yy429: yych = *++lexer->cursor; - if (yych == 'i') goto yy514; - goto yy82; + if (yych == 'n') goto yy577; + goto yy50; yy430: yych = *++lexer->cursor; - if (yych == 'e') goto yy487; - if (yych == 'o') goto yy488; - goto yy82; + if (yych == 'z') goto yy578; + goto yy50; yy431: yych = *++lexer->cursor; - if (yych == 'r') goto yy485; - goto yy82; + if (yych == 'v') goto yy580; + goto yy50; yy432: - yych = *++lexer->cursor; - if (yych == 'o') goto yy482; - goto yy82; + ++lexer->cursor; + if ((yych = *lexer->cursor) <= 'Z') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy433; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych != ';') goto yy49; + } + } + } else { + if (yych <= 'z') { + if (yych <= '\\') { + if (yych >= '\\') goto yy49; + } else { + if (yych <= ']') goto yy433; + if (yych <= 'y') goto yy49; + goto yy581; + } + } else { + if (yych <= '|') { + if (yych >= '|') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } + } yy433: - yych = *++lexer->cursor; - if (yych == 'e') goto yy480; - goto yy82; +#line 354 "src/wasm-ast-lexer.c" + { OPCODE(I64_EQ); RETURN(COMPARE); } +#line 3184 "src/prebuilt/wasm-ast-lexer-gen.c" yy434: yych = *++lexer->cursor; - if (yych == 'e') goto yy468; - if (yych == 't') goto yy469; - goto yy82; + if (yych == 't') goto yy583; + goto yy50; yy435: yych = *++lexer->cursor; - if (yych == 'r') goto yy460; - goto yy82; + if (yych == '_') goto yy584; + goto yy50; yy436: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'u') goto yy82; - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == '_') goto yy585; + goto yy50; +yy437: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == '_') goto yy586; + goto yy50; +yy438: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'a') goto yy587; + goto yy50; +yy439: yych = *++lexer->cursor; - if (yych == 's') goto yy442; - if (yych == 'u') goto yy443; - goto yy82; -yy442: + if (yych == '_') goto yy588; + goto yy50; +yy440: yych = *++lexer->cursor; - if (yych == '/') goto yy452; - goto yy82; + if (yych == 'l') goto yy589; + goto yy50; +yy441: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 356 "src/wasm-ast-lexer.c" + { OPCODE(I64_NE); RETURN(COMPARE); } +#line 3220 "src/prebuilt/wasm-ast-lexer-gen.c" yy443: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 326 "src/wasm-ast-lexer.c" + { OPCODE(I64_OR); RETURN(BINARY); } +#line 3228 "src/prebuilt/wasm-ast-lexer-gen.c" +yy445: yych = *++lexer->cursor; - if (yych != '/') goto yy82; - yych = *++lexer->cursor; - if (yych != 'f') goto yy82; - yych = *++lexer->cursor; - if (yych == '3') goto yy446; - if (yych == '6') goto yy447; - goto yy82; + if (yych == 'p') goto yy591; + goto yy50; yy446: yych = *++lexer->cursor; - if (yych == '2') goto yy450; - goto yy82; + if (yych == 'i') goto yy592; + if (yych == 'm') goto yy593; + goto yy50; yy447: yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 392 "src/wasm-ast-lexer.c" - { OPCODE(I32_TRUNC_U_F64); RETURN(CONVERT); } -#line 2443 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 't') goto yy594; + goto yy50; +yy448: + yych = *++lexer->cursor; + if (yych == 'l') goto yy595; + if (yych == 'r') goto yy597; + goto yy50; +yy449: + yych = *++lexer->cursor; + if (yych == 'o') goto yy598; + goto yy50; yy450: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 390 "src/wasm-ast-lexer.c" - { OPCODE(I32_TRUNC_U_F32); RETURN(CONVERT); } -#line 2451 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'b') goto yy599; + goto yy50; +yy451: + yych = *++lexer->cursor; + if (yych == 'u') goto yy601; + goto yy50; yy452: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'r') goto yy602; + goto yy50; +yy453: yych = *++lexer->cursor; - if (yych == '3') goto yy454; - if (yych == '6') goto yy455; - goto yy82; + if (yych == 'e') goto yy604; + goto yy50; yy454: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 423 "src/wasm-ast-lexer.c" + { RETURN(IMPORT); } +#line 3274 "src/prebuilt/wasm-ast-lexer-gen.c" +yy456: yych = *++lexer->cursor; - if (yych == '2') goto yy458; - goto yy82; -yy455: - yych = *++lexer->cursor; - if (yych != '4') goto yy82; + if (yych == 't') goto yy606; + goto yy50; +yy457: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 388 "src/wasm-ast-lexer.c" - { OPCODE(I32_TRUNC_S_F64); RETURN(CONVERT); } -#line 2472 "src/prebuilt/wasm-ast-lexer-gen.c" -yy458: +#line 430 "src/wasm-ast-lexer.c" + { RETURN(INVOKE); } +#line 3286 "src/prebuilt/wasm-ast-lexer-gen.c" +yy459: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 386 "src/wasm-ast-lexer.c" - { OPCODE(I32_TRUNC_S_F32); RETURN(CONVERT); } -#line 2480 "src/prebuilt/wasm-ast-lexer-gen.c" -yy460: - yych = *++lexer->cursor; - if (yych != 'a') goto yy82; - yych = *++lexer->cursor; - if (yych != 'p') goto yy82; - yych = *++lexer->cursor; - if (yych != '/') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; +#line 420 "src/wasm-ast-lexer.c" + { RETURN(MEMORY); } +#line 3294 "src/prebuilt/wasm-ast-lexer-gen.c" +yy461: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 419 "src/wasm-ast-lexer.c" + { RETURN(MODULE); } +#line 3302 "src/prebuilt/wasm-ast-lexer-gen.c" +yy463: yych = *++lexer->cursor; - if (yych != '6') goto yy82; + if (yych <= '@') { + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy607; + goto yy50; + } else { + if (yych <= 'F') goto yy607; + if (yych <= '`') goto yy50; + if (yych <= 'f') goto yy607; + goto yy50; + } +yy464: yych = *++lexer->cursor; - if (yych != '4') goto yy82; + if (yych == '=') goto yy609; + goto yy50; +yy465: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 385 "src/wasm-ast-lexer.c" - { OPCODE(I32_WRAP_I64); RETURN(CONVERT); } -#line 2500 "src/prebuilt/wasm-ast-lexer-gen.c" -yy468: - yych = *++lexer->cursor; - if (yych == '_') goto yy475; - goto yy82; +#line 417 "src/wasm-ast-lexer.c" + { RETURN(RESULT); } +#line 3326 "src/prebuilt/wasm-ast-lexer-gen.c" +yy467: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 255 "src/wasm-ast-lexer.c" + { RETURN(RETURN); } +#line 3334 "src/prebuilt/wasm-ast-lexer-gen.c" yy469: yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy471; - if (yych == 'u') goto yy473; - goto yy82; -yy471: + if (yych == 't') goto yy610; + goto yy50; +yy470: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 363 "src/wasm-ast-lexer.c" - { OPCODE(I32_GT_S); RETURN(COMPARE); } -#line 2519 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 410 "src/wasm-ast-lexer.c" + { RETURN(SELECT); } +#line 3346 "src/prebuilt/wasm-ast-lexer-gen.c" +yy472: + yych = *++lexer->cursor; + if (yych == 'c') goto yy612; + goto yy50; yy473: + yych = *++lexer->cursor; + if (yych == 'h') goto yy613; + goto yy50; +yy474: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy476; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy474; + goto yy49; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; + } else { + if (yych == '\\') goto yy49; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -#line 365 "src/wasm-ast-lexer.c" - { OPCODE(I32_GT_U); RETURN(COMPARE); } -#line 2527 "src/prebuilt/wasm-ast-lexer-gen.c" -yy475: - yych = *++lexer->cursor; - if (yych == 's') goto yy476; - if (yych == 'u') goto yy478; - goto yy82; yy476: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; +#line 282 "src/wasm-ast-lexer.c" + { TEXT_AT(6); RETURN(ALIGN); } +#line 3394 "src/prebuilt/wasm-ast-lexer-gen.c" +yy477: + yych = *++lexer->cursor; + if (yych <= 'q') { + if (yych == 'i') goto yy614; + goto yy50; + } else { + if (yych <= 'r') goto yy615; + if (yych == 't') goto yy616; + goto yy50; } -#line 367 "src/wasm-ast-lexer.c" - { OPCODE(I32_GE_S); RETURN(COMPARE); } -#line 2540 "src/prebuilt/wasm-ast-lexer-gen.c" yy478: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 369 "src/wasm-ast-lexer.c" - { OPCODE(I32_GE_U); RETURN(COMPARE); } -#line 2548 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'e') goto yy617; + goto yy50; +yy479: + yych = *++lexer->cursor; + if (yych == 'p') goto yy619; + goto yy50; yy480: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 353 "src/wasm-ast-lexer.c" - { OPCODE(I32_NE); RETURN(COMPARE); } -#line 2556 "src/prebuilt/wasm-ast-lexer-gen.c" -yy482: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'd') goto yy620; + goto yy50; +yy481: + yych = *++lexer->cursor; + if (yych == '_') goto yy621; + goto yy50; +yy482: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 325 "src/wasm-ast-lexer.c" - { OPCODE(I32_XOR); RETURN(BINARY); } -#line 2566 "src/prebuilt/wasm-ast-lexer-gen.c" -yy485: +#line 297 "src/wasm-ast-lexer.c" + { OPCODE(F32_ABS); RETURN(UNARY); } +#line 3428 "src/prebuilt/wasm-ast-lexer-gen.c" +yy484: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 323 "src/wasm-ast-lexer.c" - { OPCODE(I32_OR); RETURN(BINARY); } -#line 2574 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 339 "src/wasm-ast-lexer.c" + { OPCODE(F32_ADD); RETURN(BINARY); } +#line 3436 "src/prebuilt/wasm-ast-lexer-gen.c" +yy486: + yych = *++lexer->cursor; + if (yych == 'l') goto yy622; + goto yy50; yy487: yych = *++lexer->cursor; - if (yych == 'i') goto yy495; - if (yych == 'm') goto yy494; - goto yy82; + if (yych == 's') goto yy624; + if (yych == 'v') goto yy625; + goto yy50; yy488: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'y') goto yy626; + goto yy50; +yy489: yych = *++lexer->cursor; - if (yych == 'l') goto yy490; - if (yych == 'r') goto yy492; - goto yy82; + if (yych == 'o') goto yy627; + goto yy50; yy490: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 333 "src/wasm-ast-lexer.c" - { OPCODE(I32_ROTL); RETURN(BINARY); } -#line 2594 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 345 "src/wasm-ast-lexer.c" + { OPCODE(F32_DIV); RETURN(BINARY); } +#line 3461 "src/prebuilt/wasm-ast-lexer-gen.c" yy492: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 335 "src/wasm-ast-lexer.c" - { OPCODE(I32_ROTR); RETURN(BINARY); } -#line 2602 "src/prebuilt/wasm-ast-lexer-gen.c" -yy494: - yych = *++lexer->cursor; - if (yych == '_') goto yy509; - goto yy82; -yy495: - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'o') goto yy628; + goto yy50; +yy493: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'd') goto yy629; + goto yy50; +yy494: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 349 "src/wasm-ast-lexer.c" + { OPCODE(F32_MAX); RETURN(BINARY); } +#line 3477 "src/prebuilt/wasm-ast-lexer-gen.c" +yy496: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 347 "src/wasm-ast-lexer.c" + { OPCODE(F32_MIN); RETURN(BINARY); } +#line 3485 "src/prebuilt/wasm-ast-lexer-gen.c" +yy498: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 343 "src/wasm-ast-lexer.c" + { OPCODE(F32_MUL); RETURN(BINARY); } +#line 3493 "src/prebuilt/wasm-ast-lexer-gen.c" +yy500: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 'r') goto yy631; + goto yy50; +yy501: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 295 "src/wasm-ast-lexer.c" + { OPCODE(F32_NEG); RETURN(UNARY); } +#line 3505 "src/prebuilt/wasm-ast-lexer-gen.c" +yy503: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'n') goto yy632; + goto yy50; +yy504: yych = *++lexer->cursor; - if (yych != '3') goto yy82; + if (yych == 't') goto yy633; + goto yy50; +yy505: yych = *++lexer->cursor; - if (yych != '2') goto yy82; + if (yych == 'r') goto yy635; + goto yy50; +yy506: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 405 "src/wasm-ast-lexer.c" - { OPCODE(I32_REINTERPRET_F32); RETURN(CONVERT); } -#line 2638 "src/prebuilt/wasm-ast-lexer-gen.c" -yy509: +#line 341 "src/wasm-ast-lexer.c" + { OPCODE(F32_SUB); RETURN(BINARY); } +#line 3525 "src/prebuilt/wasm-ast-lexer-gen.c" +yy508: yych = *++lexer->cursor; - if (yych == 's') goto yy510; - if (yych == 'u') goto yy512; - goto yy82; -yy510: + if (yych == 'n') goto yy636; + goto yy50; +yy509: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 317 "src/wasm-ast-lexer.c" - { OPCODE(I32_REM_S); RETURN(BINARY); } -#line 2651 "src/prebuilt/wasm-ast-lexer-gen.c" -yy512: +#line 298 "src/wasm-ast-lexer.c" + { OPCODE(F64_ABS); RETURN(UNARY); } +#line 3537 "src/prebuilt/wasm-ast-lexer-gen.c" +yy511: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 319 "src/wasm-ast-lexer.c" - { OPCODE(I32_REM_U); RETURN(BINARY); } -#line 2659 "src/prebuilt/wasm-ast-lexer-gen.c" -yy514: +#line 340 "src/wasm-ast-lexer.c" + { OPCODE(F64_ADD); RETURN(BINARY); } +#line 3545 "src/prebuilt/wasm-ast-lexer-gen.c" +yy513: yych = *++lexer->cursor; - if (yych != 'v') goto yy82; + if (yych == 'l') goto yy637; + goto yy50; +yy514: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 's') goto yy639; + if (yych == 'v') goto yy640; + goto yy50; +yy515: yych = *++lexer->cursor; - if (yych == 's') goto yy517; - if (yych == 'u') goto yy519; - goto yy82; -yy517: + if (yych == 'y') goto yy641; + goto yy50; +yy516: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 313 "src/wasm-ast-lexer.c" - { OPCODE(I32_DIV_S); RETURN(BINARY); } -#line 2676 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 346 "src/wasm-ast-lexer.c" + { OPCODE(F64_DIV); RETURN(BINARY); } +#line 3566 "src/prebuilt/wasm-ast-lexer-gen.c" +yy518: + yych = *++lexer->cursor; + if (yych == 'o') goto yy642; + goto yy50; yy519: + yych = *++lexer->cursor; + if (yych == 'd') goto yy643; + goto yy50; +yy520: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 315 "src/wasm-ast-lexer.c" - { OPCODE(I32_DIV_U); RETURN(BINARY); } -#line 2684 "src/prebuilt/wasm-ast-lexer-gen.c" -yy521: - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; +#line 350 "src/wasm-ast-lexer.c" + { OPCODE(F64_MAX); RETURN(BINARY); } +#line 3582 "src/prebuilt/wasm-ast-lexer-gen.c" +yy522: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 311 "src/wasm-ast-lexer.c" - { OPCODE(I32_MUL); RETURN(BINARY); } -#line 2694 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 348 "src/wasm-ast-lexer.c" + { OPCODE(F64_MIN); RETURN(BINARY); } +#line 3590 "src/prebuilt/wasm-ast-lexer-gen.c" yy524: - yych = *++lexer->cursor; - if (yych == 'd') goto yy528; - goto yy82; -yy525: - yych = *++lexer->cursor; - if (yych != 'd') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 321 "src/wasm-ast-lexer.c" - { OPCODE(I32_AND); RETURN(BINARY); } -#line 2708 "src/prebuilt/wasm-ast-lexer-gen.c" -yy528: +#line 344 "src/wasm-ast-lexer.c" + { OPCODE(F64_MUL); RETURN(BINARY); } +#line 3598 "src/prebuilt/wasm-ast-lexer-gen.c" +yy526: + yych = *++lexer->cursor; + if (yych == 'r') goto yy645; + goto yy50; +yy527: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 307 "src/wasm-ast-lexer.c" - { OPCODE(I32_ADD); RETURN(BINARY); } -#line 2716 "src/prebuilt/wasm-ast-lexer-gen.c" -yy530: +#line 296 "src/wasm-ast-lexer.c" + { OPCODE(F64_NEG); RETURN(UNARY); } +#line 3610 "src/prebuilt/wasm-ast-lexer-gen.c" +yy529: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == 'm') goto yy646; + goto yy50; +yy530: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == 'n') goto yy647; + goto yy50; +yy531: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 't') goto yy648; + goto yy50; +yy532: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'r') goto yy650; + goto yy50; +yy533: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 291 "src/wasm-ast-lexer.c" - { OPCODE(I32_POPCNT); RETURN(UNARY); } -#line 2732 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 342 "src/wasm-ast-lexer.c" + { OPCODE(F64_SUB); RETURN(BINARY); } +#line 3634 "src/prebuilt/wasm-ast-lexer-gen.c" +yy535: + yych = *++lexer->cursor; + if (yych == 'n') goto yy651; + goto yy50; yy536: - ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'Z') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy537; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych != ';') goto yy81; - } - } - } else { - if (yych <= 'z') { - if (yych <= '\\') { - if (yych >= '\\') goto yy81; - } else { - if (yych <= ']') goto yy537; - if (yych <= 'y') goto yy81; - goto yy538; - } - } else { - if (yych <= '|') { - if (yych >= '|') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } - } + yych = *++lexer->cursor; + if (yych == 'a') goto yy652; + goto yy50; yy537: -#line 351 "src/wasm-ast-lexer.c" - { OPCODE(I32_EQ); RETURN(COMPARE); } -#line 2770 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'm') goto yy653; + goto yy50; yy538: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 285 "src/wasm-ast-lexer.c" - { OPCODE(I32_EQZ); RETURN(CONVERT); } -#line 2778 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 309 "src/wasm-ast-lexer.c" + { OPCODE(I32_ADD); RETURN(BINARY); } +#line 3654 "src/prebuilt/wasm-ast-lexer-gen.c" yy540: - yych = *++lexer->cursor; - if (yych == 'z') goto yy549; - goto yy82; -yy541: - yych = *++lexer->cursor; - if (yych == 'n') goto yy545; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 323 "src/wasm-ast-lexer.c" + { OPCODE(I32_AND); RETURN(BINARY); } +#line 3662 "src/prebuilt/wasm-ast-lexer-gen.c" yy542: - yych = *++lexer->cursor; - if (yych != 'z') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } #line 289 "src/wasm-ast-lexer.c" - { OPCODE(I32_CTZ); RETURN(UNARY); } -#line 2796 "src/prebuilt/wasm-ast-lexer-gen.c" -yy545: - yych = *++lexer->cursor; - if (yych != 's') goto yy82; + { OPCODE(I32_CLZ); RETURN(UNARY); } +#line 3670 "src/prebuilt/wasm-ast-lexer-gen.c" +yy544: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 's') goto yy654; + goto yy50; +yy545: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 281 "src/wasm-ast-lexer.c" - { TYPE(I32); RETURN(CONST); } -#line 2808 "src/prebuilt/wasm-ast-lexer-gen.c" -yy549: +#line 291 "src/wasm-ast-lexer.c" + { OPCODE(I32_CTZ); RETURN(UNARY); } +#line 3682 "src/prebuilt/wasm-ast-lexer-gen.c" +yy547: + yych = *++lexer->cursor; + if (yych == '_') goto yy655; + goto yy50; +yy548: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } #line 287 "src/wasm-ast-lexer.c" - { OPCODE(I32_CLZ); RETURN(UNARY); } -#line 2816 "src/prebuilt/wasm-ast-lexer-gen.c" + { OPCODE(I32_EQZ); RETURN(CONVERT); } +#line 3694 "src/prebuilt/wasm-ast-lexer-gen.c" +yy550: + yych = *++lexer->cursor; + if (yych == 's') goto yy656; + if (yych == 'u') goto yy658; + goto yy50; yy551: yych = *++lexer->cursor; - if (yych == 'l') goto yy565; - if (yych == 'r') goto yy567; - goto yy82; + if (yych == 's') goto yy660; + if (yych == 'u') goto yy662; + goto yy50; yy552: yych = *++lexer->cursor; - if (yych == 'o') goto yy556; - goto yy82; + if (yych == 's') goto yy664; + if (yych == 'u') goto yy666; + goto yy50; yy553: yych = *++lexer->cursor; - if (yych != 'b') goto yy82; + if (yych == 'd') goto yy668; + goto yy50; +yy554: + yych = *++lexer->cursor; + if (yych == 's') goto yy670; + if (yych == 'u') goto yy672; + goto yy50; +yy555: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 309 "src/wasm-ast-lexer.c" - { OPCODE(I32_SUB); RETURN(BINARY); } -#line 2835 "src/prebuilt/wasm-ast-lexer-gen.c" -yy556: +#line 313 "src/wasm-ast-lexer.c" + { OPCODE(I32_MUL); RETURN(BINARY); } +#line 3726 "src/prebuilt/wasm-ast-lexer-gen.c" +yy557: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'c') goto yy674; + goto yy50; +yy558: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if ((yych = *lexer->cursor) <= '8') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy559; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= '0') { - if (yych != ',') goto yy81; - } else { - if (yych <= '1') goto yy560; - if (yych <= '7') goto yy81; - goto yy561; - } - } - } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych != ';') goto yy81; - } else { - if (yych == '\\') goto yy81; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } - } + if (yych == 'n') goto yy675; + goto yy50; yy559: -#line 260 "src/wasm-ast-lexer.c" - { OPCODE(I32_STORE); RETURN(STORE); } -#line 2877 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == '_') goto yy676; + goto yy50; yy560: yych = *++lexer->cursor; - if (yych == '6') goto yy563; - goto yy82; + if (yych == 'l') goto yy677; + if (yych == 'r') goto yy679; + goto yy50; yy561: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 274 "src/wasm-ast-lexer.c" - { OPCODE(I32_STORE8); RETURN(STORE); } -#line 2889 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 329 "src/wasm-ast-lexer.c" + { OPCODE(I32_SHL); RETURN(BINARY); } +#line 3751 "src/prebuilt/wasm-ast-lexer-gen.c" yy563: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 276 "src/wasm-ast-lexer.c" - { OPCODE(I32_STORE16); RETURN(STORE); } -#line 2897 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == '_') goto yy681; + goto yy50; +yy564: + yych = *++lexer->cursor; + if (yych == 'r') goto yy682; + goto yy50; yy565: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 327 "src/wasm-ast-lexer.c" - { OPCODE(I32_SHL); RETURN(BINARY); } -#line 2905 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 311 "src/wasm-ast-lexer.c" + { OPCODE(I32_SUB); RETURN(BINARY); } +#line 3767 "src/prebuilt/wasm-ast-lexer-gen.c" yy567: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'n') goto yy683; + goto yy50; +yy568: yych = *++lexer->cursor; - if (yych == 's') goto yy569; - if (yych == 'u') goto yy571; - goto yy82; + if (yych == 'p') goto yy684; + goto yy50; yy569: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 329 "src/wasm-ast-lexer.c" - { OPCODE(I32_SHR_S); RETURN(BINARY); } -#line 2920 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 327 "src/wasm-ast-lexer.c" + { OPCODE(I32_XOR); RETURN(BINARY); } +#line 3783 "src/prebuilt/wasm-ast-lexer-gen.c" yy571: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 331 "src/wasm-ast-lexer.c" - { OPCODE(I32_SHR_U); RETURN(BINARY); } -#line 2928 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 310 "src/wasm-ast-lexer.c" + { OPCODE(I64_ADD); RETURN(BINARY); } +#line 3791 "src/prebuilt/wasm-ast-lexer-gen.c" yy573: - yych = *++lexer->cursor; - if (yych == '_') goto yy597; - goto yy82; -yy574: - yych = *++lexer->cursor; - if (yych == 'a') goto yy581; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 324 "src/wasm-ast-lexer.c" + { OPCODE(I64_AND); RETURN(BINARY); } +#line 3799 "src/prebuilt/wasm-ast-lexer-gen.c" yy575: - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy577; - if (yych == 'u') goto yy579; - goto yy82; -yy577: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 355 "src/wasm-ast-lexer.c" - { OPCODE(I32_LT_S); RETURN(COMPARE); } -#line 2951 "src/prebuilt/wasm-ast-lexer-gen.c" -yy579: +#line 290 "src/wasm-ast-lexer.c" + { OPCODE(I64_CLZ); RETURN(UNARY); } +#line 3807 "src/prebuilt/wasm-ast-lexer-gen.c" +yy577: + yych = *++lexer->cursor; + if (yych == 's') goto yy685; + goto yy50; +yy578: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 357 "src/wasm-ast-lexer.c" - { OPCODE(I32_LT_U); RETURN(COMPARE); } -#line 2959 "src/prebuilt/wasm-ast-lexer-gen.c" -yy581: +#line 292 "src/wasm-ast-lexer.c" + { OPCODE(I64_CTZ); RETURN(UNARY); } +#line 3819 "src/prebuilt/wasm-ast-lexer-gen.c" +yy580: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; + if (yych == '_') goto yy686; + goto yy50; +yy581: ++lexer->cursor; - if ((yych = *lexer->cursor) <= '8') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy583; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= '0') { - if (yych != ',') goto yy81; - } else { - if (yych <= '1') goto yy585; - if (yych <= '7') goto yy81; - goto yy584; - } - } - } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych != ';') goto yy81; - } else { - if (yych == '\\') goto yy81; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 288 "src/wasm-ast-lexer.c" + { OPCODE(I64_EQZ); RETURN(CONVERT); } +#line 3831 "src/prebuilt/wasm-ast-lexer-gen.c" yy583: -#line 256 "src/wasm-ast-lexer.c" - { OPCODE(I32_LOAD); RETURN(LOAD); } -#line 2999 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'e') goto yy687; + goto yy50; yy584: yych = *++lexer->cursor; - if (yych == '_') goto yy592; - goto yy82; + if (yych == 's') goto yy688; + if (yych == 'u') goto yy690; + goto yy50; yy585: yych = *++lexer->cursor; - if (yych != '6') goto yy82; + if (yych == 's') goto yy692; + if (yych == 'u') goto yy694; + goto yy50; +yy586: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 's') goto yy696; + if (yych == 'u') goto yy698; + goto yy50; +yy587: yych = *++lexer->cursor; - if (yych == 's') goto yy588; - if (yych == 'u') goto yy590; - goto yy82; + if (yych == 'd') goto yy700; + goto yy50; yy588: + yych = *++lexer->cursor; + if (yych == 's') goto yy702; + if (yych == 'u') goto yy704; + goto yy50; +yy589: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 268 "src/wasm-ast-lexer.c" - { OPCODE(I32_LOAD16_S); RETURN(LOAD); } -#line 3020 "src/prebuilt/wasm-ast-lexer-gen.c" -yy590: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 270 "src/wasm-ast-lexer.c" - { OPCODE(I32_LOAD16_U); RETURN(LOAD); } -#line 3028 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 314 "src/wasm-ast-lexer.c" + { OPCODE(I64_MUL); RETURN(BINARY); } +#line 3867 "src/prebuilt/wasm-ast-lexer-gen.c" +yy591: + yych = *++lexer->cursor; + if (yych == 'c') goto yy706; + goto yy50; yy592: yych = *++lexer->cursor; - if (yych == 's') goto yy593; - if (yych == 'u') goto yy595; - goto yy82; + if (yych == 'n') goto yy707; + goto yy50; yy593: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 264 "src/wasm-ast-lexer.c" - { OPCODE(I32_LOAD8_S); RETURN(LOAD); } -#line 3041 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == '_') goto yy708; + goto yy50; +yy594: + yych = *++lexer->cursor; + if (yych == 'l') goto yy709; + if (yych == 'r') goto yy711; + goto yy50; yy595: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 266 "src/wasm-ast-lexer.c" - { OPCODE(I32_LOAD8_U); RETURN(LOAD); } -#line 3049 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 330 "src/wasm-ast-lexer.c" + { OPCODE(I64_SHL); RETURN(BINARY); } +#line 3892 "src/prebuilt/wasm-ast-lexer-gen.c" yy597: yych = *++lexer->cursor; - if (yych == 's') goto yy598; - if (yych == 'u') goto yy600; - goto yy82; + if (yych == '_') goto yy713; + goto yy50; yy598: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 359 "src/wasm-ast-lexer.c" - { OPCODE(I32_LE_S); RETURN(COMPARE); } -#line 3062 "src/prebuilt/wasm-ast-lexer-gen.c" -yy600: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 361 "src/wasm-ast-lexer.c" - { OPCODE(I32_LE_U); RETURN(COMPARE); } -#line 3070 "src/prebuilt/wasm-ast-lexer-gen.c" -yy602: - yych = *++lexer->cursor; - if (yych == 't') goto yy614; - goto yy82; -yy603: - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; - yych = *++lexer->cursor; - if (yych != 'w') goto yy82; - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych != 'm') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'm') goto yy82; - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'y') goto yy82; + if (yych == 'r') goto yy714; + goto yy50; +yy599: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 411 "src/wasm-ast-lexer.c" - { RETURN(GROW_MEMORY); } -#line 3100 "src/prebuilt/wasm-ast-lexer-gen.c" -yy614: - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; - yych = *++lexer->cursor; - if (yych != 'c') goto yy82; - yych = *++lexer->cursor; - if (yych != 'a') goto yy82; +#line 312 "src/wasm-ast-lexer.c" + { OPCODE(I64_SUB); RETURN(BINARY); } +#line 3908 "src/prebuilt/wasm-ast-lexer-gen.c" +yy601: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'n') goto yy715; + goto yy50; +yy602: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 254 "src/wasm-ast-lexer.c" - { RETURN(GET_LOCAL); } -#line 3120 "src/prebuilt/wasm-ast-lexer-gen.c" -yy622: - yych = *++lexer->cursor; - if (yych == '2') goto yy773; - goto yy82; -yy623: - yych = *++lexer->cursor; - if (yych == '4') goto yy628; - goto yy82; -yy624: - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - yych = *++lexer->cursor; - if (yych != 'c') goto yy82; +#line 328 "src/wasm-ast-lexer.c" + { OPCODE(I64_XOR); RETURN(BINARY); } +#line 3920 "src/prebuilt/wasm-ast-lexer-gen.c" +yy604: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 413 "src/wasm-ast-lexer.c" - { RETURN(FUNC); } -#line 3140 "src/prebuilt/wasm-ast-lexer-gen.c" -yy628: +#line 244 "src/wasm-ast-lexer.c" + { RETURN(IF); } +#line 3928 "src/prebuilt/wasm-ast-lexer-gen.c" +yy606: + yych = *++lexer->cursor; + if (yych == 'y') goto yy716; + goto yy50; +yy607: ++lexer->cursor; - if ((yych = *lexer->cursor) <= ':') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= '@') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; + goto yy177; } else { - if (yych <= '"') goto yy629; - if (yych <= '&') goto yy81; + if (yych <= '&') goto yy49; + if (yych <= ')') goto yy177; + goto yy49; } } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '9') { + if (yych <= ',') goto yy177; + if (yych <= '/') goto yy49; + goto yy607; } else { - if (yych == '.') goto yy630; - goto yy81; + if (yych == ';') goto yy177; + goto yy49; } } } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych >= '<') goto yy81; + if (yych <= '`') { + if (yych <= '[') { + if (yych <= 'F') goto yy607; + if (yych <= 'Z') goto yy49; + goto yy177; } else { - if (yych == '\\') goto yy81; + if (yych == ']') goto yy177; + goto yy49; } } else { - if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych <= '{') { + if (yych <= 'f') goto yy607; + if (yych <= 'z') goto yy49; + goto yy177; } else { - if (yych == '~') goto yy81; + if (yych == '}') goto yy177; + if (yych <= '~') goto yy49; + goto yy177; } } } -yy629: -#line 238 "src/wasm-ast-lexer.c" - { TYPE(F64); RETURN(VALUE_TYPE); } -#line 3177 "src/prebuilt/wasm-ast-lexer-gen.c" -yy630: - yych = *++lexer->cursor; - switch (yych) { - case 'a': goto yy635; - case 'c': goto yy633; - case 'd': goto yy639; - case 'e': goto yy640; - case 'f': goto yy636; - case 'g': goto yy641; - case 'l': goto yy631; - case 'm': goto yy638; - case 'n': goto yy634; - case 'p': goto yy642; - case 'r': goto yy643; - case 's': goto yy632; - case 't': goto yy637; - default: goto yy82; - } -yy631: - yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'e') goto yy765; - goto yy82; - } else { - if (yych <= 'o') goto yy767; - if (yych == 't') goto yy768; - goto yy82; - } -yy632: +yy609: yych = *++lexer->cursor; - if (yych <= 's') { - if (yych == 'q') goto yy753; - goto yy82; - } else { - if (yych <= 't') goto yy754; - if (yych <= 'u') goto yy755; - goto yy82; + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy717; + goto yy50; +yy610: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy633: - yych = *++lexer->cursor; - if (yych == 'e') goto yy714; - if (yych == 'o') goto yy715; - goto yy82; -yy634: +#line 421 "src/wasm-ast-lexer.c" + { RETURN(SEGMENT); } +#line 3991 "src/prebuilt/wasm-ast-lexer-gen.c" +yy612: yych = *++lexer->cursor; - if (yych == 'e') goto yy704; - goto yy82; -yy635: + if (yych == 'a') goto yy720; + goto yy50; +yy613: yych = *++lexer->cursor; - if (yych == 'b') goto yy698; - if (yych == 'd') goto yy699; - goto yy82; -yy636: + if (yych == 'a') goto yy721; + goto yy50; +yy614: yych = *++lexer->cursor; - if (yych == 'l') goto yy693; - goto yy82; -yy637: + if (yych == 'n') goto yy722; + goto yy50; +yy615: yych = *++lexer->cursor; - if (yych == 'r') goto yy688; - goto yy82; -yy638: + if (yych == 'e') goto yy723; + goto yy50; +yy616: yych = *++lexer->cursor; - if (yych <= 'h') { - if (yych == 'a') goto yy679; - goto yy82; - } else { - if (yych <= 'i') goto yy680; - if (yych == 'u') goto yy681; - goto yy82; + if (yych == 'r') goto yy724; + goto yy50; +yy617: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy639: - yych = *++lexer->cursor; - if (yych == 'i') goto yy676; - goto yy82; -yy640: - yych = *++lexer->cursor; - if (yych == 'q') goto yy674; - goto yy82; -yy641: +#line 250 "src/wasm-ast-lexer.c" + { RETURN(BR_TABLE); } +#line 4019 "src/prebuilt/wasm-ast-lexer-gen.c" +yy619: yych = *++lexer->cursor; - if (yych == 'e') goto yy670; - if (yych == 't') goto yy672; - goto yy82; -yy642: + if (yych == 'o') goto yy725; + goto yy50; +yy620: yych = *++lexer->cursor; - if (yych == 'r') goto yy659; - goto yy82; -yy643: + if (yych == 'i') goto yy726; + goto yy50; +yy621: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'm') goto yy727; + goto yy50; +yy622: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 301 "src/wasm-ast-lexer.c" + { OPCODE(F32_CEIL); RETURN(UNARY); } +#line 4039 "src/prebuilt/wasm-ast-lexer-gen.c" +yy624: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 't') goto yy728; + goto yy50; +yy625: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'e') goto yy730; + goto yy50; +yy626: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 's') goto yy731; + goto yy50; +yy627: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 't') goto yy732; + goto yy50; +yy628: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'r') goto yy733; + goto yy50; +yy629: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 260 "src/wasm-ast-lexer.c" + { OPCODE(F32_LOAD); RETURN(LOAD); } +#line 4067 "src/prebuilt/wasm-ast-lexer-gen.c" +yy631: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == 'e') goto yy735; + goto yy50; +yy632: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 't') goto yy736; + goto yy50; +yy633: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 299 "src/wasm-ast-lexer.c" + { OPCODE(F32_SQRT); RETURN(UNARY); } +#line 4083 "src/prebuilt/wasm-ast-lexer-gen.c" +yy635: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'e') goto yy737; + goto yy50; +yy636: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'c') goto yy739; + goto yy50; +yy637: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 302 "src/wasm-ast-lexer.c" + { OPCODE(F64_CEIL); RETURN(UNARY); } +#line 4099 "src/prebuilt/wasm-ast-lexer-gen.c" +yy639: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 't') goto yy741; + goto yy50; +yy640: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 'e') goto yy743; + goto yy50; +yy641: yych = *++lexer->cursor; - if (yych != '6') goto yy82; + if (yych == 's') goto yy744; + goto yy50; +yy642: yych = *++lexer->cursor; - if (yych != '4') goto yy82; + if (yych == 'r') goto yy745; + goto yy50; +yy643: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 406 "src/wasm-ast-lexer.c" - { OPCODE(F64_REINTERPRET_I64); RETURN(CONVERT); } -#line 3300 "src/prebuilt/wasm-ast-lexer-gen.c" -yy659: +#line 261 "src/wasm-ast-lexer.c" + { OPCODE(F64_LOAD); RETURN(LOAD); } +#line 4123 "src/prebuilt/wasm-ast-lexer-gen.c" +yy645: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'e') goto yy747; + goto yy50; +yy646: yych = *++lexer->cursor; - if (yych != 'm') goto yy82; + if (yych == 'o') goto yy748; + goto yy50; +yy647: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 't') goto yy749; + goto yy50; +yy648: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 300 "src/wasm-ast-lexer.c" + { OPCODE(F64_SQRT); RETURN(UNARY); } +#line 4143 "src/prebuilt/wasm-ast-lexer-gen.c" +yy650: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'e') goto yy750; + goto yy50; +yy651: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'c') goto yy752; + goto yy50; +yy652: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 'l') goto yy754; + goto yy50; +yy653: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'o') goto yy756; + goto yy50; +yy654: yych = *++lexer->cursor; - if (yych != '3') goto yy82; + if (yych == 't') goto yy757; + goto yy50; +yy655: yych = *++lexer->cursor; - if (yych != '2') goto yy82; + if (yych == 's') goto yy759; + if (yych == 'u') goto yy761; + goto yy50; +yy656: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 402 "src/wasm-ast-lexer.c" - { OPCODE(F64_PROMOTE_F32); RETURN(CONVERT); } -#line 3326 "src/prebuilt/wasm-ast-lexer-gen.c" -yy670: +#line 369 "src/wasm-ast-lexer.c" + { OPCODE(I32_GE_S); RETURN(COMPARE); } +#line 4176 "src/prebuilt/wasm-ast-lexer-gen.c" +yy658: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 382 "src/wasm-ast-lexer.c" - { OPCODE(F64_GE); RETURN(COMPARE); } -#line 3334 "src/prebuilt/wasm-ast-lexer-gen.c" -yy672: +#line 371 "src/wasm-ast-lexer.c" + { OPCODE(I32_GE_U); RETURN(COMPARE); } +#line 4184 "src/prebuilt/wasm-ast-lexer-gen.c" +yy660: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 380 "src/wasm-ast-lexer.c" - { OPCODE(F64_GT); RETURN(COMPARE); } -#line 3342 "src/prebuilt/wasm-ast-lexer-gen.c" -yy674: +#line 365 "src/wasm-ast-lexer.c" + { OPCODE(I32_GT_S); RETURN(COMPARE); } +#line 4192 "src/prebuilt/wasm-ast-lexer-gen.c" +yy662: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 372 "src/wasm-ast-lexer.c" - { OPCODE(F64_EQ); RETURN(COMPARE); } -#line 3350 "src/prebuilt/wasm-ast-lexer-gen.c" -yy676: - yych = *++lexer->cursor; - if (yych != 'v') goto yy82; +#line 367 "src/wasm-ast-lexer.c" + { OPCODE(I32_GT_U); RETURN(COMPARE); } +#line 4200 "src/prebuilt/wasm-ast-lexer-gen.c" +yy664: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 344 "src/wasm-ast-lexer.c" - { OPCODE(F64_DIV); RETURN(BINARY); } -#line 3360 "src/prebuilt/wasm-ast-lexer-gen.c" -yy679: - yych = *++lexer->cursor; - if (yych == 'x') goto yy686; - goto yy82; -yy680: - yych = *++lexer->cursor; - if (yych == 'n') goto yy684; - goto yy82; -yy681: - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; +#line 361 "src/wasm-ast-lexer.c" + { OPCODE(I32_LE_S); RETURN(COMPARE); } +#line 4208 "src/prebuilt/wasm-ast-lexer-gen.c" +yy666: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 342 "src/wasm-ast-lexer.c" - { OPCODE(F64_MUL); RETURN(BINARY); } -#line 3378 "src/prebuilt/wasm-ast-lexer-gen.c" -yy684: +#line 363 "src/wasm-ast-lexer.c" + { OPCODE(I32_LE_U); RETURN(COMPARE); } +#line 4216 "src/prebuilt/wasm-ast-lexer-gen.c" +yy668: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if ((yych = *lexer->cursor) <= '8') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy669; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= '0') { + if (yych != ',') goto yy49; + } else { + if (yych <= '1') goto yy763; + if (yych <= '7') goto yy49; + goto yy764; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych != ';') goto yy49; + } else { + if (yych == '\\') goto yy49; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } } -#line 346 "src/wasm-ast-lexer.c" - { OPCODE(F64_MIN); RETURN(BINARY); } -#line 3386 "src/prebuilt/wasm-ast-lexer-gen.c" -yy686: +yy669: +#line 258 "src/wasm-ast-lexer.c" + { OPCODE(I32_LOAD); RETURN(LOAD); } +#line 4254 "src/prebuilt/wasm-ast-lexer-gen.c" +yy670: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 348 "src/wasm-ast-lexer.c" - { OPCODE(F64_MAX); RETURN(BINARY); } -#line 3394 "src/prebuilt/wasm-ast-lexer-gen.c" -yy688: +#line 357 "src/wasm-ast-lexer.c" + { OPCODE(I32_LT_S); RETURN(COMPARE); } +#line 4262 "src/prebuilt/wasm-ast-lexer-gen.c" +yy672: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 359 "src/wasm-ast-lexer.c" + { OPCODE(I32_LT_U); RETURN(COMPARE); } +#line 4270 "src/prebuilt/wasm-ast-lexer-gen.c" +yy674: yych = *++lexer->cursor; - if (yych != 'u') goto yy82; + if (yych == 'n') goto yy765; + goto yy50; +yy675: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 't') goto yy766; + goto yy50; +yy676: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == 's') goto yy767; + if (yych == 'u') goto yy769; + goto yy50; +yy677: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 304 "src/wasm-ast-lexer.c" - { OPCODE(F64_TRUNC); RETURN(UNARY); } -#line 3408 "src/prebuilt/wasm-ast-lexer-gen.c" -yy693: +#line 335 "src/wasm-ast-lexer.c" + { OPCODE(I32_ROTL); RETURN(BINARY); } +#line 4291 "src/prebuilt/wasm-ast-lexer-gen.c" +yy679: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 337 "src/wasm-ast-lexer.c" + { OPCODE(I32_ROTR); RETURN(BINARY); } +#line 4299 "src/prebuilt/wasm-ast-lexer-gen.c" +yy681: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 's') goto yy771; + if (yych == 'u') goto yy773; + goto yy50; +yy682: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'e') goto yy775; + goto yy50; +yy683: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 302 "src/wasm-ast-lexer.c" - { OPCODE(F64_FLOOR); RETURN(UNARY); } -#line 3422 "src/prebuilt/wasm-ast-lexer-gen.c" -yy698: + if (yych == 'c') goto yy777; + goto yy50; +yy684: yych = *++lexer->cursor; - if (yych == 's') goto yy702; - goto yy82; -yy699: + if (yych == '/') goto yy778; + goto yy50; +yy685: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; + if (yych == 't') goto yy779; + goto yy50; +yy686: + yych = *++lexer->cursor; + if (yych == 's') goto yy781; + if (yych == 'u') goto yy783; + goto yy50; +yy687: + yych = *++lexer->cursor; + if (yych == 'n') goto yy785; + goto yy50; +yy688: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 338 "src/wasm-ast-lexer.c" - { OPCODE(F64_ADD); RETURN(BINARY); } -#line 3436 "src/prebuilt/wasm-ast-lexer-gen.c" -yy702: +#line 370 "src/wasm-ast-lexer.c" + { OPCODE(I64_GE_S); RETURN(COMPARE); } +#line 4337 "src/prebuilt/wasm-ast-lexer-gen.c" +yy690: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 296 "src/wasm-ast-lexer.c" - { OPCODE(F64_ABS); RETURN(UNARY); } -#line 3444 "src/prebuilt/wasm-ast-lexer-gen.c" -yy704: +#line 372 "src/wasm-ast-lexer.c" + { OPCODE(I64_GE_U); RETURN(COMPARE); } +#line 4345 "src/prebuilt/wasm-ast-lexer-gen.c" +yy692: ++lexer->cursor; - if ((yych = *lexer->cursor) <= '[') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 366 "src/wasm-ast-lexer.c" + { OPCODE(I64_GT_S); RETURN(COMPARE); } +#line 4353 "src/prebuilt/wasm-ast-lexer-gen.c" +yy694: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 368 "src/wasm-ast-lexer.c" + { OPCODE(I64_GT_U); RETURN(COMPARE); } +#line 4361 "src/prebuilt/wasm-ast-lexer-gen.c" +yy696: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 362 "src/wasm-ast-lexer.c" + { OPCODE(I64_LE_S); RETURN(COMPARE); } +#line 4369 "src/prebuilt/wasm-ast-lexer-gen.c" +yy698: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 364 "src/wasm-ast-lexer.c" + { OPCODE(I64_LE_U); RETURN(COMPARE); } +#line 4377 "src/prebuilt/wasm-ast-lexer-gen.c" +yy700: + ++lexer->cursor; + if ((yych = *lexer->cursor) <= '7') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; } else { - if (yych <= '"') goto yy705; - if (yych <= '&') goto yy81; + if (yych <= '&') goto yy49; + if (yych >= '*') goto yy49; } } else { - if (yych <= ':') { - if (yych != ',') goto yy81; + if (yych <= '1') { + if (yych <= ',') goto yy701; + if (yych <= '0') goto yy49; + goto yy786; } else { - if (yych <= ';') goto yy705; - if (yych <= 'Z') goto yy81; + if (yych == '3') goto yy787; + goto yy49; } } } else { - if (yych <= 'g') { - if (yych <= '`') { - if (yych != ']') goto yy81; + if (yych <= '\\') { + if (yych <= ';') { + if (yych <= '8') goto yy788; + if (yych <= ':') goto yy49; } else { - if (yych <= 'a') goto yy708; - if (yych <= 'f') goto yy81; - goto yy706; + if (yych != '[') goto yy49; } } else { - if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych <= '{') { + if (yych <= ']') goto yy701; + if (yych <= 'z') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '}') goto yy701; + if (yych <= '~') goto yy49; } } } -yy705: -#line 374 "src/wasm-ast-lexer.c" - { OPCODE(F64_NE); RETURN(COMPARE); } -#line 3483 "src/prebuilt/wasm-ast-lexer-gen.c" -yy706: +yy701: +#line 259 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD); RETURN(LOAD); } +#line 4419 "src/prebuilt/wasm-ast-lexer-gen.c" +yy702: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 294 "src/wasm-ast-lexer.c" - { OPCODE(F64_NEG); RETURN(UNARY); } -#line 3491 "src/prebuilt/wasm-ast-lexer-gen.c" -yy708: - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; +#line 358 "src/wasm-ast-lexer.c" + { OPCODE(I64_LT_S); RETURN(COMPARE); } +#line 4427 "src/prebuilt/wasm-ast-lexer-gen.c" +yy704: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 360 "src/wasm-ast-lexer.c" + { OPCODE(I64_LT_U); RETURN(COMPARE); } +#line 4435 "src/prebuilt/wasm-ast-lexer-gen.c" +yy706: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'n') goto yy789; + goto yy50; +yy707: yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == 't') goto yy790; + goto yy50; +yy708: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 's') goto yy791; + if (yych == 'u') goto yy793; + goto yy50; +yy709: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 306 "src/wasm-ast-lexer.c" - { OPCODE(F64_NEAREST); RETURN(UNARY); } -#line 3507 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 336 "src/wasm-ast-lexer.c" + { OPCODE(I64_ROTL); RETURN(BINARY); } +#line 4456 "src/prebuilt/wasm-ast-lexer-gen.c" +yy711: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 338 "src/wasm-ast-lexer.c" + { OPCODE(I64_ROTR); RETURN(BINARY); } +#line 4464 "src/prebuilt/wasm-ast-lexer-gen.c" +yy713: + yych = *++lexer->cursor; + if (yych == 's') goto yy795; + if (yych == 'u') goto yy797; + goto yy50; yy714: yych = *++lexer->cursor; - if (yych == 'i') goto yy750; - goto yy82; + if (yych == 'e') goto yy799; + goto yy50; yy715: yych = *++lexer->cursor; - if (yych == 'n') goto yy716; - if (yych == 'p') goto yy717; - goto yy82; + if (yych == 'c') goto yy801; + goto yy50; yy716: yych = *++lexer->cursor; - if (yych == 's') goto yy724; - if (yych == 'v') goto yy725; - goto yy82; + if (yybm[0+yych] & 16) { + goto yy49; + } + goto yy170; yy717: + ++lexer->cursor; + if (lexer->limit <= lexer->cursor) FILL(1); + yych = *lexer->cursor; + if (yych <= ':') { + if (yych <= ')') { + if (yych <= '!') { + if (yych >= '!') goto yy49; + } else { + if (yych <= '"') goto yy719; + if (yych <= '&') goto yy49; + } + } else { + if (yych <= ',') { + if (yych <= '+') goto yy49; + } else { + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy717; + goto yy49; + } + } + } else { + if (yych <= ']') { + if (yych <= 'Z') { + if (yych >= '<') goto yy49; + } else { + if (yych == '\\') goto yy49; + } + } else { + if (yych <= '|') { + if (yych != '{') goto yy49; + } else { + if (yych == '~') goto yy49; + } + } + } +yy719: +#line 281 "src/wasm-ast-lexer.c" + { TEXT_AT(7); RETURN(OFFSET); } +#line 4523 "src/prebuilt/wasm-ast-lexer-gen.c" +yy720: yych = *++lexer->cursor; - if (yych != 'y') goto yy82; - yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == 'l') goto yy802; + goto yy50; +yy721: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 'b') goto yy804; + goto yy50; +yy722: yych = *++lexer->cursor; - if (yych != 'g') goto yy82; + if (yych == 'v') goto yy805; + goto yy50; +yy723: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 350 "src/wasm-ast-lexer.c" - { OPCODE(F64_COPYSIGN); RETURN(BINARY); } -#line 3539 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 't') goto yy806; + goto yy50; yy724: yych = *++lexer->cursor; - if (yych == 't') goto yy748; - goto yy82; + if (yych == 'a') goto yy807; + goto yy50; yy725: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'r') goto yy808; + goto yy50; +yy726: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'r') goto yy809; + goto yy50; +yy727: yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy730; - if (yych == 'u') goto yy731; - goto yy82; + if (yych == 'e') goto yy810; + goto yy50; +yy728: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 285 "src/wasm-ast-lexer.c" + { TYPE(F32); RETURN(CONST); } +#line 4563 "src/prebuilt/wasm-ast-lexer-gen.c" yy730: yych = *++lexer->cursor; - if (yych == '/') goto yy740; - goto yy82; + if (yych == 'r') goto yy811; + goto yy50; yy731: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 'i') goto yy812; + goto yy50; +yy732: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; - yych = *++lexer->cursor; - if (yych == '3') goto yy734; - if (yych == '6') goto yy735; - goto yy82; -yy734: - yych = *++lexer->cursor; - if (yych == '2') goto yy738; - goto yy82; -yy735: - yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 401 "src/wasm-ast-lexer.c" - { OPCODE(F64_CONVERT_U_I64); RETURN(CONVERT); } -#line 3583 "src/prebuilt/wasm-ast-lexer-gen.c" -yy738: + if (yych == 'e') goto yy813; + goto yy50; +yy733: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 399 "src/wasm-ast-lexer.c" - { OPCODE(F64_CONVERT_U_I32); RETURN(CONVERT); } -#line 3591 "src/prebuilt/wasm-ast-lexer-gen.c" -yy740: - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; - yych = *++lexer->cursor; - if (yych == '3') goto yy742; - if (yych == '6') goto yy743; - goto yy82; -yy742: +#line 303 "src/wasm-ast-lexer.c" + { OPCODE(F32_FLOOR); RETURN(UNARY); } +#line 4583 "src/prebuilt/wasm-ast-lexer-gen.c" +yy735: yych = *++lexer->cursor; - if (yych == '2') goto yy746; - goto yy82; -yy743: + if (yych == 's') goto yy814; + goto yy50; +yy736: yych = *++lexer->cursor; - if (yych != '4') goto yy82; + if (yych == 'e') goto yy815; + goto yy50; +yy737: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 397 "src/wasm-ast-lexer.c" - { OPCODE(F64_CONVERT_S_I64); RETURN(CONVERT); } -#line 3612 "src/prebuilt/wasm-ast-lexer-gen.c" -yy746: +#line 264 "src/wasm-ast-lexer.c" + { OPCODE(F32_STORE); RETURN(STORE); } +#line 4599 "src/prebuilt/wasm-ast-lexer-gen.c" +yy739: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 395 "src/wasm-ast-lexer.c" - { OPCODE(F64_CONVERT_S_I32); RETURN(CONVERT); } -#line 3620 "src/prebuilt/wasm-ast-lexer-gen.c" -yy748: +#line 305 "src/wasm-ast-lexer.c" + { OPCODE(F32_TRUNC); RETURN(UNARY); } +#line 4607 "src/prebuilt/wasm-ast-lexer-gen.c" +yy741: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 284 "src/wasm-ast-lexer.c" +#line 286 "src/wasm-ast-lexer.c" { TYPE(F64); RETURN(CONST); } -#line 3628 "src/prebuilt/wasm-ast-lexer-gen.c" -yy750: +#line 4615 "src/prebuilt/wasm-ast-lexer-gen.c" +yy743: + yych = *++lexer->cursor; + if (yych == 'r') goto yy816; + goto yy50; +yy744: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'i') goto yy817; + goto yy50; +yy745: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 300 "src/wasm-ast-lexer.c" - { OPCODE(F64_CEIL); RETURN(UNARY); } -#line 3638 "src/prebuilt/wasm-ast-lexer-gen.c" -yy753: +#line 304 "src/wasm-ast-lexer.c" + { OPCODE(F64_FLOOR); RETURN(UNARY); } +#line 4631 "src/prebuilt/wasm-ast-lexer-gen.c" +yy747: yych = *++lexer->cursor; - if (yych == 'r') goto yy762; - goto yy82; -yy754: + if (yych == 's') goto yy818; + goto yy50; +yy748: yych = *++lexer->cursor; - if (yych == 'o') goto yy758; - goto yy82; -yy755: + if (yych == 't') goto yy819; + goto yy50; +yy749: yych = *++lexer->cursor; - if (yych != 'b') goto yy82; + if (yych == 'e') goto yy820; + goto yy50; +yy750: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 340 "src/wasm-ast-lexer.c" - { OPCODE(F64_SUB); RETURN(BINARY); } -#line 3656 "src/prebuilt/wasm-ast-lexer-gen.c" -yy758: - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; +#line 265 "src/wasm-ast-lexer.c" + { OPCODE(F64_STORE); RETURN(STORE); } +#line 4651 "src/prebuilt/wasm-ast-lexer-gen.c" +yy752: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 263 "src/wasm-ast-lexer.c" - { OPCODE(F64_STORE); RETURN(STORE); } -#line 3668 "src/prebuilt/wasm-ast-lexer-gen.c" -yy762: +#line 306 "src/wasm-ast-lexer.c" + { OPCODE(F64_TRUNC); RETURN(UNARY); } +#line 4659 "src/prebuilt/wasm-ast-lexer-gen.c" +yy754: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 256 "src/wasm-ast-lexer.c" + { RETURN(GET_LOCAL); } +#line 4667 "src/prebuilt/wasm-ast-lexer-gen.c" +yy756: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'r') goto yy821; + goto yy50; +yy757: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 298 "src/wasm-ast-lexer.c" - { OPCODE(F64_SQRT); RETURN(UNARY); } -#line 3678 "src/prebuilt/wasm-ast-lexer-gen.c" -yy765: +#line 283 "src/wasm-ast-lexer.c" + { TYPE(I32); RETURN(CONST); } +#line 4679 "src/prebuilt/wasm-ast-lexer-gen.c" +yy759: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 378 "src/wasm-ast-lexer.c" - { OPCODE(F64_LE); RETURN(COMPARE); } -#line 3686 "src/prebuilt/wasm-ast-lexer-gen.c" -yy767: - yych = *++lexer->cursor; - if (yych == 'a') goto yy770; - goto yy82; -yy768: +#line 315 "src/wasm-ast-lexer.c" + { OPCODE(I32_DIV_S); RETURN(BINARY); } +#line 4687 "src/prebuilt/wasm-ast-lexer-gen.c" +yy761: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 376 "src/wasm-ast-lexer.c" - { OPCODE(F64_LT); RETURN(COMPARE); } -#line 3698 "src/prebuilt/wasm-ast-lexer-gen.c" -yy770: +#line 317 "src/wasm-ast-lexer.c" + { OPCODE(I32_DIV_U); RETURN(BINARY); } +#line 4695 "src/prebuilt/wasm-ast-lexer-gen.c" +yy763: + yych = *++lexer->cursor; + if (yych == '6') goto yy822; + goto yy50; +yy764: + yych = *++lexer->cursor; + if (yych == '_') goto yy823; + goto yy50; +yy765: + yych = *++lexer->cursor; + if (yych == 't') goto yy824; + goto yy50; +yy766: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; + if (yych == 'e') goto yy826; + goto yy50; +yy767: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 259 "src/wasm-ast-lexer.c" - { OPCODE(F64_LOAD); RETURN(LOAD); } -#line 3708 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 319 "src/wasm-ast-lexer.c" + { OPCODE(I32_REM_S); RETURN(BINARY); } +#line 4719 "src/prebuilt/wasm-ast-lexer-gen.c" +yy769: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 321 "src/wasm-ast-lexer.c" + { OPCODE(I32_REM_U); RETURN(BINARY); } +#line 4727 "src/prebuilt/wasm-ast-lexer-gen.c" +yy771: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 331 "src/wasm-ast-lexer.c" + { OPCODE(I32_SHR_S); RETURN(BINARY); } +#line 4735 "src/prebuilt/wasm-ast-lexer-gen.c" yy773: ++lexer->cursor; - if ((yych = *lexer->cursor) <= ':') { + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 333 "src/wasm-ast-lexer.c" + { OPCODE(I32_SHR_U); RETURN(BINARY); } +#line 4743 "src/prebuilt/wasm-ast-lexer-gen.c" +yy775: + ++lexer->cursor; + if ((yych = *lexer->cursor) <= '8') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy774; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy776; + if (yych <= '&') goto yy49; } } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '0') { + if (yych != ',') goto yy49; } else { - if (yych == '.') goto yy775; - goto yy81; + if (yych <= '1') goto yy827; + if (yych <= '7') goto yy49; + goto yy828; } } } else { if (yych <= ']') { if (yych <= 'Z') { - if (yych >= '<') goto yy81; + if (yych != ';') goto yy49; } else { - if (yych == '\\') goto yy81; + if (yych == '\\') goto yy49; } } else { if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } -yy774: -#line 237 "src/wasm-ast-lexer.c" - { TYPE(F32); RETURN(VALUE_TYPE); } -#line 3745 "src/prebuilt/wasm-ast-lexer-gen.c" -yy775: - yych = *++lexer->cursor; - switch (yych) { - case 'a': goto yy780; - case 'c': goto yy778; - case 'd': goto yy784; - case 'e': goto yy785; - case 'f': goto yy781; - case 'g': goto yy786; - case 'l': goto yy776; - case 'm': goto yy783; - case 'n': goto yy779; - case 'r': goto yy787; - case 's': goto yy777; - case 't': goto yy782; - default: goto yy82; - } yy776: - yych = *++lexer->cursor; - if (yych <= 'n') { - if (yych == 'e') goto yy908; - goto yy82; - } else { - if (yych <= 'o') goto yy910; - if (yych == 't') goto yy911; - goto yy82; - } +#line 262 "src/wasm-ast-lexer.c" + { OPCODE(I32_STORE); RETURN(STORE); } +#line 4781 "src/prebuilt/wasm-ast-lexer-gen.c" yy777: yych = *++lexer->cursor; - if (yych <= 's') { - if (yych == 'q') goto yy896; - goto yy82; - } else { - if (yych <= 't') goto yy897; - if (yych <= 'u') goto yy898; - goto yy82; - } + if (yych == '_') goto yy830; + goto yy50; yy778: yych = *++lexer->cursor; - if (yych == 'e') goto yy857; - if (yych == 'o') goto yy858; - goto yy82; + if (yych == 'i') goto yy831; + goto yy50; yy779: - yych = *++lexer->cursor; - if (yych == 'e') goto yy847; - goto yy82; -yy780: - yych = *++lexer->cursor; - if (yych == 'b') goto yy841; - if (yych == 'd') goto yy842; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 284 "src/wasm-ast-lexer.c" + { TYPE(I64); RETURN(CONST); } +#line 4797 "src/prebuilt/wasm-ast-lexer-gen.c" yy781: - yych = *++lexer->cursor; - if (yych == 'l') goto yy836; - goto yy82; -yy782: - yych = *++lexer->cursor; - if (yych == 'r') goto yy831; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 316 "src/wasm-ast-lexer.c" + { OPCODE(I64_DIV_S); RETURN(BINARY); } +#line 4805 "src/prebuilt/wasm-ast-lexer-gen.c" yy783: - yych = *++lexer->cursor; - if (yych <= 'h') { - if (yych == 'a') goto yy822; - goto yy82; - } else { - if (yych <= 'i') goto yy823; - if (yych == 'u') goto yy824; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy784: - yych = *++lexer->cursor; - if (yych == 'e') goto yy809; - if (yych == 'i') goto yy810; - goto yy82; +#line 318 "src/wasm-ast-lexer.c" + { OPCODE(I64_DIV_U); RETURN(BINARY); } +#line 4813 "src/prebuilt/wasm-ast-lexer-gen.c" yy785: yych = *++lexer->cursor; - if (yych == 'q') goto yy807; - goto yy82; + if (yych == 'd') goto yy832; + goto yy50; yy786: yych = *++lexer->cursor; - if (yych == 'e') goto yy803; - if (yych == 't') goto yy805; - goto yy82; + if (yych == '6') goto yy833; + goto yy50; yy787: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == '2') goto yy834; + goto yy50; +yy788: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == '_') goto yy835; + goto yy50; +yy789: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 't') goto yy836; + goto yy50; +yy790: yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != '/') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; - yych = *++lexer->cursor; - if (yych != '3') goto yy82; - yych = *++lexer->cursor; - if (yych != '2') goto yy82; + if (yych == 'e') goto yy838; + goto yy50; +yy791: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 404 "src/wasm-ast-lexer.c" - { OPCODE(F32_REINTERPRET_I32); RETURN(CONVERT); } -#line 3864 "src/prebuilt/wasm-ast-lexer-gen.c" -yy803: +#line 320 "src/wasm-ast-lexer.c" + { OPCODE(I64_REM_S); RETURN(BINARY); } +#line 4845 "src/prebuilt/wasm-ast-lexer-gen.c" +yy793: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 381 "src/wasm-ast-lexer.c" - { OPCODE(F32_GE); RETURN(COMPARE); } -#line 3872 "src/prebuilt/wasm-ast-lexer-gen.c" -yy805: +#line 322 "src/wasm-ast-lexer.c" + { OPCODE(I64_REM_U); RETURN(BINARY); } +#line 4853 "src/prebuilt/wasm-ast-lexer-gen.c" +yy795: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 379 "src/wasm-ast-lexer.c" - { OPCODE(F32_GT); RETURN(COMPARE); } -#line 3880 "src/prebuilt/wasm-ast-lexer-gen.c" -yy807: +#line 332 "src/wasm-ast-lexer.c" + { OPCODE(I64_SHR_S); RETURN(BINARY); } +#line 4861 "src/prebuilt/wasm-ast-lexer-gen.c" +yy797: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 371 "src/wasm-ast-lexer.c" - { OPCODE(F32_EQ); RETURN(COMPARE); } -#line 3888 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 334 "src/wasm-ast-lexer.c" + { OPCODE(I64_SHR_U); RETURN(BINARY); } +#line 4869 "src/prebuilt/wasm-ast-lexer-gen.c" +yy799: + ++lexer->cursor; + if ((yych = *lexer->cursor) <= '7') { + if (yych <= '+') { + if (yych <= '"') { + if (yych == '!') goto yy49; + } else { + if (yych <= '&') goto yy49; + if (yych >= '*') goto yy49; + } + } else { + if (yych <= '1') { + if (yych <= ',') goto yy800; + if (yych <= '0') goto yy49; + goto yy839; + } else { + if (yych == '3') goto yy840; + goto yy49; + } + } + } else { + if (yych <= '\\') { + if (yych <= ';') { + if (yych <= '8') goto yy841; + if (yych <= ':') goto yy49; + } else { + if (yych != '[') goto yy49; + } + } else { + if (yych <= '{') { + if (yych <= ']') goto yy800; + if (yych <= 'z') goto yy49; + } else { + if (yych == '}') goto yy800; + if (yych <= '~') goto yy49; + } + } + } +yy800: +#line 263 "src/wasm-ast-lexer.c" + { OPCODE(I64_STORE); RETURN(STORE); } +#line 4911 "src/prebuilt/wasm-ast-lexer-gen.c" +yy801: + yych = *++lexer->cursor; + if (yych == '_') goto yy843; + goto yy50; +yy802: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 257 "src/wasm-ast-lexer.c" + { RETURN(SET_LOCAL); } +#line 4923 "src/prebuilt/wasm-ast-lexer-gen.c" +yy804: + yych = *++lexer->cursor; + if (yych == 'l') goto yy844; + goto yy50; +yy805: + yych = *++lexer->cursor; + if (yych == 'a') goto yy845; + goto yy50; +yy806: + yych = *++lexer->cursor; + if (yych == 'u') goto yy846; + goto yy50; +yy807: + yych = *++lexer->cursor; + if (yych == 'p') goto yy847; + goto yy50; +yy808: + yych = *++lexer->cursor; + if (yych == 't') goto yy849; + goto yy50; yy809: yych = *++lexer->cursor; - if (yych == 'm') goto yy813; - goto yy82; + if (yych == 'e') goto yy851; + goto yy50; yy810: yych = *++lexer->cursor; - if (yych != 'v') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 343 "src/wasm-ast-lexer.c" - { OPCODE(F32_DIV); RETURN(BINARY); } -#line 3902 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'm') goto yy852; + goto yy50; +yy811: + yych = *++lexer->cursor; + if (yych == 't') goto yy853; + goto yy50; +yy812: + yych = *++lexer->cursor; + if (yych == 'g') goto yy854; + goto yy50; yy813: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == '/') goto yy855; + goto yy50; +yy814: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 't') goto yy856; + goto yy50; +yy815: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'r') goto yy858; + goto yy50; +yy816: yych = *++lexer->cursor; - if (yych != '/') goto yy82; + if (yych == 't') goto yy859; + goto yy50; +yy817: yych = *++lexer->cursor; - if (yych != 'f') goto yy82; + if (yych == 'g') goto yy860; + goto yy50; +yy818: yych = *++lexer->cursor; - if (yych != '6') goto yy82; + if (yych == 't') goto yy861; + goto yy50; +yy819: yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 403 "src/wasm-ast-lexer.c" - { OPCODE(F32_DEMOTE_F64); RETURN(CONVERT); } -#line 3924 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'e') goto yy863; + goto yy50; +yy820: + yych = *++lexer->cursor; + if (yych == 'r') goto yy864; + goto yy50; +yy821: + yych = *++lexer->cursor; + if (yych == 'y') goto yy865; + goto yy50; yy822: yych = *++lexer->cursor; - if (yych == 'x') goto yy829; - goto yy82; + if (yych == '_') goto yy867; + goto yy50; yy823: yych = *++lexer->cursor; - if (yych == 'n') goto yy827; - goto yy82; + if (yych == 's') goto yy868; + if (yych == 'u') goto yy870; + goto yy50; yy824: - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 341 "src/wasm-ast-lexer.c" - { OPCODE(F32_MUL); RETURN(BINARY); } -#line 3942 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 293 "src/wasm-ast-lexer.c" + { OPCODE(I32_POPCNT); RETURN(UNARY); } +#line 5012 "src/prebuilt/wasm-ast-lexer-gen.c" +yy826: + yych = *++lexer->cursor; + if (yych == 'r') goto yy872; + goto yy50; yy827: + yych = *++lexer->cursor; + if (yych == '6') goto yy873; + goto yy50; +yy828: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 345 "src/wasm-ast-lexer.c" - { OPCODE(F32_MIN); RETURN(BINARY); } -#line 3950 "src/prebuilt/wasm-ast-lexer-gen.c" -yy829: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 347 "src/wasm-ast-lexer.c" - { OPCODE(F32_MAX); RETURN(BINARY); } -#line 3958 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 276 "src/wasm-ast-lexer.c" + { OPCODE(I32_STORE8); RETURN(STORE); } +#line 5028 "src/prebuilt/wasm-ast-lexer-gen.c" +yy830: + yych = *++lexer->cursor; + if (yych == 's') goto yy875; + if (yych == 'u') goto yy876; + goto yy50; yy831: yych = *++lexer->cursor; - if (yych != 'u') goto yy82; + if (yych == '6') goto yy877; + goto yy50; +yy832: + yych = *++lexer->cursor; + if (yych == '_') goto yy878; + goto yy50; +yy833: + yych = *++lexer->cursor; + if (yych == '_') goto yy879; + goto yy50; +yy834: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == '_') goto yy880; + goto yy50; +yy835: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == 's') goto yy881; + if (yych == 'u') goto yy883; + goto yy50; +yy836: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 303 "src/wasm-ast-lexer.c" - { OPCODE(F32_TRUNC); RETURN(UNARY); } -#line 3972 "src/prebuilt/wasm-ast-lexer-gen.c" -yy836: +#line 294 "src/wasm-ast-lexer.c" + { OPCODE(I64_POPCNT); RETURN(UNARY); } +#line 5062 "src/prebuilt/wasm-ast-lexer-gen.c" +yy838: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'r') goto yy885; + goto yy50; +yy839: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == '6') goto yy886; + goto yy50; +yy840: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == '2') goto yy888; + goto yy50; +yy841: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 301 "src/wasm-ast-lexer.c" - { OPCODE(F32_FLOOR); RETURN(UNARY); } -#line 3986 "src/prebuilt/wasm-ast-lexer-gen.c" -yy841: +#line 277 "src/wasm-ast-lexer.c" + { OPCODE(I64_STORE8); RETURN(STORE); } +#line 5082 "src/prebuilt/wasm-ast-lexer-gen.c" +yy843: yych = *++lexer->cursor; - if (yych == 's') goto yy845; - goto yy82; -yy842: + if (yych == 's') goto yy890; + if (yych == 'u') goto yy891; + goto yy50; +yy844: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 337 "src/wasm-ast-lexer.c" - { OPCODE(F32_ADD); RETURN(BINARY); } -#line 4000 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 'e') goto yy892; + goto yy50; yy845: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 295 "src/wasm-ast-lexer.c" - { OPCODE(F32_ABS); RETURN(UNARY); } -#line 4008 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'l') goto yy894; + goto yy50; +yy846: + yych = *++lexer->cursor; + if (yych == 'r') goto yy895; + goto yy50; yy847: ++lexer->cursor; - if ((yych = *lexer->cursor) <= '[') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy848; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ':') { - if (yych != ',') goto yy81; - } else { - if (yych <= ';') goto yy848; - if (yych <= 'Z') goto yy81; - } - } - } else { - if (yych <= 'g') { - if (yych <= '`') { - if (yych != ']') goto yy81; - } else { - if (yych <= 'a') goto yy851; - if (yych <= 'f') goto yy81; - goto yy849; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy848: -#line 373 "src/wasm-ast-lexer.c" - { OPCODE(F32_NE); RETURN(COMPARE); } -#line 4047 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 429 "src/wasm-ast-lexer.c" + { RETURN(ASSERT_TRAP); } +#line 5107 "src/prebuilt/wasm-ast-lexer-gen.c" yy849: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 293 "src/wasm-ast-lexer.c" - { OPCODE(F32_NEG); RETURN(UNARY); } -#line 4055 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 253 "src/wasm-ast-lexer.c" + { RETURN(CALL_IMPORT); } +#line 5115 "src/prebuilt/wasm-ast-lexer-gen.c" yy851: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'c') goto yy896; + goto yy50; +yy852: + yych = *++lexer->cursor; + if (yych == 'o') goto yy897; + goto yy50; +yy853: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == '_') goto yy898; + goto yy50; +yy854: yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == 'n') goto yy899; + goto yy50; +yy855: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'f') goto yy901; + goto yy50; +yy856: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 305 "src/wasm-ast-lexer.c" +#line 307 "src/wasm-ast-lexer.c" { OPCODE(F32_NEAREST); RETURN(UNARY); } -#line 4071 "src/prebuilt/wasm-ast-lexer-gen.c" -yy857: - yych = *++lexer->cursor; - if (yych == 'i') goto yy893; - goto yy82; +#line 5143 "src/prebuilt/wasm-ast-lexer-gen.c" yy858: yych = *++lexer->cursor; - if (yych == 'n') goto yy859; - if (yych == 'p') goto yy860; - goto yy82; + if (yych == 'p') goto yy902; + goto yy50; yy859: yych = *++lexer->cursor; - if (yych == 's') goto yy867; - if (yych == 'v') goto yy868; - goto yy82; + if (yych == '_') goto yy903; + goto yy50; yy860: yych = *++lexer->cursor; - if (yych != 'y') goto yy82; - yych = *++lexer->cursor; - if (yych != 's') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 'n') goto yy904; + goto yy50; +yy861: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 308 "src/wasm-ast-lexer.c" + { OPCODE(F64_NEAREST); RETURN(UNARY); } +#line 5163 "src/prebuilt/wasm-ast-lexer-gen.c" +yy863: yych = *++lexer->cursor; - if (yych != 'g') goto yy82; + if (yych == '/') goto yy906; + goto yy50; +yy864: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == 'p') goto yy907; + goto yy50; +yy865: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 349 "src/wasm-ast-lexer.c" - { OPCODE(F32_COPYSIGN); RETURN(BINARY); } -#line 4103 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 413 "src/wasm-ast-lexer.c" + { RETURN(GROW_MEMORY); } +#line 5179 "src/prebuilt/wasm-ast-lexer-gen.c" yy867: yych = *++lexer->cursor; - if (yych == 't') goto yy891; - goto yy82; + if (yych == 's') goto yy908; + if (yych == 'u') goto yy910; + goto yy50; yy868: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 266 "src/wasm-ast-lexer.c" + { OPCODE(I32_LOAD8_S); RETURN(LOAD); } +#line 5192 "src/prebuilt/wasm-ast-lexer-gen.c" +yy870: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 268 "src/wasm-ast-lexer.c" + { OPCODE(I32_LOAD8_U); RETURN(LOAD); } +#line 5200 "src/prebuilt/wasm-ast-lexer-gen.c" +yy872: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != '_') goto yy82; - yych = *++lexer->cursor; - if (yych == 's') goto yy873; - if (yych == 'u') goto yy874; - goto yy82; + if (yych == 'p') goto yy912; + goto yy50; yy873: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 278 "src/wasm-ast-lexer.c" + { OPCODE(I32_STORE16); RETURN(STORE); } +#line 5212 "src/prebuilt/wasm-ast-lexer-gen.c" +yy875: yych = *++lexer->cursor; - if (yych == '/') goto yy883; - goto yy82; -yy874: - yych = *++lexer->cursor; - if (yych != '/') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == '/') goto yy913; + goto yy50; +yy876: yych = *++lexer->cursor; - if (yych == '3') goto yy877; - if (yych == '6') goto yy878; - goto yy82; + if (yych == '/') goto yy914; + goto yy50; yy877: yych = *++lexer->cursor; - if (yych == '2') goto yy881; - goto yy82; + if (yych == '4') goto yy915; + goto yy50; yy878: yych = *++lexer->cursor; - if (yych != '4') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 400 "src/wasm-ast-lexer.c" - { OPCODE(F32_CONVERT_U_I64); RETURN(CONVERT); } -#line 4147 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == 's') goto yy917; + if (yych == 'u') goto yy918; + goto yy50; +yy879: + yych = *++lexer->cursor; + if (yych == 's') goto yy919; + if (yych == 'u') goto yy921; + goto yy50; +yy880: + yych = *++lexer->cursor; + if (yych == 's') goto yy923; + if (yych == 'u') goto yy925; + goto yy50; yy881: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 398 "src/wasm-ast-lexer.c" - { OPCODE(F32_CONVERT_U_I32); RETURN(CONVERT); } -#line 4155 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 267 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD8_S); RETURN(LOAD); } +#line 5247 "src/prebuilt/wasm-ast-lexer-gen.c" yy883: - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; - yych = *++lexer->cursor; - if (yych == '3') goto yy885; - if (yych == '6') goto yy886; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 269 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD8_U); RETURN(LOAD); } +#line 5255 "src/prebuilt/wasm-ast-lexer-gen.c" yy885: yych = *++lexer->cursor; - if (yych == '2') goto yy889; - goto yy82; + if (yych == 'p') goto yy927; + goto yy50; yy886: - yych = *++lexer->cursor; - if (yych != '4') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 396 "src/wasm-ast-lexer.c" - { OPCODE(F32_CONVERT_S_I64); RETURN(CONVERT); } -#line 4176 "src/prebuilt/wasm-ast-lexer-gen.c" -yy889: +#line 279 "src/wasm-ast-lexer.c" + { OPCODE(I64_STORE16); RETURN(STORE); } +#line 5267 "src/prebuilt/wasm-ast-lexer-gen.c" +yy888: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 394 "src/wasm-ast-lexer.c" - { OPCODE(F32_CONVERT_S_I32); RETURN(CONVERT); } -#line 4184 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 280 "src/wasm-ast-lexer.c" + { OPCODE(I64_STORE32); RETURN(STORE); } +#line 5275 "src/prebuilt/wasm-ast-lexer-gen.c" +yy890: + yych = *++lexer->cursor; + if (yych == '/') goto yy928; + goto yy50; yy891: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 283 "src/wasm-ast-lexer.c" - { TYPE(F32); RETURN(CONST); } -#line 4192 "src/prebuilt/wasm-ast-lexer-gen.c" -yy893: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == '/') goto yy929; + goto yy50; +yy892: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 299 "src/wasm-ast-lexer.c" - { OPCODE(F32_CEIL); RETURN(UNARY); } -#line 4202 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 411 "src/wasm-ast-lexer.c" + { RETURN(UNREACHABLE); } +#line 5291 "src/prebuilt/wasm-ast-lexer-gen.c" +yy894: + yych = *++lexer->cursor; + if (yych == 'i') goto yy930; + goto yy50; +yy895: + yych = *++lexer->cursor; + if (yych == 'n') goto yy931; + goto yy50; yy896: yych = *++lexer->cursor; - if (yych == 'r') goto yy905; - goto yy82; + if (yych == 't') goto yy933; + goto yy50; yy897: yych = *++lexer->cursor; - if (yych == 'o') goto yy901; - goto yy82; + if (yych == 'r') goto yy935; + goto yy50; yy898: yych = *++lexer->cursor; - if (yych != 'b') goto yy82; + if (yych == 's') goto yy936; + if (yych == 'u') goto yy937; + goto yy50; +yy899: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 339 "src/wasm-ast-lexer.c" - { OPCODE(F32_SUB); RETURN(BINARY); } -#line 4220 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 351 "src/wasm-ast-lexer.c" + { OPCODE(F32_COPYSIGN); RETURN(BINARY); } +#line 5320 "src/prebuilt/wasm-ast-lexer-gen.c" yy901: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == '6') goto yy938; + goto yy50; +yy902: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 262 "src/wasm-ast-lexer.c" - { OPCODE(F32_STORE); RETURN(STORE); } -#line 4232 "src/prebuilt/wasm-ast-lexer-gen.c" -yy905: + if (yych == 'r') goto yy939; + goto yy50; +yy903: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 's') goto yy940; + if (yych == 'u') goto yy941; + goto yy50; +yy904: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 297 "src/wasm-ast-lexer.c" - { OPCODE(F32_SQRT); RETURN(UNARY); } -#line 4242 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 352 "src/wasm-ast-lexer.c" + { OPCODE(F64_COPYSIGN); RETURN(BINARY); } +#line 5341 "src/prebuilt/wasm-ast-lexer-gen.c" +yy906: + yych = *++lexer->cursor; + if (yych == 'f') goto yy942; + goto yy50; +yy907: + yych = *++lexer->cursor; + if (yych == 'r') goto yy943; + goto yy50; yy908: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 377 "src/wasm-ast-lexer.c" - { OPCODE(F32_LE); RETURN(COMPARE); } -#line 4250 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 270 "src/wasm-ast-lexer.c" + { OPCODE(I32_LOAD16_S); RETURN(LOAD); } +#line 5357 "src/prebuilt/wasm-ast-lexer-gen.c" yy910: - yych = *++lexer->cursor; - if (yych == 'a') goto yy913; - goto yy82; -yy911: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 375 "src/wasm-ast-lexer.c" - { OPCODE(F32_LT); RETURN(COMPARE); } -#line 4262 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 272 "src/wasm-ast-lexer.c" + { OPCODE(I32_LOAD16_U); RETURN(LOAD); } +#line 5365 "src/prebuilt/wasm-ast-lexer-gen.c" +yy912: + yych = *++lexer->cursor; + if (yych == 'r') goto yy944; + goto yy50; yy913: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; + if (yych == 'f') goto yy945; + goto yy50; +yy914: + yych = *++lexer->cursor; + if (yych == 'f') goto yy946; + goto yy50; +yy915: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 258 "src/wasm-ast-lexer.c" - { OPCODE(F32_LOAD); RETURN(LOAD); } -#line 4272 "src/prebuilt/wasm-ast-lexer-gen.c" -yy916: - yych = *++lexer->cursor; - if (yych == 's') goto yy923; - goto yy82; +#line 387 "src/wasm-ast-lexer.c" + { OPCODE(I32_WRAP_I64); RETURN(CONVERT); } +#line 5385 "src/prebuilt/wasm-ast-lexer-gen.c" yy917: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == '/') goto yy947; + goto yy50; +yy918: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == '/') goto yy948; + goto yy50; +yy919: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 422 "src/wasm-ast-lexer.c" - { RETURN(EXPORT); } -#line 4292 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 271 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD16_S); RETURN(LOAD); } +#line 5401 "src/prebuilt/wasm-ast-lexer-gen.c" +yy921: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 273 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD16_U); RETURN(LOAD); } +#line 5409 "src/prebuilt/wasm-ast-lexer-gen.c" yy923: - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 244 "src/wasm-ast-lexer.c" - { RETURN(ELSE); } -#line 4302 "src/prebuilt/wasm-ast-lexer-gen.c" -yy926: - yych = *++lexer->cursor; - if (yych == 'l') goto yy942; - if (yych == 's') goto yy941; - goto yy82; +#line 274 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD32_S); RETURN(LOAD); } +#line 5417 "src/prebuilt/wasm-ast-lexer-gen.c" +yy925: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 275 "src/wasm-ast-lexer.c" + { OPCODE(I64_LOAD32_U); RETURN(LOAD); } +#line 5425 "src/prebuilt/wasm-ast-lexer-gen.c" yy927: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == 'r') goto yy949; + goto yy50; +yy928: yych = *++lexer->cursor; - if (yych != 'm') goto yy82; + if (yych == 'f') goto yy950; + goto yy50; +yy929: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == 'f') goto yy951; + goto yy50; +yy930: yych = *++lexer->cursor; - if (yych != 'm') goto yy82; - yych = *++lexer->cursor; - if (yych != 'o') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'y') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 410 "src/wasm-ast-lexer.c" - { RETURN(CURRENT_MEMORY); } -#line 4339 "src/prebuilt/wasm-ast-lexer-gen.c" -yy941: - yych = *++lexer->cursor; - if (yych == 'e') goto yy961; - goto yy82; -yy942: - yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == 'd') goto yy952; + goto yy50; +yy931: ++lexer->cursor; if ((yych = *lexer->cursor) <= 'Z') { if (yych <= ')') { if (yych <= '!') { - if (yych >= '!') goto yy81; + if (yych >= '!') goto yy49; } else { - if (yych <= '"') goto yy944; - if (yych <= '&') goto yy81; + if (yych <= '"') goto yy932; + if (yych <= '&') goto yy49; } } else { if (yych <= ',') { - if (yych <= '+') goto yy81; + if (yych <= '+') goto yy49; } else { - if (yych != ';') goto yy81; + if (yych != ';') goto yy49; } } } else { if (yych <= '_') { if (yych <= '\\') { - if (yych >= '\\') goto yy81; + if (yych >= '\\') goto yy49; } else { - if (yych <= ']') goto yy944; - if (yych <= '^') goto yy81; - goto yy945; + if (yych <= ']') goto yy932; + if (yych <= '^') goto yy49; + goto yy954; } } else { if (yych <= '|') { - if (yych != '{') goto yy81; + if (yych != '{') goto yy49; } else { - if (yych == '~') goto yy81; + if (yych == '~') goto yy49; } } } +yy932: +#line 427 "src/wasm-ast-lexer.c" + { RETURN(ASSERT_RETURN); } +#line 5479 "src/prebuilt/wasm-ast-lexer-gen.c" +yy933: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 254 "src/wasm-ast-lexer.c" + { RETURN(CALL_INDIRECT); } +#line 5487 "src/prebuilt/wasm-ast-lexer-gen.c" +yy935: + yych = *++lexer->cursor; + if (yych == 'y') goto yy955; + goto yy50; +yy936: + yych = *++lexer->cursor; + if (yych == '/') goto yy957; + goto yy50; +yy937: + yych = *++lexer->cursor; + if (yych == '/') goto yy958; + goto yy50; +yy938: + yych = *++lexer->cursor; + if (yych == '4') goto yy959; + goto yy50; +yy939: + yych = *++lexer->cursor; + if (yych == 'e') goto yy961; + goto yy50; +yy940: + yych = *++lexer->cursor; + if (yych == '/') goto yy962; + goto yy50; +yy941: + yych = *++lexer->cursor; + if (yych == '/') goto yy963; + goto yy50; +yy942: + yych = *++lexer->cursor; + if (yych == '3') goto yy964; + goto yy50; +yy943: + yych = *++lexer->cursor; + if (yych == 'e') goto yy965; + goto yy50; yy944: -#line 250 "src/wasm-ast-lexer.c" - { RETURN(CALL); } -#line 4383 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'e') goto yy966; + goto yy50; yy945: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == '3') goto yy967; + if (yych == '6') goto yy968; + goto yy50; +yy946: yych = *++lexer->cursor; - if (yych <= 'l') goto yy82; - if (yych <= 'm') goto yy947; - if (yych <= 'n') goto yy948; - goto yy82; + if (yych == '3') goto yy969; + if (yych == '6') goto yy970; + goto yy50; yy947: yych = *++lexer->cursor; - if (yych == 'p') goto yy956; - goto yy82; + if (yych == 'i') goto yy971; + goto yy50; yy948: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == 'i') goto yy972; + goto yy50; +yy949: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'e') goto yy973; + goto yy50; +yy950: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == '3') goto yy974; + if (yych == '6') goto yy975; + goto yy50; +yy951: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; - yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == '3') goto yy976; + if (yych == '6') goto yy977; + goto yy50; +yy952: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 252 "src/wasm-ast-lexer.c" - { RETURN(CALL_INDIRECT); } -#line 4415 "src/prebuilt/wasm-ast-lexer-gen.c" -yy956: +#line 426 "src/wasm-ast-lexer.c" + { RETURN(ASSERT_INVALID); } +#line 5567 "src/prebuilt/wasm-ast-lexer-gen.c" +yy954: yych = *++lexer->cursor; - if (yych != 'o') goto yy82; + if (yych == 'n') goto yy978; + goto yy50; +yy955: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 412 "src/wasm-ast-lexer.c" + { RETURN(CURRENT_MEMORY); } +#line 5579 "src/prebuilt/wasm-ast-lexer-gen.c" +yy957: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == 'i') goto yy979; + goto yy50; +yy958: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'i') goto yy980; + goto yy50; +yy959: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 251 "src/wasm-ast-lexer.c" - { RETURN(CALL_IMPORT); } -#line 4429 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 405 "src/wasm-ast-lexer.c" + { OPCODE(F32_DEMOTE_F64); RETURN(CONVERT); } +#line 5595 "src/prebuilt/wasm-ast-lexer-gen.c" yy961: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 249 "src/wasm-ast-lexer.c" - { RETURN(CASE); } -#line 4437 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 't') goto yy981; + goto yy50; +yy962: + yych = *++lexer->cursor; + if (yych == 'i') goto yy982; + goto yy50; yy963: yych = *++lexer->cursor; - if (yych == 'o') goto yy976; - goto yy82; + if (yych == 'i') goto yy983; + goto yy50; yy964: - ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'Z') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy965; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych != ';') goto yy81; - } - } - } else { - if (yych <= '_') { - if (yych <= '\\') { - if (yych >= '\\') goto yy81; - } else { - if (yych <= ']') goto yy965; - if (yych <= '^') goto yy81; - goto yy966; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } - } + yych = *++lexer->cursor; + if (yych == '2') goto yy984; + goto yy50; yy965: -#line 246 "src/wasm-ast-lexer.c" - { RETURN(BR); } -#line 4479 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 't') goto yy986; + goto yy50; yy966: yych = *++lexer->cursor; - if (yych == 'i') goto yy967; - if (yych == 't') goto yy968; - goto yy82; + if (yych == 't') goto yy987; + goto yy50; yy967: yych = *++lexer->cursor; - if (yych == 'f') goto yy974; - goto yy82; + if (yych == '2') goto yy988; + goto yy50; yy968: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == '4') goto yy990; + goto yy50; +yy969: yych = *++lexer->cursor; - if (yych != 'b') goto yy82; + if (yych == '2') goto yy992; + goto yy50; +yy970: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == '4') goto yy994; + goto yy50; +yy971: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 248 "src/wasm-ast-lexer.c" - { RETURN(BR_TABLE); } -#line 4504 "src/prebuilt/wasm-ast-lexer-gen.c" -yy974: - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 247 "src/wasm-ast-lexer.c" - { RETURN(BR_IF); } -#line 4512 "src/prebuilt/wasm-ast-lexer-gen.c" -yy976: + if (yych == '3') goto yy996; + goto yy50; +yy972: yych = *++lexer->cursor; - if (yych != 'c') goto yy82; + if (yych == '3') goto yy997; + goto yy50; +yy973: yych = *++lexer->cursor; - if (yych != 'k') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 240 "src/wasm-ast-lexer.c" - { RETURN(BLOCK); } -#line 4524 "src/prebuilt/wasm-ast-lexer-gen.c" -yy980: + if (yych == 't') goto yy998; + goto yy50; +yy974: yych = *++lexer->cursor; - if (yych == 'i') goto yy1012; - goto yy82; -yy981: + if (yych == '2') goto yy999; + goto yy50; +yy975: yych = *++lexer->cursor; - if (yych != 's') goto yy82; + if (yych == '4') goto yy1001; + goto yy50; +yy976: yych = *++lexer->cursor; - if (yych != 'e') goto yy82; + if (yych == '2') goto yy1003; + goto yy50; +yy977: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == '4') goto yy1005; + goto yy50; +yy978: yych = *++lexer->cursor; - if (yych != 't') goto yy82; + if (yych == 'a') goto yy1007; + goto yy50; +yy979: yych = *++lexer->cursor; - if (yych != '_') goto yy82; + if (yych == '3') goto yy1008; + if (yych == '6') goto yy1009; + goto yy50; +yy980: yych = *++lexer->cursor; - if (yych <= 'q') { - if (yych != 'i') goto yy82; - } else { - if (yych <= 'r') goto yy988; - if (yych == 't') goto yy989; - goto yy82; - } + if (yych == '3') goto yy1010; + if (yych == '6') goto yy1011; + goto yy50; +yy981: yych = *++lexer->cursor; - if (yych == 'n') goto yy1005; - goto yy82; -yy988: + if (yych == '/') goto yy1012; + goto yy50; +yy982: yych = *++lexer->cursor; - if (yych == 'e') goto yy994; - goto yy82; -yy989: + if (yych == '3') goto yy1013; + if (yych == '6') goto yy1014; + goto yy50; +yy983: yych = *++lexer->cursor; - if (yych != 'r') goto yy82; + if (yych == '3') goto yy1015; + if (yych == '6') goto yy1016; + goto yy50; +yy984: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 404 "src/wasm-ast-lexer.c" + { OPCODE(F64_PROMOTE_F32); RETURN(CONVERT); } +#line 5699 "src/prebuilt/wasm-ast-lexer-gen.c" +yy986: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == '/') goto yy1017; + goto yy50; +yy987: yych = *++lexer->cursor; - if (yych != 'p') goto yy82; + if (yych == '/') goto yy1018; + goto yy50; +yy988: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 427 "src/wasm-ast-lexer.c" - { RETURN(ASSERT_TRAP); } -#line 4568 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 388 "src/wasm-ast-lexer.c" + { OPCODE(I32_TRUNC_S_F32); RETURN(CONVERT); } +#line 5715 "src/prebuilt/wasm-ast-lexer-gen.c" +yy990: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 390 "src/wasm-ast-lexer.c" + { OPCODE(I32_TRUNC_S_F64); RETURN(CONVERT); } +#line 5723 "src/prebuilt/wasm-ast-lexer-gen.c" +yy992: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 392 "src/wasm-ast-lexer.c" + { OPCODE(I32_TRUNC_U_F32); RETURN(CONVERT); } +#line 5731 "src/prebuilt/wasm-ast-lexer-gen.c" yy994: - yych = *++lexer->cursor; - if (yych != 't') goto yy82; - yych = *++lexer->cursor; - if (yych != 'u') goto yy82; - yych = *++lexer->cursor; - if (yych != 'r') goto yy82; - yych = *++lexer->cursor; - if (yych != 'n') goto yy82; ++lexer->cursor; - if ((yych = *lexer->cursor) <= 'Z') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy999; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych != ';') goto yy81; - } - } - } else { - if (yych <= '_') { - if (yych <= '\\') { - if (yych >= '\\') goto yy81; - } else { - if (yych <= ']') goto yy999; - if (yych <= '^') goto yy81; - goto yy1000; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy999: -#line 425 "src/wasm-ast-lexer.c" - { RETURN(ASSERT_RETURN); } -#line 4614 "src/prebuilt/wasm-ast-lexer-gen.c" -yy1000: +#line 394 "src/wasm-ast-lexer.c" + { OPCODE(I32_TRUNC_U_F64); RETURN(CONVERT); } +#line 5739 "src/prebuilt/wasm-ast-lexer-gen.c" +yy996: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == '2') goto yy1019; + goto yy50; +yy997: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == '2') goto yy1021; + goto yy50; +yy998: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == '/') goto yy1023; + goto yy50; +yy999: ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -#line 426 "src/wasm-ast-lexer.c" - { RETURN(ASSERT_RETURN_NAN); } -#line 4628 "src/prebuilt/wasm-ast-lexer-gen.c" +#line 389 "src/wasm-ast-lexer.c" + { OPCODE(I64_TRUNC_S_F32); RETURN(CONVERT); } +#line 5759 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1001: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 391 "src/wasm-ast-lexer.c" + { OPCODE(I64_TRUNC_S_F64); RETURN(CONVERT); } +#line 5767 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1003: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 393 "src/wasm-ast-lexer.c" + { OPCODE(I64_TRUNC_U_F32); RETURN(CONVERT); } +#line 5775 "src/prebuilt/wasm-ast-lexer-gen.c" yy1005: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 395 "src/wasm-ast-lexer.c" + { OPCODE(I64_TRUNC_U_F64); RETURN(CONVERT); } +#line 5783 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1007: yych = *++lexer->cursor; - if (yych != 'v') goto yy82; + if (yych == 'n') goto yy1024; + goto yy50; +yy1008: yych = *++lexer->cursor; - if (yych != 'a') goto yy82; + if (yych == '2') goto yy1026; + goto yy50; +yy1009: yych = *++lexer->cursor; - if (yych != 'l') goto yy82; + if (yych == '4') goto yy1028; + goto yy50; +yy1010: yych = *++lexer->cursor; - if (yych != 'i') goto yy82; + if (yych == '2') goto yy1030; + goto yy50; +yy1011: yych = *++lexer->cursor; - if (yych != 'd') goto yy82; - ++lexer->cursor; - if (yybm[0+(yych = *lexer->cursor)] & 8) { - goto yy81; - } -#line 424 "src/wasm-ast-lexer.c" - { RETURN(ASSERT_INVALID); } -#line 4646 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yych == '4') goto yy1032; + goto yy50; yy1012: yych = *++lexer->cursor; - if (yych != 'g') goto yy82; + if (yych == 'i') goto yy1034; + goto yy50; +yy1013: yych = *++lexer->cursor; - if (yych != 'n') goto yy82; + if (yych == '2') goto yy1035; + goto yy50; +yy1014: yych = *++lexer->cursor; - if (yych != '=') goto yy82; + if (yych == '4') goto yy1037; + goto yy50; +yy1015: yych = *++lexer->cursor; - if (yych <= '/') goto yy82; - if (yych >= ':') goto yy82; + if (yych == '2') goto yy1039; + goto yy50; yy1016: - ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= ':') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy1018; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych <= '/') goto yy81; - if (yych <= '9') goto yy1016; - goto yy81; - } - } - } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych >= '<') goto yy81; - } else { - if (yych == '\\') goto yy81; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } - } + yych = *++lexer->cursor; + if (yych == '4') goto yy1041; + goto yy50; +yy1017: + yych = *++lexer->cursor; + if (yych == 'i') goto yy1043; + goto yy50; yy1018: -#line 280 "src/wasm-ast-lexer.c" - { TEXT_AT(6); RETURN(ALIGN); } -#line 4696 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'f') goto yy1044; + goto yy50; yy1019: ++lexer->cursor; - BEGIN(YYCOND_LINE_COMMENT); -#line 431 "src/wasm-ast-lexer.c" - { continue; } -#line 4702 "src/prebuilt/wasm-ast-lexer-gen.c" + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 385 "src/wasm-ast-lexer.c" + { OPCODE(I64_EXTEND_S_I32); RETURN(CONVERT); } +#line 5839 "src/prebuilt/wasm-ast-lexer-gen.c" yy1021: ++lexer->cursor; - if ((lexer->limit - lexer->cursor) < 3) FILL(3); - yych = *lexer->cursor; - if (yych <= 'D') { - if (yych <= '+') { - if (yych <= '"') { - if (yych == '!') goto yy81; - } else { - if (yych <= '&') goto yy81; - if (yych >= '*') goto yy81; - } - } else { - if (yych <= '9') { - if (yych <= ',') goto yy1023; - if (yych <= '/') goto yy81; - goto yy1021; - } else { - if (yych != ';') goto yy81; - } - } - } else { - if (yych <= 'd') { - if (yych <= '[') { - if (yych <= 'E') goto yy1026; - if (yych <= 'Z') goto yy81; - } else { - if (yych != ']') goto yy81; - } - } else { - if (yych <= '{') { - if (yych <= 'e') goto yy1026; - if (yych <= 'z') goto yy81; - } else { - if (yych == '}') goto yy1023; - if (yych <= '~') goto yy81; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 386 "src/wasm-ast-lexer.c" + { OPCODE(I64_EXTEND_U_I32); RETURN(CONVERT); } +#line 5847 "src/prebuilt/wasm-ast-lexer-gen.c" yy1023: -#line 222 "src/wasm-ast-lexer.c" - { LITERAL(FLOAT); RETURN(FLOAT); } -#line 4745 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == 'f') goto yy1045; + goto yy50; yy1024: ++lexer->cursor; - if ((lexer->limit - lexer->cursor) < 3) FILL(3); - yych = *lexer->cursor; - if (yych <= ';') { - if (yych <= '+') { - if (yych <= '"') { - if (yych == '!') goto yy81; - goto yy62; - } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy62; - goto yy81; - } - } else { - if (yych <= '.') { - if (yych <= ',') goto yy62; - if (yych <= '-') goto yy81; - goto yy1021; - } else { - if (yych <= '/') goto yy81; - if (yych <= '9') goto yy1024; - if (yych <= ':') goto yy81; - goto yy62; - } - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') { - if (yych != 'E') goto yy81; - } else { - if (yych == '\\') goto yy81; - if (yych <= ']') goto yy62; - goto yy81; - } - } else { - if (yych <= '{') { - if (yych <= 'e') goto yy1026; - if (yych <= 'z') goto yy81; - goto yy62; - } else { - if (yych == '}') goto yy62; - if (yych <= '~') goto yy81; - goto yy62; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 428 "src/wasm-ast-lexer.c" + { RETURN(ASSERT_RETURN_NAN); } +#line 5859 "src/prebuilt/wasm-ast-lexer-gen.c" yy1026: - yych = *++lexer->cursor; - if (yych <= ',') { - if (yych != '+') goto yy82; - } else { - if (yych <= '-') goto yy1027; - if (yych <= '/') goto yy82; - if (yych <= '9') goto yy1028; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy1027: - yych = *++lexer->cursor; - if (yych <= '/') goto yy82; - if (yych >= ':') goto yy82; +#line 396 "src/wasm-ast-lexer.c" + { OPCODE(F32_CONVERT_S_I32); RETURN(CONVERT); } +#line 5867 "src/prebuilt/wasm-ast-lexer-gen.c" yy1028: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= ':') { - if (yych <= ')') { - if (yych <= '!') { - if (yych <= ' ') goto yy1023; - goto yy81; - } else { - if (yych <= '"') goto yy1023; - if (yych <= '&') goto yy81; - goto yy1023; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - goto yy1023; - } else { - if (yych <= '/') goto yy81; - if (yych <= '9') goto yy1028; - goto yy81; - } - } - } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych <= ';') goto yy1023; - goto yy81; - } else { - if (yych == '\\') goto yy81; - goto yy1023; - } - } else { - if (yych <= '|') { - if (yych == '{') goto yy1023; - goto yy81; - } else { - if (yych == '~') goto yy81; - goto yy1023; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 398 "src/wasm-ast-lexer.c" + { OPCODE(F32_CONVERT_S_I64); RETURN(CONVERT); } +#line 5875 "src/prebuilt/wasm-ast-lexer-gen.c" yy1030: - yych = *++lexer->cursor; - if (yych <= '@') { - if (yych <= '/') goto yy82; - if (yych >= ':') goto yy82; - } else { - if (yych <= 'F') goto yy1031; - if (yych <= '`') goto yy82; - if (yych >= 'g') goto yy82; - } -yy1031: ++lexer->cursor; - if ((lexer->limit - lexer->cursor) < 3) FILL(3); - yych = *lexer->cursor; - if (yych <= '@') { - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') goto yy81; - goto yy62; - } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy62; - if (yych <= '+') goto yy81; - goto yy62; - } - } else { - if (yych <= '/') { - if (yych != '.') goto yy81; - } else { - if (yych <= '9') goto yy1031; - if (yych == ';') goto yy62; - goto yy81; - } - } - } else { - if (yych <= 'f') { - if (yych <= '[') { - if (yych <= 'F') goto yy1031; - if (yych <= 'Z') goto yy81; - goto yy62; - } else { - if (yych == ']') goto yy62; - if (yych <= '`') goto yy81; - goto yy1031; - } - } else { - if (yych <= '{') { - if (yych == 'p') goto yy1035; - if (yych <= 'z') goto yy81; - goto yy62; - } else { - if (yych == '}') goto yy62; - if (yych <= '~') goto yy81; - goto yy62; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy1033: +#line 400 "src/wasm-ast-lexer.c" + { OPCODE(F32_CONVERT_U_I32); RETURN(CONVERT); } +#line 5883 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1032: ++lexer->cursor; - if ((lexer->limit - lexer->cursor) < 3) FILL(3); - yych = *lexer->cursor; - if (yych <= 'F') { - if (yych <= '+') { - if (yych <= '"') { - if (yych == '!') goto yy81; - goto yy52; - } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy52; - goto yy81; - } - } else { - if (yych <= '9') { - if (yych <= ',') goto yy52; - if (yych <= '/') goto yy81; - goto yy1033; - } else { - if (yych == ';') goto yy52; - if (yych <= '@') goto yy81; - goto yy1033; - } - } - } else { - if (yych <= 'o') { - if (yych <= '\\') { - if (yych == '[') goto yy52; - goto yy81; - } else { - if (yych <= ']') goto yy52; - if (yych <= '`') goto yy81; - if (yych <= 'f') goto yy1033; - goto yy81; - } - } else { - if (yych <= '{') { - if (yych <= 'p') goto yy1035; - if (yych <= 'z') goto yy81; - goto yy52; - } else { - if (yych == '}') goto yy52; - if (yych <= '~') goto yy81; - goto yy52; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy1035: +#line 402 "src/wasm-ast-lexer.c" + { OPCODE(F32_CONVERT_U_I64); RETURN(CONVERT); } +#line 5891 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1034: yych = *++lexer->cursor; - if (yych <= ',') { - if (yych != '+') goto yy82; - } else { - if (yych <= '-') goto yy1036; - if (yych <= '/') goto yy82; - if (yych <= '9') goto yy1037; - goto yy82; + if (yych == '3') goto yy1046; + goto yy50; +yy1035: + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy1036: - yych = *++lexer->cursor; - if (yych <= '/') goto yy82; - if (yych >= ':') goto yy82; +#line 397 "src/wasm-ast-lexer.c" + { OPCODE(F64_CONVERT_S_I32); RETURN(CONVERT); } +#line 5903 "src/prebuilt/wasm-ast-lexer-gen.c" yy1037: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= ':') { - if (yych <= ')') { - if (yych <= '!') { - if (yych >= '!') goto yy81; - } else { - if (yych <= '"') goto yy1039; - if (yych <= '&') goto yy81; - } - } else { - if (yych <= ',') { - if (yych <= '+') goto yy81; - } else { - if (yych <= '/') goto yy81; - if (yych <= '9') goto yy1037; - goto yy81; - } - } - } else { - if (yych <= ']') { - if (yych <= 'Z') { - if (yych >= '<') goto yy81; - } else { - if (yych == '\\') goto yy81; - } - } else { - if (yych <= '|') { - if (yych != '{') goto yy81; - } else { - if (yych == '~') goto yy81; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 399 "src/wasm-ast-lexer.c" + { OPCODE(F64_CONVERT_S_I64); RETURN(CONVERT); } +#line 5911 "src/prebuilt/wasm-ast-lexer-gen.c" yy1039: -#line 223 "src/wasm-ast-lexer.c" - { LITERAL(HEXFLOAT); RETURN(FLOAT); } -#line 5008 "src/prebuilt/wasm-ast-lexer-gen.c" -yy1040: - yych = *++lexer->cursor; - if (yych <= 'D') { - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') goto yy81; - goto yy62; - } else { - if (yych <= '&') goto yy81; - if (yych <= ')') goto yy62; - if (yych <= '+') goto yy81; - goto yy62; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy1021; - goto yy81; - } else { - if (yych <= '9') goto yy1024; - if (yych == ';') goto yy62; - goto yy81; - } - } - } else { - if (yych <= 'e') { - if (yych <= '[') { - if (yych <= 'E') goto yy1026; - if (yych <= 'Z') goto yy81; - goto yy62; - } else { - if (yych == ']') goto yy62; - if (yych <= 'd') goto yy81; - goto yy1026; - } - } else { - if (yych <= '{') { - if (yych == 'x') goto yy1030; - if (yych <= 'z') goto yy81; - goto yy62; - } else { - if (yych == '}') goto yy62; - if (yych <= '~') goto yy81; - goto yy62; - } - } + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 401 "src/wasm-ast-lexer.c" + { OPCODE(F64_CONVERT_U_I32); RETURN(CONVERT); } +#line 5919 "src/prebuilt/wasm-ast-lexer-gen.c" yy1041: - yych = *++lexer->cursor; - if (yych == 'n') goto yy1043; - goto yy82; -yy1042: - yych = *++lexer->cursor; - if (yych == 'a') goto yy157; - goto yy82; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; + } +#line 403 "src/wasm-ast-lexer.c" + { OPCODE(F64_CONVERT_U_I64); RETURN(CONVERT); } +#line 5927 "src/prebuilt/wasm-ast-lexer-gen.c" yy1043: yych = *++lexer->cursor; - if (yych == 'f') goto yy194; - goto yy82; + if (yych == '6') goto yy1047; + goto yy50; yy1044: - ++lexer->cursor; - BEGIN(YYCOND_BLOCK_COMMENT); -#line 434 "src/wasm-ast-lexer.c" - { COMMENT_NESTING = 1; continue; } -#line 5072 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == '3') goto yy1048; + goto yy50; +yy1045: + yych = *++lexer->cursor; + if (yych == '6') goto yy1049; + goto yy50; yy1046: - ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= ';') { - if (yych <= '&') { - if (yych == '!') goto yy1046; - if (yych >= '#') goto yy1046; - } else { - if (yych <= '+') { - if (yych >= '*') goto yy1046; - } else { - if (yych <= ',') goto yy1048; - if (yych <= ':') goto yy1046; - } - } - } else { - if (yych <= 'z') { - if (yych <= '[') { - if (yych <= 'Z') goto yy1046; - } else { - if (yych != ']') goto yy1046; - } - } else { - if (yych <= '|') { - if (yych >= '|') goto yy1046; - } else { - if (yych == '~') goto yy1046; - } - } - } + yych = *++lexer->cursor; + if (yych == '2') goto yy1050; + goto yy50; +yy1047: + yych = *++lexer->cursor; + if (yych == '4') goto yy1052; + goto yy50; yy1048: -#line 429 "src/wasm-ast-lexer.c" - { TEXT; RETURN(VAR); } -#line 5107 "src/prebuilt/wasm-ast-lexer-gen.c" + yych = *++lexer->cursor; + if (yych == '2') goto yy1054; + goto yy50; yy1049: - ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; + yych = *++lexer->cursor; + if (yych == '4') goto yy1056; + goto yy50; yy1050: - if (yybm[0+yych] & 64) { - goto yy1049; + ++lexer->cursor; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } - if (yych <= '!') goto yy1051; - if (yych <= '"') goto yy1053; - if (yych <= '~') goto yy1052; -yy1051: - lexer->cursor = lexer->marker; - goto yy54; +#line 406 "src/wasm-ast-lexer.c" + { OPCODE(F32_REINTERPRET_I32); RETURN(CONVERT); } +#line 5963 "src/prebuilt/wasm-ast-lexer-gen.c" yy1052: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= 'F') { - if (yych <= '\'') { - if (yych == '"') goto yy1049; - if (yych <= '&') goto yy1051; - goto yy1049; - } else { - if (yych <= '/') goto yy1051; - if (yych <= '9') goto yy1055; - if (yych <= '@') goto yy1051; - goto yy1055; - } - } else { - if (yych <= 'f') { - if (yych == '\\') goto yy1049; - if (yych <= '`') goto yy1051; - goto yy1055; - } else { - if (yych <= 'n') { - if (yych <= 'm') goto yy1051; - goto yy1049; - } else { - if (yych == 't') goto yy1049; - goto yy1051; - } - } + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } -yy1053: - ++lexer->cursor; -#line 226 "src/wasm-ast-lexer.c" - { TEXT; RETURN(TEXT); } -#line 5156 "src/prebuilt/wasm-ast-lexer-gen.c" -yy1055: +#line 408 "src/wasm-ast-lexer.c" + { OPCODE(F64_REINTERPRET_I64); RETURN(CONVERT); } +#line 5971 "src/prebuilt/wasm-ast-lexer-gen.c" +yy1054: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; - if (yych <= '@') { - if (yych <= '/') goto yy1051; - if (yych <= '9') goto yy1049; - goto yy1051; - } else { - if (yych <= 'F') goto yy1049; - if (yych <= '`') goto yy1051; - if (yych <= 'f') goto yy1049; - goto yy1051; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } +#line 407 "src/wasm-ast-lexer.c" + { OPCODE(I32_REINTERPRET_F32); RETURN(CONVERT); } +#line 5979 "src/prebuilt/wasm-ast-lexer-gen.c" yy1056: ++lexer->cursor; - if (lexer->limit <= lexer->cursor) FILL(1); - yych = *lexer->cursor; -yy1057: - if (yybm[0+yych] & 128) { - goto yy1056; + if (yybm[0+(yych = *lexer->cursor)] & 16) { + goto yy49; } - goto yy48; +#line 409 "src/wasm-ast-lexer.c" + { OPCODE(I64_REINTERPRET_F64); RETURN(CONVERT); } +#line 5987 "src/prebuilt/wasm-ast-lexer-gen.c" } } -#line 449 "src/wasm-ast-lexer.c" +#line 451 "src/wasm-ast-lexer.c" } } |