summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binary-reader-interpreter.cc5
-rw-r--r--src/binary-reader-ir.cc3
-rw-r--r--src/binary-reader.cc4
-rw-r--r--src/binary-writer.cc8
-rw-r--r--src/common.cc2
-rw-r--r--src/common.h3
-rw-r--r--src/interpreter.cc4
-rw-r--r--src/ir.cc10
-rw-r--r--src/ir.h14
-rw-r--r--src/prebuilt/wast-lexer-gen.cc3767
-rw-r--r--src/prebuilt/wast-parser-gen.cc2415
-rw-r--r--src/prebuilt/wast-parser-gen.hh35
-rw-r--r--src/prebuilt/wast-parser-gen.output7362
-rw-r--r--src/resolve-names.cc4
-rw-r--r--src/validator.cc18
-rw-r--r--src/wast-lexer.cc1
-rw-r--r--src/wast-parser-lexer-shared.h1
-rw-r--r--src/wast-parser.y104
-rw-r--r--src/wat-writer.cc18
19 files changed, 7197 insertions, 6581 deletions
diff --git a/src/binary-reader-interpreter.cc b/src/binary-reader-interpreter.cc
index 52fcc32e..53e83c46 100644
--- a/src/binary-reader-interpreter.cc
+++ b/src/binary-reader-interpreter.cc
@@ -939,6 +939,11 @@ wabt::Result BinaryReaderInterpreter::OnExport(Index index,
}
break;
}
+
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define
+ WABT_FATAL("BinaryReaderInterpreter::OnExport(except) not implemented");
+ break;
}
return AppendExport(module, kind, item_index, name);
}
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index 029cb3fc..5e58e7d6 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -481,6 +481,9 @@ Result BinaryReaderIR::OnExport(Index index,
case ExternalKind::Global:
assert(item_index < module->globals.size());
break;
+ case ExternalKind::Except:
+ WABT_FATAL("OnExport(except) not implemented\n");
+ break;
}
export_->var.type = VarType::Index;
export_->var.index = item_index;
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index 7c9e4d4b..7effa8bc 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -1361,6 +1361,10 @@ Result BinaryReader::ReadExportSection(Offset section_size) {
ERROR_UNLESS(item_index < NumTotalGlobals(),
"invalid export global index: %" PRIindex, item_index);
break;
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define.
+ WABT_FATAL("read export except not implemented");
+ break;
}
CALLBACK(OnExport, i, static_cast<ExternalKind>(external_kind), item_index,
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index 788b6d24..3abc12b7 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -753,6 +753,10 @@ Result BinaryWriter::WriteModule(const Module* module) {
case ExternalKind::Global:
WriteGlobalHeader(import->global);
break;
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define.
+ WABT_FATAL("write import except not implemented\n");
+ break;
}
}
EndSection();
@@ -843,6 +847,10 @@ Result BinaryWriter::WriteModule(const Module* module) {
write_u32_leb128(&stream_, index, "export global index");
break;
}
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define.
+ WABT_FATAL("write export except not implemented\n");
+ break;
}
}
EndSection();
diff --git a/src/common.cc b/src/common.cc
index 7884d2ca..634d3a6c 100644
--- a/src/common.cc
+++ b/src/common.cc
@@ -34,7 +34,7 @@ namespace wabt {
Reloc::Reloc(RelocType type, Offset offset, Index index, int32_t addend)
: type(type), offset(offset), index(index), addend(addend) {}
-const char* g_kind_name[] = {"func", "table", "memory", "global"};
+const char* g_kind_name[] = {"func", "table", "memory", "global", "except"};
WABT_STATIC_ASSERT(WABT_ARRAY_SIZE(g_kind_name) == kExternalKindCount);
const char* g_reloc_type_name[] = {"R_FUNC_INDEX_LEB",
diff --git a/src/common.h b/src/common.h
index f2278c07..3b4d5a54 100644
--- a/src/common.h
+++ b/src/common.h
@@ -187,9 +187,10 @@ enum class ExternalKind {
Table = 1,
Memory = 2,
Global = 3,
+ Except = 4,
First = Func,
- Last = Global,
+ Last = Except,
};
static const int kExternalKindCount = WABT_ENUM_COUNT(ExternalKind);
diff --git a/src/interpreter.cc b/src/interpreter.cc
index bffec0ae..29a6ee53 100644
--- a/src/interpreter.cc
+++ b/src/interpreter.cc
@@ -120,6 +120,10 @@ Import& Import::operator=(Import&& other) {
global.type = other.global.type;
global.mutable_ = other.global.mutable_;
break;
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define
+ WABT_FATAL("Import::operator=() not implemented for exceptions");
+ break;
}
return *this;
}
diff --git a/src/ir.cc b/src/ir.cc
index 9fdf4164..2e4d8b4a 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -422,9 +422,8 @@ Expr* Expr::CreateCatch(Var var, Expr* first) {
}
// static
-Expr* Expr::CreateCatchAll(Var var, Expr* first) {
+Expr* Expr::CreateCatchAll(Expr* first) {
Expr* expr = new Expr(ExprType::CatchAll);
- expr->catch_.var = var;
expr->catch_.first = first;
return expr;
}
@@ -665,6 +664,9 @@ Import::~Import() {
case ExternalKind::Global:
delete global;
break;
+ case ExternalKind::Except:
+ delete except;
+ break;
}
}
@@ -693,6 +695,9 @@ ModuleField::ModuleField(ModuleFieldType type)
ModuleField::~ModuleField() {
switch (type) {
+ case ModuleFieldType::Except:
+ delete except;
+ break;
case ModuleFieldType::Func:
delete func;
break;
@@ -729,6 +734,7 @@ ModuleField::~ModuleField() {
Module::Module()
: first_field(nullptr),
last_field(nullptr),
+ num_except_imports(0),
num_func_imports(0),
num_table_imports(0),
num_memory_imports(0),
diff --git a/src/ir.h b/src/ir.h
index abd5e5ad..3d51c512 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -144,7 +144,7 @@ struct Expr {
static Expr* CreateCall(Var);
static Expr* CreateCallIndirect(Var);
static Expr* CreateCatch(Var v, Expr* first);
- static Expr* CreateCatchAll(Var v, Expr* first);
+ static Expr* CreateCatchAll(Expr* first);
static Expr* CreateCompare(Opcode);
static Expr* CreateConst(const Const&);
static Expr* CreateConvert(Opcode);
@@ -177,6 +177,7 @@ struct Expr {
struct Block *block, *loop;
struct { Block* block; Expr* first_catch; } try_block;
struct { Var var; Expr* first; } catch_;
+ struct { Expr* first; } catch_all;
struct { Var var; } throw_, rethrow_;
struct { Var var; } br, br_if;
struct { VarVector* targets; Var default_target; } br_table;
@@ -189,6 +190,11 @@ struct Expr {
};
};
+struct Exception {
+ StringSlice name;
+ TypeVector sig;
+};
+
struct FuncSignature {
TypeVector param_types;
TypeVector result_types;
@@ -319,6 +325,7 @@ struct Import {
Table* table;
Memory* memory;
Global* global;
+ Exception* except;
};
};
@@ -343,6 +350,7 @@ enum class ModuleFieldType {
Memory,
DataSegment,
Start,
+ Except
};
struct ModuleField {
@@ -364,6 +372,7 @@ struct ModuleField {
ElemSegment* elem_segment;
Memory* memory;
DataSegment* data_segment;
+ Exception* except;
Var start;
};
};
@@ -398,6 +407,7 @@ struct Module {
ModuleField* first_field;
ModuleField* last_field;
+ Index num_except_imports;
Index num_func_imports;
Index num_table_imports;
Index num_memory_imports;
@@ -405,6 +415,7 @@ struct Module {
// Cached for convenience; the pointers are shared with values that are
// stored in either ModuleField or Import.
+ std::vector<Exception*> excepts;
std::vector<Func*> funcs;
std::vector<Global*> globals;
std::vector<Import*> imports;
@@ -416,6 +427,7 @@ struct Module {
std::vector<DataSegment*> data_segments;
Var* start;
+ BindingHash except_bindings;
BindingHash func_bindings;
BindingHash global_bindings;
BindingHash export_bindings;
diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc
index 0269e849..042011ee 100644
--- a/src/prebuilt/wast-lexer-gen.cc
+++ b/src/prebuilt/wast-lexer-gen.cc
@@ -447,12 +447,12 @@ YYCOND_BLOCK_COMMENT:
yy34:
++cursor_;
yy35:
-#line 481 "src/wast-lexer.cc"
+#line 482 "src/wast-lexer.cc"
{ continue; }
#line 453 "src/prebuilt/wast-lexer-gen.cc"
yy36:
++cursor_;
-#line 480 "src/wast-lexer.cc"
+#line 481 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 458 "src/prebuilt/wast-lexer-gen.cc"
yy38:
@@ -466,7 +466,7 @@ yy39:
yy40:
++cursor_;
yy41:
-#line 482 "src/wast-lexer.cc"
+#line 483 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(" in block comment"); }
#line 472 "src/prebuilt/wast-lexer-gen.cc"
yy42:
@@ -501,12 +501,12 @@ yy47:
goto yy41;
yy48:
++cursor_;
-#line 476 "src/wast-lexer.cc"
+#line 477 "src/wast-lexer.cc"
{ COMMENT_NESTING++; continue; }
#line 507 "src/prebuilt/wast-lexer-gen.cc"
yy50:
++cursor_;
-#line 477 "src/wast-lexer.cc"
+#line 478 "src/wast-lexer.cc"
{ if (--COMMENT_NESTING == 0)
BEGIN(YYCOND_INIT);
continue; }
@@ -581,7 +581,7 @@ YYCOND_LINE_COMMENT:
}
}
yy57:
-#line 474 "src/wast-lexer.cc"
+#line 475 "src/wast-lexer.cc"
{ continue; }
#line 587 "src/prebuilt/wast-lexer-gen.cc"
yy58:
@@ -606,13 +606,13 @@ yy58:
yy60:
++cursor_;
BEGIN(YYCOND_i);
-#line 473 "src/wast-lexer.cc"
+#line 474 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 612 "src/prebuilt/wast-lexer-gen.cc"
yy62:
++cursor_;
yy63:
-#line 489 "src/wast-lexer.cc"
+#line 490 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
#line 618 "src/prebuilt/wast-lexer-gen.cc"
yy64:
@@ -835,7 +835,7 @@ YYCOND_i:
yy79:
++cursor_;
yy80:
-#line 488 "src/wast-lexer.cc"
+#line 489 "src/wast-lexer.cc"
{ ERROR("unexpected char"); continue; }
#line 841 "src/prebuilt/wast-lexer-gen.cc"
yy81:
@@ -845,12 +845,12 @@ yy81:
if (yybm[0+yych] & 4) {
goto yy81;
}
-#line 484 "src/wast-lexer.cc"
+#line 485 "src/wast-lexer.cc"
{ continue; }
#line 851 "src/prebuilt/wast-lexer-gen.cc"
yy84:
++cursor_;
-#line 483 "src/wast-lexer.cc"
+#line 484 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 856 "src/prebuilt/wast-lexer-gen.cc"
yy86:
@@ -862,7 +862,7 @@ yy87:
goto yy86;
}
yy88:
-#line 485 "src/wast-lexer.cc"
+#line 486 "src/wast-lexer.cc"
{ ERROR("unexpected token \"%.*s\"",
static_cast<int>(yyleng), yytext);
continue; }
@@ -1120,7 +1120,7 @@ yy119:
yy120:
++cursor_;
yy121:
-#line 489 "src/wast-lexer.cc"
+#line 490 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
#line 1126 "src/prebuilt/wast-lexer-gen.cc"
yy122:
@@ -1289,13 +1289,13 @@ yy141:
if (yych <= ';') goto yy142;
if (yych <= '}') goto yy86;
yy142:
-#line 470 "src/wast-lexer.cc"
+#line 471 "src/wast-lexer.cc"
{ TEXT; RETURN(VAR); }
#line 1295 "src/prebuilt/wast-lexer-gen.cc"
yy143:
++cursor_;
BEGIN(YYCOND_BLOCK_COMMENT);
-#line 475 "src/wast-lexer.cc"
+#line 476 "src/wast-lexer.cc"
{ COMMENT_NESTING = 1; continue; }
#line 1301 "src/prebuilt/wast-lexer-gen.cc"
yy145:
@@ -1420,7 +1420,7 @@ yy155:
yy156:
++cursor_;
BEGIN(YYCOND_LINE_COMMENT);
-#line 472 "src/wast-lexer.cc"
+#line 473 "src/wast-lexer.cc"
{ continue; }
#line 1426 "src/prebuilt/wast-lexer-gen.cc"
yy158:
@@ -1492,39 +1492,40 @@ yy170:
goto yy87;
yy171:
yych = *++cursor_;
- if (yych == 'p') goto yy227;
+ if (yych == 'c') goto yy227;
+ if (yych == 'p') goto yy228;
goto yy87;
yy172:
yych = *++cursor_;
- if (yych == '2') goto yy228;
+ if (yych == '2') goto yy229;
goto yy87;
yy173:
yych = *++cursor_;
- if (yych == '4') goto yy230;
+ if (yych == '4') goto yy231;
goto yy87;
yy174:
yych = *++cursor_;
- if (yych == 'n') goto yy232;
+ if (yych == 'n') goto yy233;
goto yy87;
yy175:
yych = *++cursor_;
- if (yych == 't') goto yy233;
+ if (yych == 't') goto yy234;
goto yy87;
yy176:
yych = *++cursor_;
- if (yych == 'o') goto yy235;
+ if (yych == 'o') goto yy236;
goto yy87;
yy177:
yych = *++cursor_;
- if (yych == 'o') goto yy236;
+ if (yych == 'o') goto yy237;
goto yy87;
yy178:
yych = *++cursor_;
- if (yych == '2') goto yy237;
+ if (yych == '2') goto yy238;
goto yy87;
yy179:
yych = *++cursor_;
- if (yych == '4') goto yy239;
+ if (yych == '4') goto yy240;
goto yy87;
yy180:
++cursor_;
@@ -1533,96 +1534,96 @@ yy180:
}
#line 262 "src/wast-lexer.cc"
{ RETURN(IF); }
-#line 1537 "src/prebuilt/wast-lexer-gen.cc"
+#line 1538 "src/prebuilt/wast-lexer-gen.cc"
yy182:
yych = *++cursor_;
- if (yych == 'p') goto yy241;
+ if (yych == 'p') goto yy242;
goto yy87;
yy183:
yych = *++cursor_;
- if (yych == 'f') goto yy242;
- if (yych == 'v') goto yy244;
+ if (yych == 'f') goto yy243;
+ if (yych == 'v') goto yy245;
goto yy87;
yy184:
yych = *++cursor_;
- if (yych == 'c') goto yy245;
- if (yych == 'o') goto yy246;
+ if (yych == 'c') goto yy246;
+ if (yych == 'o') goto yy247;
goto yy87;
yy185:
yych = *++cursor_;
- if (yych == 'm') goto yy247;
+ if (yych == 'm') goto yy248;
goto yy87;
yy186:
yych = *++cursor_;
- if (yych == 'd') goto yy248;
+ if (yych == 'd') goto yy249;
goto yy87;
yy187:
yych = *++cursor_;
- if (yych == 't') goto yy249;
+ if (yych == 't') goto yy250;
goto yy87;
yy188:
yych = *++cursor_;
- if (yych == 'n') goto yy251;
+ if (yych == 'n') goto yy252;
goto yy87;
yy189:
yych = *++cursor_;
- if (yych == 'p') goto yy253;
+ if (yych == 'p') goto yy254;
goto yy87;
yy190:
yych = *++cursor_;
- if (yych == 'f') goto yy255;
+ if (yych == 'f') goto yy256;
goto yy87;
yy191:
yych = *++cursor_;
- if (yych == 'r') goto yy256;
+ if (yych == 'r') goto yy257;
goto yy87;
yy192:
yych = *++cursor_;
- if (yych == 'o') goto yy257;
+ if (yych == 'o') goto yy258;
goto yy87;
yy193:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'g') goto yy258;
+ if (yych == 'g') goto yy259;
goto yy87;
} else {
- if (yych <= 's') goto yy259;
- if (yych <= 't') goto yy260;
+ if (yych <= 's') goto yy260;
+ if (yych <= 't') goto yy261;
goto yy87;
}
yy194:
yych = *++cursor_;
- if (yych == 'l') goto yy261;
- if (yych == 't') goto yy262;
+ if (yych == 'l') goto yy262;
+ if (yych == 't') goto yy263;
goto yy87;
yy195:
yych = *++cursor_;
- if (yych == 'a') goto yy263;
+ if (yych == 'a') goto yy264;
goto yy87;
yy196:
yych = *++cursor_;
- if (yych == 'b') goto yy264;
+ if (yych == 'b') goto yy265;
goto yy87;
yy197:
yych = *++cursor_;
- if (yych == 'e') goto yy265;
+ if (yych == 'e') goto yy266;
goto yy87;
yy198:
yych = *++cursor_;
- if (yych == 'e') goto yy266;
- if (yych == 'r') goto yy267;
+ if (yych == 'e') goto yy267;
+ if (yych == 'r') goto yy268;
goto yy87;
yy199:
yych = *++cursor_;
- if (yych == 'y') goto yy268;
+ if (yych == 'y') goto yy269;
goto yy87;
yy200:
yych = *++cursor_;
- if (yych == 'p') goto yy270;
+ if (yych == 'p') goto yy271;
goto yy87;
yy201:
yych = *++cursor_;
- if (yych == 'r') goto yy271;
+ if (yych == 'r') goto yy272;
goto yy87;
yy202:
yych = *++cursor_;
@@ -1652,17 +1653,17 @@ yy205:
yych = *++cursor_;
if (yych <= '@') {
if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy272;
+ if (yych <= '9') goto yy273;
goto yy87;
} else {
- if (yych <= 'F') goto yy272;
+ if (yych <= 'F') goto yy273;
if (yych <= '`') goto yy87;
- if (yych <= 'f') goto yy272;
+ if (yych <= 'f') goto yy273;
goto yy87;
}
yy206:
yych = *++cursor_;
- if (yych == 'f') goto yy242;
+ if (yych == 'f') goto yy243;
goto yy87;
yy207:
yych = *++cursor_;
@@ -1710,67 +1711,67 @@ yy210:
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy274;
+ if (yych <= '.') goto yy275;
if (yych <= ':') goto yy86;
goto yy98;
} else {
- if (yych == 'p') goto yy276;
+ if (yych == 'p') goto yy277;
if (yych <= '~') goto yy86;
goto yy98;
}
}
yy212:
yych = *++cursor_;
- if (yych == 'g') goto yy277;
+ if (yych == 'g') goto yy278;
goto yy87;
yy213:
yych = *++cursor_;
- if (yych == 'f') goto yy278;
+ if (yych == 'f') goto yy279;
goto yy87;
yy214:
yych = *++cursor_;
- if (yych == 'e') goto yy279;
+ if (yych == 'e') goto yy280;
goto yy87;
yy215:
yych = *++cursor_;
- if (yych == 'a') goto yy280;
+ if (yych == 'a') goto yy281;
goto yy87;
yy216:
yych = *++cursor_;
- if (yych == 'c') goto yy281;
+ if (yych == 'c') goto yy282;
goto yy87;
yy217:
yych = *++cursor_;
- if (yych == 'i') goto yy282;
- if (yych == 't') goto yy283;
+ if (yych == 'i') goto yy283;
+ if (yych == 't') goto yy284;
goto yy87;
yy218:
yych = *++cursor_;
- if (yych == 'l') goto yy284;
+ if (yych == 'l') goto yy285;
goto yy87;
yy219:
yych = *++cursor_;
- if (yych == 'c') goto yy286;
+ if (yych == 'c') goto yy287;
goto yy87;
yy220:
yych = *++cursor_;
- if (yych == 'r') goto yy287;
+ if (yych == 'r') goto yy288;
goto yy87;
yy221:
yych = *++cursor_;
- if (yych == 'a') goto yy288;
+ if (yych == 'a') goto yy289;
goto yy87;
yy222:
yych = *++cursor_;
- if (yych == 'p') goto yy290;
+ if (yych == 'p') goto yy291;
goto yy87;
yy223:
yych = *++cursor_;
- if (yych == 'm') goto yy292;
+ if (yych == 'm') goto yy293;
goto yy87;
yy224:
yych = *++cursor_;
- if (yych == 'e') goto yy294;
+ if (yych == 'e') goto yy295;
goto yy87;
yy225:
++cursor_;
@@ -1779,272 +1780,276 @@ yy225:
}
#line 272 "src/wast-lexer.cc"
{ RETURN(END); }
-#line 1783 "src/prebuilt/wast-lexer-gen.cc"
+#line 1784 "src/prebuilt/wast-lexer-gen.cc"
yy227:
yych = *++cursor_;
- if (yych == 'o') goto yy296;
+ if (yych == 'e') goto yy297;
goto yy87;
yy228:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy298;
+ goto yy87;
+yy229:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy229;
+ if (yych <= '"') goto yy230;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy297;
+ if (yych == '.') goto yy299;
goto yy86;
} else {
- if (yych <= ';') goto yy229;
+ if (yych <= ';') goto yy230;
if (yych <= '~') goto yy86;
}
}
-yy229:
+yy230:
#line 256 "src/wast-lexer.cc"
{ TYPE(F32); RETURN(VALUE_TYPE); }
-#line 1809 "src/prebuilt/wast-lexer-gen.cc"
-yy230:
+#line 1814 "src/prebuilt/wast-lexer-gen.cc"
+yy231:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy231;
+ if (yych <= '"') goto yy232;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy298;
+ if (yych == '.') goto yy300;
goto yy86;
} else {
- if (yych <= ';') goto yy231;
+ if (yych <= ';') goto yy232;
if (yych <= '~') goto yy86;
}
}
-yy231:
+yy232:
#line 257 "src/wast-lexer.cc"
{ TYPE(F64); RETURN(VALUE_TYPE); }
-#line 1831 "src/prebuilt/wast-lexer-gen.cc"
-yy232:
+#line 1836 "src/prebuilt/wast-lexer-gen.cc"
+yy233:
yych = *++cursor_;
- if (yych == 'c') goto yy299;
+ if (yych == 'c') goto yy301;
goto yy87;
-yy233:
+yy234:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy234;
+ if (yych <= '"') goto yy235;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy301;
+ if (yych <= '_') goto yy303;
if (yych <= '~') goto yy86;
}
}
-yy234:
-#line 454 "src/wast-lexer.cc"
- { RETURN(GET); }
-#line 1856 "src/prebuilt/wast-lexer-gen.cc"
yy235:
- yych = *++cursor_;
- if (yych == 'b') goto yy302;
- goto yy87;
+#line 455 "src/wast-lexer.cc"
+ { RETURN(GET); }
+#line 1861 "src/prebuilt/wast-lexer-gen.cc"
yy236:
yych = *++cursor_;
- if (yych == 'w') goto yy303;
+ if (yych == 'b') goto yy304;
goto yy87;
yy237:
+ yych = *++cursor_;
+ if (yych == 'w') goto yy305;
+ goto yy87;
+yy238:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy238;
+ if (yych <= '"') goto yy239;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy304;
+ if (yych == '.') goto yy306;
goto yy86;
} else {
- if (yych <= ';') goto yy238;
+ if (yych <= ';') goto yy239;
if (yych <= '~') goto yy86;
}
}
-yy238:
+yy239:
#line 254 "src/wast-lexer.cc"
{ TYPE(I32); RETURN(VALUE_TYPE); }
-#line 1886 "src/prebuilt/wast-lexer-gen.cc"
-yy239:
+#line 1891 "src/prebuilt/wast-lexer-gen.cc"
+yy240:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy240;
+ if (yych <= '"') goto yy241;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy305;
+ if (yych == '.') goto yy307;
goto yy86;
} else {
- if (yych <= ';') goto yy240;
+ if (yych <= ';') goto yy241;
if (yych <= '~') goto yy86;
}
}
-yy240:
+yy241:
#line 255 "src/wast-lexer.cc"
{ TYPE(I64); RETURN(VALUE_TYPE); }
-#line 1908 "src/prebuilt/wast-lexer-gen.cc"
-yy241:
+#line 1913 "src/prebuilt/wast-lexer-gen.cc"
+yy242:
yych = *++cursor_;
- if (yych == 'o') goto yy306;
+ if (yych == 'o') goto yy308;
goto yy87;
-yy242:
+yy243:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 239 "src/wast-lexer.cc"
{ LITERAL(Infinity); RETURN(FLOAT); }
-#line 1920 "src/prebuilt/wast-lexer-gen.cc"
-yy244:
- yych = *++cursor_;
- if (yych == 'o') goto yy307;
- goto yy87;
+#line 1925 "src/prebuilt/wast-lexer-gen.cc"
yy245:
yych = *++cursor_;
- if (yych == 'a') goto yy308;
+ if (yych == 'o') goto yy309;
goto yy87;
yy246:
yych = *++cursor_;
- if (yych == 'p') goto yy309;
+ if (yych == 'a') goto yy310;
goto yy87;
yy247:
yych = *++cursor_;
- if (yych == 'o') goto yy311;
+ if (yych == 'p') goto yy311;
goto yy87;
yy248:
yych = *++cursor_;
- if (yych == 'u') goto yy312;
+ if (yych == 'o') goto yy313;
goto yy87;
yy249:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy314;
+ goto yy87;
+yy250:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 259 "src/wast-lexer.cc"
{ RETURN(MUT); }
-#line 1948 "src/prebuilt/wast-lexer-gen.cc"
-yy251:
+#line 1953 "src/prebuilt/wast-lexer-gen.cc"
+yy252:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy252;
+ if (yych <= '"') goto yy253;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
if (yych <= '9') goto yy86;
- goto yy313;
+ goto yy315;
} else {
- if (yych <= ';') goto yy252;
+ if (yych <= ';') goto yy253;
if (yych <= '~') goto yy86;
}
}
-yy252:
+yy253:
#line 240 "src/wast-lexer.cc"
{ LITERAL(Nan); RETURN(FLOAT); }
-#line 1970 "src/prebuilt/wast-lexer-gen.cc"
-yy253:
+#line 1975 "src/prebuilt/wast-lexer-gen.cc"
+yy254:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 260 "src/wast-lexer.cc"
{ RETURN(NOP); }
-#line 1978 "src/prebuilt/wast-lexer-gen.cc"
-yy255:
- yych = *++cursor_;
- if (yych == 's') goto yy314;
- goto yy87;
+#line 1983 "src/prebuilt/wast-lexer-gen.cc"
yy256:
yych = *++cursor_;
- if (yych == 'a') goto yy315;
+ if (yych == 's') goto yy316;
goto yy87;
yy257:
yych = *++cursor_;
- if (yych == 't') goto yy316;
+ if (yych == 'a') goto yy317;
goto yy87;
yy258:
yych = *++cursor_;
- if (yych == 'i') goto yy317;
+ if (yych == 't') goto yy318;
goto yy87;
yy259:
yych = *++cursor_;
- if (yych == 'u') goto yy318;
+ if (yych == 'i') goto yy319;
goto yy87;
yy260:
yych = *++cursor_;
- if (yych == 'h') goto yy319;
if (yych == 'u') goto yy320;
goto yy87;
yy261:
yych = *++cursor_;
- if (yych == 'e') goto yy321;
+ if (yych == 'h') goto yy321;
+ if (yych == 'u') goto yy322;
goto yy87;
yy262:
yych = *++cursor_;
- if (yych == '_') goto yy322;
+ if (yych == 'e') goto yy323;
goto yy87;
yy263:
yych = *++cursor_;
- if (yych == 'r') goto yy323;
+ if (yych == '_') goto yy324;
goto yy87;
yy264:
yych = *++cursor_;
- if (yych == 'l') goto yy324;
+ if (yych == 'r') goto yy325;
goto yy87;
yy265:
yych = *++cursor_;
- if (yych == '_') goto yy325;
+ if (yych == 'l') goto yy326;
goto yy87;
yy266:
yych = *++cursor_;
- if (yych == 'n') goto yy326;
+ if (yych == '_') goto yy327;
goto yy87;
yy267:
yych = *++cursor_;
- if (yych == 'o') goto yy328;
+ if (yych == 'n') goto yy328;
goto yy87;
yy268:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy330;
+ goto yy87;
+yy269:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 465 "src/wast-lexer.cc"
+#line 466 "src/wast-lexer.cc"
{ RETURN(TRY); }
-#line 2039 "src/prebuilt/wast-lexer-gen.cc"
-yy270:
- yych = *++cursor_;
- if (yych == 'e') goto yy329;
- goto yy87;
+#line 2044 "src/prebuilt/wast-lexer-gen.cc"
yy271:
yych = *++cursor_;
if (yych == 'e') goto yy331;
goto yy87;
yy272:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy333;
+ goto yy87;
+yy273:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
@@ -2058,9 +2063,9 @@ yy272:
if (yych <= ')') goto yy146;
goto yy86;
} else {
- if (yych <= '.') goto yy274;
+ if (yych <= '.') goto yy275;
if (yych <= '/') goto yy86;
- goto yy272;
+ goto yy273;
}
}
} else {
@@ -2070,21 +2075,21 @@ yy272:
goto yy146;
} else {
if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy272;
+ if (yych <= 'F') goto yy273;
goto yy86;
}
} else {
if (yych <= 'o') {
- if (yych <= 'f') goto yy272;
+ if (yych <= 'f') goto yy273;
goto yy86;
} else {
- if (yych <= 'p') goto yy276;
+ if (yych <= 'p') goto yy277;
if (yych <= '~') goto yy86;
goto yy146;
}
}
}
-yy274:
+yy275:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
@@ -2096,264 +2101,260 @@ yy274:
} else {
if (yych <= ')') goto yy88;
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy274;
+ if (yych <= '9') goto yy275;
goto yy86;
}
} else {
if (yych <= '`') {
if (yych <= ';') goto yy88;
if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy274;
+ if (yych <= 'F') goto yy275;
goto yy86;
} else {
if (yych <= 'o') {
- if (yych <= 'f') goto yy274;
+ if (yych <= 'f') goto yy275;
goto yy86;
} else {
- if (yych <= 'p') goto yy276;
+ if (yych <= 'p') goto yy277;
if (yych <= '~') goto yy86;
goto yy88;
}
}
}
-yy276:
+yy277:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy332;
+ if (yych == '+') goto yy334;
goto yy87;
} else {
- if (yych <= '-') goto yy332;
+ if (yych <= '-') goto yy334;
if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy333;
+ if (yych <= '9') goto yy335;
goto yy87;
}
-yy277:
- yych = *++cursor_;
- if (yych == 'n') goto yy336;
- goto yy87;
yy278:
yych = *++cursor_;
- if (yych == 'u') goto yy337;
+ if (yych == 'n') goto yy338;
goto yy87;
yy279:
yych = *++cursor_;
- if (yych == 'r') goto yy338;
+ if (yych == 'u') goto yy339;
goto yy87;
yy280:
yych = *++cursor_;
- if (yych == 'r') goto yy339;
+ if (yych == 'r') goto yy340;
goto yy87;
yy281:
yych = *++cursor_;
- if (yych == 'k') goto yy340;
+ if (yych == 'r') goto yy341;
goto yy87;
yy282:
yych = *++cursor_;
- if (yych == 'f') goto yy342;
+ if (yych == 'k') goto yy342;
goto yy87;
yy283:
yych = *++cursor_;
- if (yych == 'a') goto yy344;
+ if (yych == 'f') goto yy344;
goto yy87;
yy284:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy346;
+ goto yy87;
+yy285:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy285;
+ if (yych <= '"') goto yy286;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy345;
+ if (yych <= '_') goto yy347;
if (yych <= '~') goto yy86;
}
}
-yy285:
+yy286:
#line 269 "src/wast-lexer.cc"
{ RETURN(CALL); }
-#line 2179 "src/prebuilt/wast-lexer-gen.cc"
-yy286:
- yych = *++cursor_;
- if (yych == 'h') goto yy346;
- goto yy87;
+#line 2184 "src/prebuilt/wast-lexer-gen.cc"
yy287:
yych = *++cursor_;
- if (yych == 'e') goto yy348;
+ if (yych == 'h') goto yy348;
goto yy87;
yy288:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy350;
+ goto yy87;
+yy289:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 448 "src/wast-lexer.cc"
{ RETURN(DATA); }
-#line 2195 "src/prebuilt/wast-lexer-gen.cc"
-yy290:
+#line 2200 "src/prebuilt/wast-lexer-gen.cc"
+yy291:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 271 "src/wast-lexer.cc"
{ RETURN(DROP); }
-#line 2203 "src/prebuilt/wast-lexer-gen.cc"
-yy292:
+#line 2208 "src/prebuilt/wast-lexer-gen.cc"
+yy293:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 447 "src/wast-lexer.cc"
{ RETURN(ELEM); }
-#line 2211 "src/prebuilt/wast-lexer-gen.cc"
-yy294:
+#line 2216 "src/prebuilt/wast-lexer-gen.cc"
+yy295:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 264 "src/wast-lexer.cc"
{ RETURN(ELSE); }
-#line 2219 "src/prebuilt/wast-lexer-gen.cc"
-yy296:
+#line 2224 "src/prebuilt/wast-lexer-gen.cc"
+yy297:
yych = *++cursor_;
- if (yych == 'r') goto yy349;
+ if (yych == 'p') goto yy351;
goto yy87;
-yy297:
+yy298:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy352;
+ goto yy87;
+yy299:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy350;
- case 'c': goto yy351;
- case 'd': goto yy352;
- case 'e': goto yy353;
- case 'f': goto yy354;
- case 'g': goto yy355;
- case 'l': goto yy356;
- case 'm': goto yy357;
- case 'n': goto yy358;
- case 'r': goto yy359;
- case 's': goto yy360;
- case 't': goto yy361;
+ case 'a': goto yy353;
+ case 'c': goto yy354;
+ case 'd': goto yy355;
+ case 'e': goto yy356;
+ case 'f': goto yy357;
+ case 'g': goto yy358;
+ case 'l': goto yy359;
+ case 'm': goto yy360;
+ case 'n': goto yy361;
+ case 'r': goto yy362;
+ case 's': goto yy363;
+ case 't': goto yy364;
default: goto yy87;
}
-yy298:
+yy300:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy362;
- case 'c': goto yy363;
- case 'd': goto yy364;
- case 'e': goto yy365;
- case 'f': goto yy366;
- case 'g': goto yy367;
- case 'l': goto yy368;
- case 'm': goto yy369;
- case 'n': goto yy370;
- case 'p': goto yy371;
- case 'r': goto yy372;
- case 's': goto yy373;
- case 't': goto yy374;
+ case 'a': goto yy365;
+ case 'c': goto yy366;
+ case 'd': goto yy367;
+ case 'e': goto yy368;
+ case 'f': goto yy369;
+ case 'g': goto yy370;
+ case 'l': goto yy371;
+ case 'm': goto yy372;
+ case 'n': goto yy373;
+ case 'p': goto yy374;
+ case 'r': goto yy375;
+ case 's': goto yy376;
+ case 't': goto yy377;
default: goto yy87;
}
-yy299:
+yy301:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 436 "src/wast-lexer.cc"
{ RETURN(FUNC); }
-#line 2266 "src/prebuilt/wast-lexer-gen.cc"
-yy301:
+#line 2275 "src/prebuilt/wast-lexer-gen.cc"
+yy303:
yych = *++cursor_;
- if (yych == 'g') goto yy375;
- if (yych == 'l') goto yy376;
+ if (yych == 'g') goto yy378;
+ if (yych == 'l') goto yy379;
goto yy87;
-yy302:
+yy304:
yych = *++cursor_;
- if (yych == 'a') goto yy377;
+ if (yych == 'a') goto yy380;
goto yy87;
-yy303:
+yy305:
yych = *++cursor_;
- if (yych == '_') goto yy378;
+ if (yych == '_') goto yy381;
goto yy87;
-yy304:
+yy306:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy379;
- case 'c': goto yy380;
- case 'd': goto yy381;
- case 'e': goto yy382;
- case 'g': goto yy383;
- case 'l': goto yy384;
- case 'm': goto yy385;
- case 'n': goto yy386;
- case 'o': goto yy387;
- case 'p': goto yy388;
- case 'r': goto yy389;
- case 's': goto yy390;
- case 't': goto yy391;
- case 'w': goto yy392;
- case 'x': goto yy393;
+ case 'a': goto yy382;
+ case 'c': goto yy383;
+ case 'd': goto yy384;
+ case 'e': goto yy385;
+ case 'g': goto yy386;
+ case 'l': goto yy387;
+ case 'm': goto yy388;
+ case 'n': goto yy389;
+ case 'o': goto yy390;
+ case 'p': goto yy391;
+ case 'r': goto yy392;
+ case 's': goto yy393;
+ case 't': goto yy394;
+ case 'w': goto yy395;
+ case 'x': goto yy396;
default: goto yy87;
}
-yy305:
+yy307:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy394;
- case 'c': goto yy395;
- case 'd': goto yy396;
- case 'e': goto yy397;
- case 'g': goto yy398;
- case 'l': goto yy399;
- case 'm': goto yy400;
- case 'n': goto yy401;
- case 'o': goto yy402;
- case 'p': goto yy403;
- case 'r': goto yy404;
- case 's': goto yy405;
- case 't': goto yy406;
- case 'x': goto yy407;
+ case 'a': goto yy397;
+ case 'c': goto yy398;
+ case 'd': goto yy399;
+ case 'e': goto yy400;
+ case 'g': goto yy401;
+ case 'l': goto yy402;
+ case 'm': goto yy403;
+ case 'n': goto yy404;
+ case 'o': goto yy405;
+ case 'p': goto yy406;
+ case 'r': goto yy407;
+ case 's': goto yy408;
+ case 't': goto yy409;
+ case 'x': goto yy410;
default: goto yy87;
}
-yy306:
+yy308:
yych = *++cursor_;
- if (yych == 'r') goto yy408;
+ if (yych == 'r') goto yy411;
goto yy87;
-yy307:
+yy309:
yych = *++cursor_;
- if (yych == 'k') goto yy409;
+ if (yych == 'k') goto yy412;
goto yy87;
-yy308:
+yy310:
yych = *++cursor_;
- if (yych == 'l') goto yy410;
+ if (yych == 'l') goto yy413;
goto yy87;
-yy309:
+yy311:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 265 "src/wast-lexer.cc"
{ RETURN(LOOP); }
-#line 2338 "src/prebuilt/wast-lexer-gen.cc"
-yy311:
- yych = *++cursor_;
- if (yych == 'r') goto yy412;
- goto yy87;
-yy312:
- yych = *++cursor_;
- if (yych == 'l') goto yy413;
- goto yy87;
+#line 2347 "src/prebuilt/wast-lexer-gen.cc"
yy313:
yych = *++cursor_;
- if (yych == '0') goto yy414;
+ if (yych == 'r') goto yy415;
goto yy87;
yy314:
yych = *++cursor_;
- if (yych == 'e') goto yy415;
+ if (yych == 'l') goto yy416;
goto yy87;
yy315:
yych = *++cursor_;
- if (yych == 'm') goto yy416;
+ if (yych == '0') goto yy417;
goto yy87;
yy316:
yych = *++cursor_;
@@ -2361,70 +2362,78 @@ yy316:
goto yy87;
yy317:
yych = *++cursor_;
- if (yych == 's') goto yy420;
+ if (yych == 'm') goto yy419;
goto yy87;
yy318:
yych = *++cursor_;
- if (yych == 'l') goto yy421;
+ if (yych == 'e') goto yy421;
goto yy87;
yy319:
yych = *++cursor_;
- if (yych == 'r') goto yy422;
+ if (yych == 's') goto yy423;
goto yy87;
yy320:
yych = *++cursor_;
- if (yych == 'r') goto yy423;
+ if (yych == 'l') goto yy424;
goto yy87;
yy321:
yych = *++cursor_;
- if (yych == 'c') goto yy424;
+ if (yych == 'r') goto yy425;
goto yy87;
yy322:
yych = *++cursor_;
- if (yych == 'g') goto yy425;
- if (yych == 'l') goto yy426;
+ if (yych == 'r') goto yy426;
goto yy87;
yy323:
yych = *++cursor_;
- if (yych == 't') goto yy427;
+ if (yych == 'c') goto yy427;
goto yy87;
yy324:
yych = *++cursor_;
- if (yych == 'e') goto yy429;
+ if (yych == 'g') goto yy428;
+ if (yych == 'l') goto yy429;
goto yy87;
yy325:
yych = *++cursor_;
- if (yych == 'l') goto yy431;
+ if (yych == 't') goto yy430;
goto yy87;
yy326:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy432;
+ goto yy87;
+yy327:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy434;
+ goto yy87;
+yy328:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 263 "src/wast-lexer.cc"
{ RETURN(THEN); }
-#line 2407 "src/prebuilt/wast-lexer-gen.cc"
-yy328:
+#line 2416 "src/prebuilt/wast-lexer-gen.cc"
+yy330:
yych = *++cursor_;
- if (yych == 'w') goto yy432;
+ if (yych == 'w') goto yy435;
goto yy87;
-yy329:
+yy331:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 435 "src/wast-lexer.cc"
{ RETURN(TYPE); }
-#line 2419 "src/prebuilt/wast-lexer-gen.cc"
-yy331:
+#line 2428 "src/prebuilt/wast-lexer-gen.cc"
+yy333:
yych = *++cursor_;
- if (yych == 'a') goto yy434;
+ if (yych == 'a') goto yy437;
goto yy87;
-yy332:
+yy334:
yych = *++cursor_;
if (yych <= '/') goto yy87;
if (yych >= ':') goto yy87;
-yy333:
+yy335:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -2432,473 +2441,465 @@ yy333:
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy335;
+ if (yych <= '"') goto yy337;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy333;
+ if (yych <= '9') goto yy335;
goto yy86;
} else {
- if (yych <= ';') goto yy335;
+ if (yych <= ';') goto yy337;
if (yych <= '~') goto yy86;
}
}
-yy335:
+yy337:
#line 238 "src/wast-lexer.cc"
{ LITERAL(Hexfloat); RETURN(FLOAT); }
-#line 2452 "src/prebuilt/wast-lexer-gen.cc"
-yy336:
+#line 2461 "src/prebuilt/wast-lexer-gen.cc"
+yy338:
yych = *++cursor_;
- if (yych == '=') goto yy435;
+ if (yych == '=') goto yy438;
goto yy87;
-yy337:
+yy339:
yych = *++cursor_;
- if (yych == 'n') goto yy436;
+ if (yych == 'n') goto yy439;
goto yy87;
-yy338:
+yy340:
yych = *++cursor_;
- if (yych == 't') goto yy437;
+ if (yych == 't') goto yy440;
goto yy87;
-yy339:
+yy341:
yych = *++cursor_;
- if (yych == 'y') goto yy438;
+ if (yych == 'y') goto yy441;
goto yy87;
-yy340:
+yy342:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 261 "src/wast-lexer.cc"
{ RETURN(BLOCK); }
-#line 2476 "src/prebuilt/wast-lexer-gen.cc"
-yy342:
+#line 2485 "src/prebuilt/wast-lexer-gen.cc"
+yy344:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 267 "src/wast-lexer.cc"
{ RETURN(BR_IF); }
-#line 2484 "src/prebuilt/wast-lexer-gen.cc"
-yy344:
+#line 2493 "src/prebuilt/wast-lexer-gen.cc"
+yy346:
yych = *++cursor_;
- if (yych == 'b') goto yy440;
+ if (yych == 'b') goto yy443;
goto yy87;
-yy345:
+yy347:
yych = *++cursor_;
- if (yych == 'i') goto yy441;
+ if (yych == 'i') goto yy444;
goto yy87;
-yy346:
+yy348:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy347;
+ if (yych <= '"') goto yy349;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy442;
+ if (yych <= '_') goto yy445;
if (yych <= '~') goto yy86;
}
}
-yy347:
-#line 466 "src/wast-lexer.cc"
- { RETURN(CATCH); }
-#line 2513 "src/prebuilt/wast-lexer-gen.cc"
-yy348:
- yych = *++cursor_;
- if (yych == 'n') goto yy443;
- goto yy87;
yy349:
- yych = *++cursor_;
- if (yych == 't') goto yy444;
- goto yy87;
+#line 467 "src/wast-lexer.cc"
+ { RETURN(CATCH); }
+#line 2522 "src/prebuilt/wast-lexer-gen.cc"
yy350:
yych = *++cursor_;
- if (yych == 'b') goto yy446;
- if (yych == 'd') goto yy447;
+ if (yych == 'n') goto yy446;
goto yy87;
yy351:
yych = *++cursor_;
- if (yych == 'e') goto yy448;
- if (yych == 'o') goto yy449;
+ if (yych == 't') goto yy447;
goto yy87;
yy352:
yych = *++cursor_;
- if (yych == 'e') goto yy450;
- if (yych == 'i') goto yy451;
+ if (yych == 't') goto yy449;
goto yy87;
yy353:
yych = *++cursor_;
- if (yych == 'q') goto yy452;
+ if (yych == 'b') goto yy451;
+ if (yych == 'd') goto yy452;
goto yy87;
yy354:
yych = *++cursor_;
- if (yych == 'l') goto yy454;
+ if (yych == 'e') goto yy453;
+ if (yych == 'o') goto yy454;
goto yy87;
yy355:
yych = *++cursor_;
if (yych == 'e') goto yy455;
- if (yych == 't') goto yy457;
+ if (yych == 'i') goto yy456;
goto yy87;
yy356:
yych = *++cursor_;
+ if (yych == 'q') goto yy457;
+ goto yy87;
+yy357:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy459;
+ goto yy87;
+yy358:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy460;
+ if (yych == 't') goto yy462;
+ goto yy87;
+yy359:
+ yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy459;
+ if (yych == 'e') goto yy464;
goto yy87;
} else {
- if (yych <= 'o') goto yy461;
- if (yych == 't') goto yy462;
+ if (yych <= 'o') goto yy466;
+ if (yych == 't') goto yy467;
goto yy87;
}
-yy357:
+yy360:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy464;
+ if (yych == 'a') goto yy469;
goto yy87;
} else {
- if (yych <= 'i') goto yy465;
- if (yych == 'u') goto yy466;
+ if (yych <= 'i') goto yy470;
+ if (yych == 'u') goto yy471;
goto yy87;
}
-yy358:
+yy361:
yych = *++cursor_;
- if (yych == 'e') goto yy467;
+ if (yych == 'e') goto yy472;
goto yy87;
-yy359:
+yy362:
yych = *++cursor_;
- if (yych == 'e') goto yy469;
+ if (yych == 'e') goto yy474;
goto yy87;
-yy360:
+yy363:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy470;
+ if (yych == 'q') goto yy475;
goto yy87;
} else {
- if (yych <= 't') goto yy471;
- if (yych <= 'u') goto yy472;
+ if (yych <= 't') goto yy476;
+ if (yych <= 'u') goto yy477;
goto yy87;
}
-yy361:
+yy364:
yych = *++cursor_;
- if (yych == 'r') goto yy473;
+ if (yych == 'r') goto yy478;
goto yy87;
-yy362:
+yy365:
yych = *++cursor_;
- if (yych == 'b') goto yy474;
- if (yych == 'd') goto yy475;
+ if (yych == 'b') goto yy479;
+ if (yych == 'd') goto yy480;
goto yy87;
-yy363:
+yy366:
yych = *++cursor_;
- if (yych == 'e') goto yy476;
- if (yych == 'o') goto yy477;
+ if (yych == 'e') goto yy481;
+ if (yych == 'o') goto yy482;
goto yy87;
-yy364:
+yy367:
yych = *++cursor_;
- if (yych == 'i') goto yy478;
+ if (yych == 'i') goto yy483;
goto yy87;
-yy365:
+yy368:
yych = *++cursor_;
- if (yych == 'q') goto yy479;
+ if (yych == 'q') goto yy484;
goto yy87;
-yy366:
+yy369:
yych = *++cursor_;
- if (yych == 'l') goto yy481;
+ if (yych == 'l') goto yy486;
goto yy87;
-yy367:
+yy370:
yych = *++cursor_;
- if (yych == 'e') goto yy482;
- if (yych == 't') goto yy484;
+ if (yych == 'e') goto yy487;
+ if (yych == 't') goto yy489;
goto yy87;
-yy368:
+yy371:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy486;
+ if (yych == 'e') goto yy491;
goto yy87;
} else {
- if (yych <= 'o') goto yy488;
- if (yych == 't') goto yy489;
+ if (yych <= 'o') goto yy493;
+ if (yych == 't') goto yy494;
goto yy87;
}
-yy369:
+yy372:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy491;
+ if (yych == 'a') goto yy496;
goto yy87;
} else {
- if (yych <= 'i') goto yy492;
- if (yych == 'u') goto yy493;
+ if (yych <= 'i') goto yy497;
+ if (yych == 'u') goto yy498;
goto yy87;
}
-yy370:
+yy373:
yych = *++cursor_;
- if (yych == 'e') goto yy494;
+ if (yych == 'e') goto yy499;
goto yy87;
-yy371:
+yy374:
yych = *++cursor_;
- if (yych == 'r') goto yy496;
+ if (yych == 'r') goto yy501;
goto yy87;
-yy372:
+yy375:
yych = *++cursor_;
- if (yych == 'e') goto yy497;
+ if (yych == 'e') goto yy502;
goto yy87;
-yy373:
+yy376:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy498;
+ if (yych == 'q') goto yy503;
goto yy87;
} else {
- if (yych <= 't') goto yy499;
- if (yych <= 'u') goto yy500;
+ if (yych <= 't') goto yy504;
+ if (yych <= 'u') goto yy505;
goto yy87;
}
-yy374:
- yych = *++cursor_;
- if (yych == 'r') goto yy501;
- goto yy87;
-yy375:
- yych = *++cursor_;
- if (yych == 'l') goto yy502;
- goto yy87;
-yy376:
- yych = *++cursor_;
- if (yych == 'o') goto yy503;
- goto yy87;
yy377:
yych = *++cursor_;
- if (yych == 'l') goto yy504;
+ if (yych == 'r') goto yy506;
goto yy87;
yy378:
yych = *++cursor_;
- if (yych == 'm') goto yy506;
+ if (yych == 'l') goto yy507;
goto yy87;
yy379:
yych = *++cursor_;
- if (yych == 'd') goto yy507;
- if (yych == 'n') goto yy508;
+ if (yych == 'o') goto yy508;
goto yy87;
yy380:
yych = *++cursor_;
- if (yych <= 'n') {
- if (yych == 'l') goto yy509;
- goto yy87;
- } else {
- if (yych <= 'o') goto yy510;
- if (yych == 't') goto yy511;
- goto yy87;
- }
+ if (yych == 'l') goto yy509;
+ goto yy87;
yy381:
yych = *++cursor_;
- if (yych == 'i') goto yy512;
+ if (yych == 'm') goto yy511;
goto yy87;
yy382:
yych = *++cursor_;
- if (yych == 'q') goto yy513;
+ if (yych == 'd') goto yy512;
+ if (yych == 'n') goto yy513;
goto yy87;
yy383:
yych = *++cursor_;
- if (yych == 'e') goto yy515;
- if (yych == 't') goto yy516;
- goto yy87;
-yy384:
- yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy517;
+ if (yych == 'l') goto yy514;
goto yy87;
} else {
- if (yych <= 'o') goto yy518;
- if (yych == 't') goto yy519;
+ if (yych <= 'o') goto yy515;
+ if (yych == 't') goto yy516;
goto yy87;
}
+yy384:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy517;
+ goto yy87;
yy385:
yych = *++cursor_;
- if (yych == 'u') goto yy520;
+ if (yych == 'q') goto yy518;
goto yy87;
yy386:
yych = *++cursor_;
- if (yych == 'e') goto yy521;
+ if (yych == 'e') goto yy520;
+ if (yych == 't') goto yy521;
goto yy87;
yy387:
yych = *++cursor_;
- if (yych == 'r') goto yy523;
- goto yy87;
+ if (yych <= 'n') {
+ if (yych == 'e') goto yy522;
+ goto yy87;
+ } else {
+ if (yych <= 'o') goto yy523;
+ if (yych == 't') goto yy524;
+ goto yy87;
+ }
yy388:
yych = *++cursor_;
- if (yych == 'o') goto yy525;
+ if (yych == 'u') goto yy525;
goto yy87;
yy389:
yych = *++cursor_;
if (yych == 'e') goto yy526;
- if (yych == 'o') goto yy527;
goto yy87;
yy390:
yych = *++cursor_;
- if (yych <= 's') {
- if (yych == 'h') goto yy528;
- goto yy87;
- } else {
- if (yych <= 't') goto yy529;
- if (yych <= 'u') goto yy530;
- goto yy87;
- }
+ if (yych == 'r') goto yy528;
+ goto yy87;
yy391:
yych = *++cursor_;
- if (yych == 'r') goto yy531;
+ if (yych == 'o') goto yy530;
goto yy87;
yy392:
yych = *++cursor_;
- if (yych == 'r') goto yy532;
+ if (yych == 'e') goto yy531;
+ if (yych == 'o') goto yy532;
goto yy87;
yy393:
yych = *++cursor_;
- if (yych == 'o') goto yy533;
- goto yy87;
+ if (yych <= 's') {
+ if (yych == 'h') goto yy533;
+ goto yy87;
+ } else {
+ if (yych <= 't') goto yy534;
+ if (yych <= 'u') goto yy535;
+ goto yy87;
+ }
yy394:
yych = *++cursor_;
- if (yych == 'd') goto yy534;
- if (yych == 'n') goto yy535;
+ if (yych == 'r') goto yy536;
goto yy87;
yy395:
yych = *++cursor_;
- if (yych <= 'n') {
- if (yych == 'l') goto yy536;
- goto yy87;
- } else {
- if (yych <= 'o') goto yy537;
- if (yych == 't') goto yy538;
- goto yy87;
- }
+ if (yych == 'r') goto yy537;
+ goto yy87;
yy396:
yych = *++cursor_;
- if (yych == 'i') goto yy539;
+ if (yych == 'o') goto yy538;
goto yy87;
yy397:
yych = *++cursor_;
- if (yych == 'q') goto yy540;
- if (yych == 'x') goto yy542;
+ if (yych == 'd') goto yy539;
+ if (yych == 'n') goto yy540;
goto yy87;
yy398:
yych = *++cursor_;
- if (yych == 'e') goto yy543;
- if (yych == 't') goto yy544;
- goto yy87;
-yy399:
- yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy545;
+ if (yych == 'l') goto yy541;
goto yy87;
} else {
- if (yych <= 'o') goto yy546;
- if (yych == 't') goto yy547;
+ if (yych <= 'o') goto yy542;
+ if (yych == 't') goto yy543;
goto yy87;
}
+yy399:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy544;
+ goto yy87;
yy400:
yych = *++cursor_;
- if (yych == 'u') goto yy548;
+ if (yych == 'q') goto yy545;
+ if (yych == 'x') goto yy547;
goto yy87;
yy401:
yych = *++cursor_;
- if (yych == 'e') goto yy549;
+ if (yych == 'e') goto yy548;
+ if (yych == 't') goto yy549;
goto yy87;
yy402:
yych = *++cursor_;
- if (yych == 'r') goto yy551;
- goto yy87;
+ if (yych <= 'n') {
+ if (yych == 'e') goto yy550;
+ goto yy87;
+ } else {
+ if (yych <= 'o') goto yy551;
+ if (yych == 't') goto yy552;
+ goto yy87;
+ }
yy403:
yych = *++cursor_;
- if (yych == 'o') goto yy553;
+ if (yych == 'u') goto yy553;
goto yy87;
yy404:
yych = *++cursor_;
if (yych == 'e') goto yy554;
- if (yych == 'o') goto yy555;
goto yy87;
yy405:
yych = *++cursor_;
- if (yych <= 's') {
- if (yych == 'h') goto yy556;
- goto yy87;
- } else {
- if (yych <= 't') goto yy557;
- if (yych <= 'u') goto yy558;
- goto yy87;
- }
+ if (yych == 'r') goto yy556;
+ goto yy87;
yy406:
yych = *++cursor_;
- if (yych == 'r') goto yy559;
+ if (yych == 'o') goto yy558;
goto yy87;
yy407:
yych = *++cursor_;
+ if (yych == 'e') goto yy559;
if (yych == 'o') goto yy560;
goto yy87;
yy408:
yych = *++cursor_;
- if (yych == 't') goto yy561;
- goto yy87;
+ if (yych <= 's') {
+ if (yych == 'h') goto yy561;
+ goto yy87;
+ } else {
+ if (yych <= 't') goto yy562;
+ if (yych <= 'u') goto yy563;
+ goto yy87;
+ }
yy409:
yych = *++cursor_;
- if (yych == 'e') goto yy563;
+ if (yych == 'r') goto yy564;
goto yy87;
yy410:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy565;
+ goto yy87;
+yy411:
+ yych = *++cursor_;
+ if (yych == 't') goto yy566;
+ goto yy87;
+yy412:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy568;
+ goto yy87;
+yy413:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 439 "src/wast-lexer.cc"
{ RETURN(LOCAL); }
-#line 2855 "src/prebuilt/wast-lexer-gen.cc"
-yy412:
+#line 2868 "src/prebuilt/wast-lexer-gen.cc"
+yy415:
yych = *++cursor_;
- if (yych == 'y') goto yy565;
+ if (yych == 'y') goto yy570;
goto yy87;
-yy413:
+yy416:
yych = *++cursor_;
- if (yych == 'e') goto yy567;
+ if (yych == 'e') goto yy572;
goto yy87;
-yy414:
+yy417:
yych = *++cursor_;
- if (yych == 'x') goto yy569;
+ if (yych == 'x') goto yy574;
goto yy87;
-yy415:
+yy418:
yych = *++cursor_;
- if (yych == 't') goto yy570;
+ if (yych == 't') goto yy575;
goto yy87;
-yy416:
+yy419:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 437 "src/wast-lexer.cc"
{ RETURN(PARAM); }
-#line 2879 "src/prebuilt/wast-lexer-gen.cc"
-yy418:
+#line 2892 "src/prebuilt/wast-lexer-gen.cc"
+yy421:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 443 "src/wast-lexer.cc"
{ RETURN(QUOTE); }
-#line 2887 "src/prebuilt/wast-lexer-gen.cc"
-yy420:
- yych = *++cursor_;
- if (yych == 't') goto yy572;
- goto yy87;
-yy421:
- yych = *++cursor_;
- if (yych == 't') goto yy573;
- goto yy87;
-yy422:
- yych = *++cursor_;
- if (yych == 'o') goto yy575;
- goto yy87;
+#line 2900 "src/prebuilt/wast-lexer-gen.cc"
yy423:
yych = *++cursor_;
- if (yych == 'n') goto yy576;
+ if (yych == 't') goto yy577;
goto yy87;
yy424:
yych = *++cursor_;
@@ -2906,176 +2907,196 @@ yy424:
goto yy87;
yy425:
yych = *++cursor_;
- if (yych == 'l') goto yy580;
+ if (yych == 'o') goto yy580;
goto yy87;
yy426:
yych = *++cursor_;
- if (yych == 'o') goto yy581;
+ if (yych == 'n') goto yy581;
goto yy87;
yy427:
+ yych = *++cursor_;
+ if (yych == 't') goto yy583;
+ goto yy87;
+yy428:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy585;
+ goto yy87;
+yy429:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy586;
+ goto yy87;
+yy430:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 446 "src/wast-lexer.cc"
{ RETURN(START); }
-#line 2923 "src/prebuilt/wast-lexer-gen.cc"
-yy429:
+#line 2936 "src/prebuilt/wast-lexer-gen.cc"
+yy432:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 444 "src/wast-lexer.cc"
{ RETURN(TABLE); }
-#line 2931 "src/prebuilt/wast-lexer-gen.cc"
-yy431:
+#line 2944 "src/prebuilt/wast-lexer-gen.cc"
+yy434:
yych = *++cursor_;
- if (yych == 'o') goto yy582;
+ if (yych == 'o') goto yy587;
goto yy87;
-yy432:
+yy435:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 468 "src/wast-lexer.cc"
+#line 469 "src/wast-lexer.cc"
{ RETURN(THROW); }
-#line 2943 "src/prebuilt/wast-lexer-gen.cc"
-yy434:
+#line 2956 "src/prebuilt/wast-lexer-gen.cc"
+yy437:
yych = *++cursor_;
- if (yych == 'c') goto yy583;
+ if (yych == 'c') goto yy588;
goto yy87;
-yy435:
+yy438:
yych = *++cursor_;
if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy584;
- if (yych <= '9') goto yy586;
+ if (yych <= '0') goto yy589;
+ if (yych <= '9') goto yy591;
goto yy87;
-yy436:
+yy439:
yych = *++cursor_;
- if (yych == 'c') goto yy588;
+ if (yych == 'c') goto yy593;
goto yy87;
-yy437:
+yy440:
yych = *++cursor_;
- if (yych == '_') goto yy590;
+ if (yych == '_') goto yy595;
goto yy87;
-yy438:
+yy441:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 442 "src/wast-lexer.cc"
{ RETURN(BIN); }
-#line 2969 "src/prebuilt/wast-lexer-gen.cc"
-yy440:
+#line 2982 "src/prebuilt/wast-lexer-gen.cc"
+yy443:
yych = *++cursor_;
- if (yych == 'l') goto yy591;
+ if (yych == 'l') goto yy596;
goto yy87;
-yy441:
+yy444:
yych = *++cursor_;
- if (yych == 'n') goto yy592;
+ if (yych == 'n') goto yy597;
goto yy87;
-yy442:
+yy445:
yych = *++cursor_;
- if (yych == 'a') goto yy593;
+ if (yych == 'a') goto yy598;
goto yy87;
-yy443:
+yy446:
yych = *++cursor_;
- if (yych == 't') goto yy594;
+ if (yych == 't') goto yy599;
goto yy87;
-yy444:
+yy447:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 452 "src/wast-lexer.cc"
+ { RETURN(EXCEPT); }
+#line 3006 "src/prebuilt/wast-lexer-gen.cc"
+yy449:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 451 "src/wast-lexer.cc"
{ RETURN(EXPORT); }
-#line 2993 "src/prebuilt/wast-lexer-gen.cc"
-yy446:
+#line 3014 "src/prebuilt/wast-lexer-gen.cc"
+yy451:
yych = *++cursor_;
- if (yych == 's') goto yy595;
+ if (yych == 's') goto yy600;
goto yy87;
-yy447:
+yy452:
yych = *++cursor_;
- if (yych == 'd') goto yy597;
+ if (yych == 'd') goto yy602;
goto yy87;
-yy448:
+yy453:
yych = *++cursor_;
- if (yych == 'i') goto yy599;
+ if (yych == 'i') goto yy604;
goto yy87;
-yy449:
+yy454:
yych = *++cursor_;
- if (yych == 'n') goto yy600;
- if (yych == 'p') goto yy601;
+ if (yych == 'n') goto yy605;
+ if (yych == 'p') goto yy606;
goto yy87;
-yy450:
+yy455:
yych = *++cursor_;
- if (yych == 'm') goto yy602;
+ if (yych == 'm') goto yy607;
goto yy87;
-yy451:
+yy456:
yych = *++cursor_;
- if (yych == 'v') goto yy603;
+ if (yych == 'v') goto yy608;
goto yy87;
-yy452:
+yy457:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 394 "src/wast-lexer.cc"
{ OPCODE(F32Eq); RETURN(COMPARE); }
-#line 3026 "src/prebuilt/wast-lexer-gen.cc"
-yy454:
+#line 3047 "src/prebuilt/wast-lexer-gen.cc"
+yy459:
yych = *++cursor_;
- if (yych == 'o') goto yy605;
+ if (yych == 'o') goto yy610;
goto yy87;
-yy455:
+yy460:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 404 "src/wast-lexer.cc"
{ OPCODE(F32Ge); RETURN(COMPARE); }
-#line 3038 "src/prebuilt/wast-lexer-gen.cc"
-yy457:
+#line 3059 "src/prebuilt/wast-lexer-gen.cc"
+yy462:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 402 "src/wast-lexer.cc"
{ OPCODE(F32Gt); RETURN(COMPARE); }
-#line 3046 "src/prebuilt/wast-lexer-gen.cc"
-yy459:
+#line 3067 "src/prebuilt/wast-lexer-gen.cc"
+yy464:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 400 "src/wast-lexer.cc"
{ OPCODE(F32Le); RETURN(COMPARE); }
-#line 3054 "src/prebuilt/wast-lexer-gen.cc"
-yy461:
+#line 3075 "src/prebuilt/wast-lexer-gen.cc"
+yy466:
yych = *++cursor_;
- if (yych == 'a') goto yy606;
+ if (yych == 'a') goto yy611;
goto yy87;
-yy462:
+yy467:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 398 "src/wast-lexer.cc"
{ OPCODE(F32Lt); RETURN(COMPARE); }
-#line 3066 "src/prebuilt/wast-lexer-gen.cc"
-yy464:
+#line 3087 "src/prebuilt/wast-lexer-gen.cc"
+yy469:
yych = *++cursor_;
- if (yych == 'x') goto yy607;
+ if (yych == 'x') goto yy612;
goto yy87;
-yy465:
+yy470:
yych = *++cursor_;
- if (yych == 'n') goto yy609;
+ if (yych == 'n') goto yy614;
goto yy87;
-yy466:
+yy471:
yych = *++cursor_;
- if (yych == 'l') goto yy611;
+ if (yych == 'l') goto yy616;
goto yy87;
-yy467:
+yy472:
++cursor_;
if ((yych = *cursor_) <= ':') {
if (yych <= '"') {
@@ -3086,120 +3107,120 @@ yy467:
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy468;
+ if (yych <= ';') goto yy473;
if (yych <= '`') goto yy86;
- goto yy613;
+ goto yy618;
} else {
- if (yych == 'g') goto yy614;
+ if (yych == 'g') goto yy619;
if (yych <= '~') goto yy86;
}
}
-yy468:
+yy473:
#line 396 "src/wast-lexer.cc"
{ OPCODE(F32Ne); RETURN(COMPARE); }
-#line 3101 "src/prebuilt/wast-lexer-gen.cc"
-yy469:
+#line 3122 "src/prebuilt/wast-lexer-gen.cc"
+yy474:
yych = *++cursor_;
- if (yych == 'i') goto yy616;
+ if (yych == 'i') goto yy621;
goto yy87;
-yy470:
+yy475:
yych = *++cursor_;
- if (yych == 'r') goto yy617;
+ if (yych == 'r') goto yy622;
goto yy87;
-yy471:
+yy476:
yych = *++cursor_;
- if (yych == 'o') goto yy618;
+ if (yych == 'o') goto yy623;
goto yy87;
-yy472:
+yy477:
yych = *++cursor_;
- if (yych == 'b') goto yy619;
+ if (yych == 'b') goto yy624;
goto yy87;
-yy473:
+yy478:
yych = *++cursor_;
- if (yych == 'u') goto yy621;
+ if (yych == 'u') goto yy626;
goto yy87;
-yy474:
+yy479:
yych = *++cursor_;
- if (yych == 's') goto yy622;
+ if (yych == 's') goto yy627;
goto yy87;
-yy475:
+yy480:
yych = *++cursor_;
- if (yych == 'd') goto yy624;
+ if (yych == 'd') goto yy629;
goto yy87;
-yy476:
+yy481:
yych = *++cursor_;
- if (yych == 'i') goto yy626;
+ if (yych == 'i') goto yy631;
goto yy87;
-yy477:
+yy482:
yych = *++cursor_;
- if (yych == 'n') goto yy627;
- if (yych == 'p') goto yy628;
+ if (yych == 'n') goto yy632;
+ if (yych == 'p') goto yy633;
goto yy87;
-yy478:
+yy483:
yych = *++cursor_;
- if (yych == 'v') goto yy629;
+ if (yych == 'v') goto yy634;
goto yy87;
-yy479:
+yy484:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 395 "src/wast-lexer.cc"
{ OPCODE(F64Eq); RETURN(COMPARE); }
-#line 3150 "src/prebuilt/wast-lexer-gen.cc"
-yy481:
+#line 3171 "src/prebuilt/wast-lexer-gen.cc"
+yy486:
yych = *++cursor_;
- if (yych == 'o') goto yy631;
+ if (yych == 'o') goto yy636;
goto yy87;
-yy482:
+yy487:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 405 "src/wast-lexer.cc"
{ OPCODE(F64Ge); RETURN(COMPARE); }
-#line 3162 "src/prebuilt/wast-lexer-gen.cc"
-yy484:
+#line 3183 "src/prebuilt/wast-lexer-gen.cc"
+yy489:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 403 "src/wast-lexer.cc"
{ OPCODE(F64Gt); RETURN(COMPARE); }
-#line 3170 "src/prebuilt/wast-lexer-gen.cc"
-yy486:
+#line 3191 "src/prebuilt/wast-lexer-gen.cc"
+yy491:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 401 "src/wast-lexer.cc"
{ OPCODE(F64Le); RETURN(COMPARE); }
-#line 3178 "src/prebuilt/wast-lexer-gen.cc"
-yy488:
+#line 3199 "src/prebuilt/wast-lexer-gen.cc"
+yy493:
yych = *++cursor_;
- if (yych == 'a') goto yy632;
+ if (yych == 'a') goto yy637;
goto yy87;
-yy489:
+yy494:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 399 "src/wast-lexer.cc"
{ OPCODE(F64Lt); RETURN(COMPARE); }
-#line 3190 "src/prebuilt/wast-lexer-gen.cc"
-yy491:
+#line 3211 "src/prebuilt/wast-lexer-gen.cc"
+yy496:
yych = *++cursor_;
- if (yych == 'x') goto yy633;
+ if (yych == 'x') goto yy638;
goto yy87;
-yy492:
+yy497:
yych = *++cursor_;
- if (yych == 'n') goto yy635;
+ if (yych == 'n') goto yy640;
goto yy87;
-yy493:
+yy498:
yych = *++cursor_;
- if (yych == 'l') goto yy637;
+ if (yych == 'l') goto yy642;
goto yy87;
-yy494:
+yy499:
++cursor_;
if ((yych = *cursor_) <= ':') {
if (yych <= '"') {
@@ -3210,422 +3231,422 @@ yy494:
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy495;
+ if (yych <= ';') goto yy500;
if (yych <= '`') goto yy86;
- goto yy639;
+ goto yy644;
} else {
- if (yych == 'g') goto yy640;
+ if (yych == 'g') goto yy645;
if (yych <= '~') goto yy86;
}
}
-yy495:
+yy500:
#line 397 "src/wast-lexer.cc"
{ OPCODE(F64Ne); RETURN(COMPARE); }
-#line 3225 "src/prebuilt/wast-lexer-gen.cc"
-yy496:
+#line 3246 "src/prebuilt/wast-lexer-gen.cc"
+yy501:
yych = *++cursor_;
- if (yych == 'o') goto yy642;
+ if (yych == 'o') goto yy647;
goto yy87;
-yy497:
+yy502:
yych = *++cursor_;
- if (yych == 'i') goto yy643;
+ if (yych == 'i') goto yy648;
goto yy87;
-yy498:
+yy503:
yych = *++cursor_;
- if (yych == 'r') goto yy644;
+ if (yych == 'r') goto yy649;
goto yy87;
-yy499:
+yy504:
yych = *++cursor_;
- if (yych == 'o') goto yy645;
+ if (yych == 'o') goto yy650;
goto yy87;
-yy500:
+yy505:
yych = *++cursor_;
- if (yych == 'b') goto yy646;
+ if (yych == 'b') goto yy651;
goto yy87;
-yy501:
+yy506:
yych = *++cursor_;
- if (yych == 'u') goto yy648;
+ if (yych == 'u') goto yy653;
goto yy87;
-yy502:
+yy507:
yych = *++cursor_;
- if (yych == 'o') goto yy649;
+ if (yych == 'o') goto yy654;
goto yy87;
-yy503:
+yy508:
yych = *++cursor_;
- if (yych == 'c') goto yy650;
+ if (yych == 'c') goto yy655;
goto yy87;
-yy504:
+yy509:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 440 "src/wast-lexer.cc"
{ RETURN(GLOBAL); }
-#line 3265 "src/prebuilt/wast-lexer-gen.cc"
-yy506:
+#line 3286 "src/prebuilt/wast-lexer-gen.cc"
+yy511:
yych = *++cursor_;
- if (yych == 'e') goto yy651;
+ if (yych == 'e') goto yy656;
goto yy87;
-yy507:
+yy512:
yych = *++cursor_;
- if (yych == 'd') goto yy652;
+ if (yych == 'd') goto yy657;
goto yy87;
-yy508:
+yy513:
yych = *++cursor_;
- if (yych == 'd') goto yy654;
+ if (yych == 'd') goto yy659;
goto yy87;
-yy509:
+yy514:
yych = *++cursor_;
- if (yych == 'z') goto yy656;
+ if (yych == 'z') goto yy661;
goto yy87;
-yy510:
+yy515:
yych = *++cursor_;
- if (yych == 'n') goto yy658;
+ if (yych == 'n') goto yy663;
goto yy87;
-yy511:
+yy516:
yych = *++cursor_;
- if (yych == 'z') goto yy659;
+ if (yych == 'z') goto yy664;
goto yy87;
-yy512:
+yy517:
yych = *++cursor_;
- if (yych == 'v') goto yy661;
+ if (yych == 'v') goto yy666;
goto yy87;
-yy513:
+yy518:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy514;
+ if (yych <= '"') goto yy519;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'y') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'z') goto yy662;
+ if (yych <= 'z') goto yy667;
if (yych <= '~') goto yy86;
}
}
-yy514:
+yy519:
#line 374 "src/wast-lexer.cc"
{ OPCODE(I32Eq); RETURN(COMPARE); }
-#line 3314 "src/prebuilt/wast-lexer-gen.cc"
-yy515:
+#line 3335 "src/prebuilt/wast-lexer-gen.cc"
+yy520:
yych = *++cursor_;
- if (yych == '_') goto yy664;
+ if (yych == '_') goto yy669;
goto yy87;
-yy516:
+yy521:
yych = *++cursor_;
- if (yych == '_') goto yy665;
+ if (yych == '_') goto yy670;
goto yy87;
-yy517:
+yy522:
yych = *++cursor_;
- if (yych == '_') goto yy666;
+ if (yych == '_') goto yy671;
goto yy87;
-yy518:
+yy523:
yych = *++cursor_;
- if (yych == 'a') goto yy667;
+ if (yych == 'a') goto yy672;
goto yy87;
-yy519:
+yy524:
yych = *++cursor_;
- if (yych == '_') goto yy668;
+ if (yych == '_') goto yy673;
goto yy87;
-yy520:
+yy525:
yych = *++cursor_;
- if (yych == 'l') goto yy669;
+ if (yych == 'l') goto yy674;
goto yy87;
-yy521:
+yy526:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 376 "src/wast-lexer.cc"
{ OPCODE(I32Ne); RETURN(COMPARE); }
-#line 3346 "src/prebuilt/wast-lexer-gen.cc"
-yy523:
+#line 3367 "src/prebuilt/wast-lexer-gen.cc"
+yy528:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 346 "src/wast-lexer.cc"
{ OPCODE(I32Or); RETURN(BINARY); }
-#line 3354 "src/prebuilt/wast-lexer-gen.cc"
-yy525:
- yych = *++cursor_;
- if (yych == 'p') goto yy671;
- goto yy87;
-yy526:
- yych = *++cursor_;
- if (yych == 'i') goto yy672;
- if (yych == 'm') goto yy673;
- goto yy87;
-yy527:
- yych = *++cursor_;
- if (yych == 't') goto yy674;
- goto yy87;
-yy528:
- yych = *++cursor_;
- if (yych == 'l') goto yy675;
- if (yych == 'r') goto yy677;
- goto yy87;
-yy529:
- yych = *++cursor_;
- if (yych == 'o') goto yy678;
- goto yy87;
+#line 3375 "src/prebuilt/wast-lexer-gen.cc"
yy530:
yych = *++cursor_;
- if (yych == 'b') goto yy679;
+ if (yych == 'p') goto yy676;
goto yy87;
yy531:
yych = *++cursor_;
- if (yych == 'u') goto yy681;
+ if (yych == 'i') goto yy677;
+ if (yych == 'm') goto yy678;
goto yy87;
yy532:
yych = *++cursor_;
- if (yych == 'a') goto yy682;
+ if (yych == 't') goto yy679;
goto yy87;
yy533:
yych = *++cursor_;
- if (yych == 'r') goto yy683;
+ if (yych == 'l') goto yy680;
+ if (yych == 'r') goto yy682;
goto yy87;
yy534:
yych = *++cursor_;
- if (yych == 'd') goto yy685;
+ if (yych == 'o') goto yy683;
goto yy87;
yy535:
yych = *++cursor_;
- if (yych == 'd') goto yy687;
+ if (yych == 'b') goto yy684;
goto yy87;
yy536:
yych = *++cursor_;
- if (yych == 'z') goto yy689;
+ if (yych == 'u') goto yy686;
goto yy87;
yy537:
yych = *++cursor_;
- if (yych == 'n') goto yy691;
+ if (yych == 'a') goto yy687;
goto yy87;
yy538:
yych = *++cursor_;
- if (yych == 'z') goto yy692;
+ if (yych == 'r') goto yy688;
goto yy87;
yy539:
yych = *++cursor_;
- if (yych == 'v') goto yy694;
+ if (yych == 'd') goto yy690;
goto yy87;
yy540:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy692;
+ goto yy87;
+yy541:
+ yych = *++cursor_;
+ if (yych == 'z') goto yy694;
+ goto yy87;
+yy542:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy696;
+ goto yy87;
+yy543:
+ yych = *++cursor_;
+ if (yych == 'z') goto yy697;
+ goto yy87;
+yy544:
+ yych = *++cursor_;
+ if (yych == 'v') goto yy699;
+ goto yy87;
+yy545:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy541;
+ if (yych <= '"') goto yy546;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'y') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'z') goto yy695;
+ if (yych <= 'z') goto yy700;
if (yych <= '~') goto yy86;
}
}
-yy541:
+yy546:
#line 375 "src/wast-lexer.cc"
{ OPCODE(I64Eq); RETURN(COMPARE); }
-#line 3437 "src/prebuilt/wast-lexer-gen.cc"
-yy542:
+#line 3458 "src/prebuilt/wast-lexer-gen.cc"
+yy547:
yych = *++cursor_;
- if (yych == 't') goto yy697;
+ if (yych == 't') goto yy702;
goto yy87;
-yy543:
+yy548:
yych = *++cursor_;
- if (yych == '_') goto yy698;
+ if (yych == '_') goto yy703;
goto yy87;
-yy544:
+yy549:
yych = *++cursor_;
- if (yych == '_') goto yy699;
+ if (yych == '_') goto yy704;
goto yy87;
-yy545:
+yy550:
yych = *++cursor_;
- if (yych == '_') goto yy700;
+ if (yych == '_') goto yy705;
goto yy87;
-yy546:
+yy551:
yych = *++cursor_;
- if (yych == 'a') goto yy701;
+ if (yych == 'a') goto yy706;
goto yy87;
-yy547:
+yy552:
yych = *++cursor_;
- if (yych == '_') goto yy702;
+ if (yych == '_') goto yy707;
goto yy87;
-yy548:
+yy553:
yych = *++cursor_;
- if (yych == 'l') goto yy703;
+ if (yych == 'l') goto yy708;
goto yy87;
-yy549:
+yy554:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 377 "src/wast-lexer.cc"
{ OPCODE(I64Ne); RETURN(COMPARE); }
-#line 3473 "src/prebuilt/wast-lexer-gen.cc"
-yy551:
+#line 3494 "src/prebuilt/wast-lexer-gen.cc"
+yy556:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 347 "src/wast-lexer.cc"
{ OPCODE(I64Or); RETURN(BINARY); }
-#line 3481 "src/prebuilt/wast-lexer-gen.cc"
-yy553:
+#line 3502 "src/prebuilt/wast-lexer-gen.cc"
+yy558:
yych = *++cursor_;
- if (yych == 'p') goto yy705;
+ if (yych == 'p') goto yy710;
goto yy87;
-yy554:
+yy559:
yych = *++cursor_;
- if (yych == 'i') goto yy706;
- if (yych == 'm') goto yy707;
+ if (yych == 'i') goto yy711;
+ if (yych == 'm') goto yy712;
goto yy87;
-yy555:
+yy560:
yych = *++cursor_;
- if (yych == 't') goto yy708;
+ if (yych == 't') goto yy713;
goto yy87;
-yy556:
+yy561:
yych = *++cursor_;
- if (yych == 'l') goto yy709;
- if (yych == 'r') goto yy711;
+ if (yych == 'l') goto yy714;
+ if (yych == 'r') goto yy716;
goto yy87;
-yy557:
+yy562:
yych = *++cursor_;
- if (yych == 'o') goto yy712;
+ if (yych == 'o') goto yy717;
goto yy87;
-yy558:
+yy563:
yych = *++cursor_;
- if (yych == 'b') goto yy713;
+ if (yych == 'b') goto yy718;
goto yy87;
-yy559:
+yy564:
yych = *++cursor_;
- if (yych == 'u') goto yy715;
+ if (yych == 'u') goto yy720;
goto yy87;
-yy560:
+yy565:
yych = *++cursor_;
- if (yych == 'r') goto yy716;
+ if (yych == 'r') goto yy721;
goto yy87;
-yy561:
+yy566:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 450 "src/wast-lexer.cc"
{ RETURN(IMPORT); }
-#line 3523 "src/prebuilt/wast-lexer-gen.cc"
-yy563:
+#line 3544 "src/prebuilt/wast-lexer-gen.cc"
+yy568:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 453 "src/wast-lexer.cc"
+#line 454 "src/wast-lexer.cc"
{ RETURN(INVOKE); }
-#line 3531 "src/prebuilt/wast-lexer-gen.cc"
-yy565:
+#line 3552 "src/prebuilt/wast-lexer-gen.cc"
+yy570:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 445 "src/wast-lexer.cc"
{ RETURN(MEMORY); }
-#line 3539 "src/prebuilt/wast-lexer-gen.cc"
-yy567:
+#line 3560 "src/prebuilt/wast-lexer-gen.cc"
+yy572:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 441 "src/wast-lexer.cc"
{ RETURN(MODULE); }
-#line 3547 "src/prebuilt/wast-lexer-gen.cc"
-yy569:
+#line 3568 "src/prebuilt/wast-lexer-gen.cc"
+yy574:
yych = *++cursor_;
if (yych <= '@') {
if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy718;
+ if (yych <= '9') goto yy723;
goto yy87;
} else {
- if (yych <= 'F') goto yy718;
+ if (yych <= 'F') goto yy723;
if (yych <= '`') goto yy87;
- if (yych <= 'f') goto yy718;
+ if (yych <= 'f') goto yy723;
goto yy87;
}
-yy570:
+yy575:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy571;
+ if (yych <= '"') goto yy576;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '<') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '=') goto yy720;
+ if (yych <= '=') goto yy725;
if (yych <= '~') goto yy86;
}
}
-yy571:
+yy576:
#line 449 "src/wast-lexer.cc"
{ RETURN(OFFSET); }
-#line 3580 "src/prebuilt/wast-lexer-gen.cc"
-yy572:
+#line 3601 "src/prebuilt/wast-lexer-gen.cc"
+yy577:
yych = *++cursor_;
- if (yych == 'e') goto yy721;
+ if (yych == 'e') goto yy726;
goto yy87;
-yy573:
+yy578:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 438 "src/wast-lexer.cc"
{ RETURN(RESULT); }
-#line 3592 "src/prebuilt/wast-lexer-gen.cc"
-yy575:
+#line 3613 "src/prebuilt/wast-lexer-gen.cc"
+yy580:
yych = *++cursor_;
- if (yych == 'w') goto yy722;
+ if (yych == 'w') goto yy727;
goto yy87;
-yy576:
+yy581:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 273 "src/wast-lexer.cc"
{ RETURN(RETURN); }
-#line 3604 "src/prebuilt/wast-lexer-gen.cc"
-yy578:
+#line 3625 "src/prebuilt/wast-lexer-gen.cc"
+yy583:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 431 "src/wast-lexer.cc"
{ RETURN(SELECT); }
-#line 3612 "src/prebuilt/wast-lexer-gen.cc"
-yy580:
+#line 3633 "src/prebuilt/wast-lexer-gen.cc"
+yy585:
yych = *++cursor_;
- if (yych == 'o') goto yy724;
+ if (yych == 'o') goto yy729;
goto yy87;
-yy581:
+yy586:
yych = *++cursor_;
- if (yych == 'c') goto yy725;
+ if (yych == 'c') goto yy730;
goto yy87;
-yy582:
+yy587:
yych = *++cursor_;
- if (yych == 'c') goto yy726;
+ if (yych == 'c') goto yy731;
goto yy87;
-yy583:
+yy588:
yych = *++cursor_;
- if (yych == 'h') goto yy727;
+ if (yych == 'h') goto yy732;
goto yy87;
-yy584:
+yy589:
++cursor_;
if ((yych = *cursor_) <= '/') {
if (yych <= '"') {
@@ -3636,886 +3657,886 @@ yy584:
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy586;
+ if (yych <= '9') goto yy591;
if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy728;
+ if (yych == 'x') goto yy733;
if (yych <= '~') goto yy86;
}
}
-yy585:
+yy590:
#line 303 "src/wast-lexer.cc"
{ TEXT_AT(6); RETURN(ALIGN_EQ_NAT); }
-#line 3650 "src/prebuilt/wast-lexer-gen.cc"
-yy586:
+#line 3671 "src/prebuilt/wast-lexer-gen.cc"
+yy591:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy585;
+ if (yych <= ' ') goto yy590;
goto yy86;
} else {
- if (yych <= '"') goto yy585;
+ if (yych <= '"') goto yy590;
if (yych <= '\'') goto yy86;
- goto yy585;
+ goto yy590;
}
} else {
if (yych <= ':') {
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy586;
+ if (yych <= '9') goto yy591;
goto yy86;
} else {
- if (yych <= ';') goto yy585;
+ if (yych <= ';') goto yy590;
if (yych <= '~') goto yy86;
- goto yy585;
+ goto yy590;
}
}
-yy588:
+yy593:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 258 "src/wast-lexer.cc"
{ RETURN(ANYFUNC); }
-#line 3682 "src/prebuilt/wast-lexer-gen.cc"
-yy590:
+#line 3703 "src/prebuilt/wast-lexer-gen.cc"
+yy595:
yych = *++cursor_;
switch (yych) {
- case 'e': goto yy729;
- case 'i': goto yy730;
- case 'm': goto yy731;
- case 'r': goto yy732;
- case 't': goto yy733;
- case 'u': goto yy734;
+ case 'e': goto yy734;
+ case 'i': goto yy735;
+ case 'm': goto yy736;
+ case 'r': goto yy737;
+ case 't': goto yy738;
+ case 'u': goto yy739;
default: goto yy87;
}
-yy591:
+yy596:
yych = *++cursor_;
- if (yych == 'e') goto yy735;
+ if (yych == 'e') goto yy740;
goto yy87;
-yy592:
+yy597:
yych = *++cursor_;
- if (yych == 'd') goto yy737;
+ if (yych == 'd') goto yy742;
goto yy87;
-yy593:
+yy598:
yych = *++cursor_;
- if (yych == 'l') goto yy738;
+ if (yych == 'l') goto yy743;
goto yy87;
-yy594:
+yy599:
yych = *++cursor_;
- if (yych == '_') goto yy739;
+ if (yych == '_') goto yy744;
goto yy87;
-yy595:
+yy600:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 318 "src/wast-lexer.cc"
{ OPCODE(F32Abs); RETURN(UNARY); }
-#line 3717 "src/prebuilt/wast-lexer-gen.cc"
-yy597:
+#line 3738 "src/prebuilt/wast-lexer-gen.cc"
+yy602:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 360 "src/wast-lexer.cc"
{ OPCODE(F32Add); RETURN(BINARY); }
-#line 3725 "src/prebuilt/wast-lexer-gen.cc"
-yy599:
+#line 3746 "src/prebuilt/wast-lexer-gen.cc"
+yy604:
yych = *++cursor_;
- if (yych == 'l') goto yy740;
+ if (yych == 'l') goto yy745;
goto yy87;
-yy600:
+yy605:
yych = *++cursor_;
- if (yych == 's') goto yy742;
- if (yych == 'v') goto yy743;
+ if (yych == 's') goto yy747;
+ if (yych == 'v') goto yy748;
goto yy87;
-yy601:
+yy606:
yych = *++cursor_;
- if (yych == 'y') goto yy744;
+ if (yych == 'y') goto yy749;
goto yy87;
-yy602:
+yy607:
yych = *++cursor_;
- if (yych == 'o') goto yy745;
+ if (yych == 'o') goto yy750;
goto yy87;
-yy603:
+yy608:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 366 "src/wast-lexer.cc"
{ OPCODE(F32Div); RETURN(BINARY); }
-#line 3750 "src/prebuilt/wast-lexer-gen.cc"
-yy605:
+#line 3771 "src/prebuilt/wast-lexer-gen.cc"
+yy610:
yych = *++cursor_;
- if (yych == 'o') goto yy746;
+ if (yych == 'o') goto yy751;
goto yy87;
-yy606:
+yy611:
yych = *++cursor_;
- if (yych == 'd') goto yy747;
+ if (yych == 'd') goto yy752;
goto yy87;
-yy607:
+yy612:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 370 "src/wast-lexer.cc"
{ OPCODE(F32Max); RETURN(BINARY); }
-#line 3766 "src/prebuilt/wast-lexer-gen.cc"
-yy609:
+#line 3787 "src/prebuilt/wast-lexer-gen.cc"
+yy614:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 368 "src/wast-lexer.cc"
{ OPCODE(F32Min); RETURN(BINARY); }
-#line 3774 "src/prebuilt/wast-lexer-gen.cc"
-yy611:
+#line 3795 "src/prebuilt/wast-lexer-gen.cc"
+yy616:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 364 "src/wast-lexer.cc"
{ OPCODE(F32Mul); RETURN(BINARY); }
-#line 3782 "src/prebuilt/wast-lexer-gen.cc"
-yy613:
+#line 3803 "src/prebuilt/wast-lexer-gen.cc"
+yy618:
yych = *++cursor_;
- if (yych == 'r') goto yy749;
+ if (yych == 'r') goto yy754;
goto yy87;
-yy614:
+yy619:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 316 "src/wast-lexer.cc"
{ OPCODE(F32Neg); RETURN(UNARY); }
-#line 3794 "src/prebuilt/wast-lexer-gen.cc"
-yy616:
+#line 3815 "src/prebuilt/wast-lexer-gen.cc"
+yy621:
yych = *++cursor_;
- if (yych == 'n') goto yy750;
+ if (yych == 'n') goto yy755;
goto yy87;
-yy617:
+yy622:
yych = *++cursor_;
- if (yych == 't') goto yy751;
+ if (yych == 't') goto yy756;
goto yy87;
-yy618:
+yy623:
yych = *++cursor_;
- if (yych == 'r') goto yy753;
+ if (yych == 'r') goto yy758;
goto yy87;
-yy619:
+yy624:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 362 "src/wast-lexer.cc"
{ OPCODE(F32Sub); RETURN(BINARY); }
-#line 3814 "src/prebuilt/wast-lexer-gen.cc"
-yy621:
+#line 3835 "src/prebuilt/wast-lexer-gen.cc"
+yy626:
yych = *++cursor_;
- if (yych == 'n') goto yy754;
+ if (yych == 'n') goto yy759;
goto yy87;
-yy622:
+yy627:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 319 "src/wast-lexer.cc"
{ OPCODE(F64Abs); RETURN(UNARY); }
-#line 3826 "src/prebuilt/wast-lexer-gen.cc"
-yy624:
+#line 3847 "src/prebuilt/wast-lexer-gen.cc"
+yy629:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 361 "src/wast-lexer.cc"
{ OPCODE(F64Add); RETURN(BINARY); }
-#line 3834 "src/prebuilt/wast-lexer-gen.cc"
-yy626:
+#line 3855 "src/prebuilt/wast-lexer-gen.cc"
+yy631:
yych = *++cursor_;
- if (yych == 'l') goto yy755;
+ if (yych == 'l') goto yy760;
goto yy87;
-yy627:
+yy632:
yych = *++cursor_;
- if (yych == 's') goto yy757;
- if (yych == 'v') goto yy758;
+ if (yych == 's') goto yy762;
+ if (yych == 'v') goto yy763;
goto yy87;
-yy628:
+yy633:
yych = *++cursor_;
- if (yych == 'y') goto yy759;
+ if (yych == 'y') goto yy764;
goto yy87;
-yy629:
+yy634:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 367 "src/wast-lexer.cc"
{ OPCODE(F64Div); RETURN(BINARY); }
-#line 3855 "src/prebuilt/wast-lexer-gen.cc"
-yy631:
+#line 3876 "src/prebuilt/wast-lexer-gen.cc"
+yy636:
yych = *++cursor_;
- if (yych == 'o') goto yy760;
+ if (yych == 'o') goto yy765;
goto yy87;
-yy632:
+yy637:
yych = *++cursor_;
- if (yych == 'd') goto yy761;
+ if (yych == 'd') goto yy766;
goto yy87;
-yy633:
+yy638:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 371 "src/wast-lexer.cc"
{ OPCODE(F64Max); RETURN(BINARY); }
-#line 3871 "src/prebuilt/wast-lexer-gen.cc"
-yy635:
+#line 3892 "src/prebuilt/wast-lexer-gen.cc"
+yy640:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 369 "src/wast-lexer.cc"
{ OPCODE(F64Min); RETURN(BINARY); }
-#line 3879 "src/prebuilt/wast-lexer-gen.cc"
-yy637:
+#line 3900 "src/prebuilt/wast-lexer-gen.cc"
+yy642:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 365 "src/wast-lexer.cc"
{ OPCODE(F64Mul); RETURN(BINARY); }
-#line 3887 "src/prebuilt/wast-lexer-gen.cc"
-yy639:
+#line 3908 "src/prebuilt/wast-lexer-gen.cc"
+yy644:
yych = *++cursor_;
- if (yych == 'r') goto yy763;
+ if (yych == 'r') goto yy768;
goto yy87;
-yy640:
+yy645:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 317 "src/wast-lexer.cc"
{ OPCODE(F64Neg); RETURN(UNARY); }
-#line 3899 "src/prebuilt/wast-lexer-gen.cc"
-yy642:
+#line 3920 "src/prebuilt/wast-lexer-gen.cc"
+yy647:
yych = *++cursor_;
- if (yych == 'm') goto yy764;
+ if (yych == 'm') goto yy769;
goto yy87;
-yy643:
+yy648:
yych = *++cursor_;
- if (yych == 'n') goto yy765;
+ if (yych == 'n') goto yy770;
goto yy87;
-yy644:
+yy649:
yych = *++cursor_;
- if (yych == 't') goto yy766;
+ if (yych == 't') goto yy771;
goto yy87;
-yy645:
+yy650:
yych = *++cursor_;
- if (yych == 'r') goto yy768;
+ if (yych == 'r') goto yy773;
goto yy87;
-yy646:
+yy651:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 363 "src/wast-lexer.cc"
{ OPCODE(F64Sub); RETURN(BINARY); }
-#line 3923 "src/prebuilt/wast-lexer-gen.cc"
-yy648:
+#line 3944 "src/prebuilt/wast-lexer-gen.cc"
+yy653:
yych = *++cursor_;
- if (yych == 'n') goto yy769;
+ if (yych == 'n') goto yy774;
goto yy87;
-yy649:
+yy654:
yych = *++cursor_;
- if (yych == 'b') goto yy770;
+ if (yych == 'b') goto yy775;
goto yy87;
-yy650:
+yy655:
yych = *++cursor_;
- if (yych == 'a') goto yy771;
+ if (yych == 'a') goto yy776;
goto yy87;
-yy651:
+yy656:
yych = *++cursor_;
- if (yych == 'm') goto yy772;
+ if (yych == 'm') goto yy777;
goto yy87;
-yy652:
+yy657:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 330 "src/wast-lexer.cc"
{ OPCODE(I32Add); RETURN(BINARY); }
-#line 3947 "src/prebuilt/wast-lexer-gen.cc"
-yy654:
+#line 3968 "src/prebuilt/wast-lexer-gen.cc"
+yy659:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 344 "src/wast-lexer.cc"
{ OPCODE(I32And); RETURN(BINARY); }
-#line 3955 "src/prebuilt/wast-lexer-gen.cc"
-yy656:
+#line 3976 "src/prebuilt/wast-lexer-gen.cc"
+yy661:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 310 "src/wast-lexer.cc"
{ OPCODE(I32Clz); RETURN(UNARY); }
-#line 3963 "src/prebuilt/wast-lexer-gen.cc"
-yy658:
+#line 3984 "src/prebuilt/wast-lexer-gen.cc"
+yy663:
yych = *++cursor_;
- if (yych == 's') goto yy773;
+ if (yych == 's') goto yy778;
goto yy87;
-yy659:
+yy664:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 312 "src/wast-lexer.cc"
{ OPCODE(I32Ctz); RETURN(UNARY); }
-#line 3975 "src/prebuilt/wast-lexer-gen.cc"
-yy661:
+#line 3996 "src/prebuilt/wast-lexer-gen.cc"
+yy666:
yych = *++cursor_;
- if (yych == '_') goto yy774;
+ if (yych == '_') goto yy779;
goto yy87;
-yy662:
+yy667:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 308 "src/wast-lexer.cc"
{ OPCODE(I32Eqz); RETURN(CONVERT); }
-#line 3987 "src/prebuilt/wast-lexer-gen.cc"
-yy664:
+#line 4008 "src/prebuilt/wast-lexer-gen.cc"
+yy669:
yych = *++cursor_;
- if (yych == 's') goto yy775;
- if (yych == 'u') goto yy777;
+ if (yych == 's') goto yy780;
+ if (yych == 'u') goto yy782;
goto yy87;
-yy665:
+yy670:
yych = *++cursor_;
- if (yych == 's') goto yy779;
- if (yych == 'u') goto yy781;
+ if (yych == 's') goto yy784;
+ if (yych == 'u') goto yy786;
goto yy87;
-yy666:
+yy671:
yych = *++cursor_;
- if (yych == 's') goto yy783;
- if (yych == 'u') goto yy785;
+ if (yych == 's') goto yy788;
+ if (yych == 'u') goto yy790;
goto yy87;
-yy667:
+yy672:
yych = *++cursor_;
- if (yych == 'd') goto yy787;
+ if (yych == 'd') goto yy792;
goto yy87;
-yy668:
+yy673:
yych = *++cursor_;
- if (yych == 's') goto yy789;
- if (yych == 'u') goto yy791;
+ if (yych == 's') goto yy794;
+ if (yych == 'u') goto yy796;
goto yy87;
-yy669:
+yy674:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 334 "src/wast-lexer.cc"
{ OPCODE(I32Mul); RETURN(BINARY); }
-#line 4019 "src/prebuilt/wast-lexer-gen.cc"
-yy671:
+#line 4040 "src/prebuilt/wast-lexer-gen.cc"
+yy676:
yych = *++cursor_;
- if (yych == 'c') goto yy793;
+ if (yych == 'c') goto yy798;
goto yy87;
-yy672:
+yy677:
yych = *++cursor_;
- if (yych == 'n') goto yy794;
+ if (yych == 'n') goto yy799;
goto yy87;
-yy673:
+yy678:
yych = *++cursor_;
- if (yych == '_') goto yy795;
+ if (yych == '_') goto yy800;
goto yy87;
-yy674:
+yy679:
yych = *++cursor_;
- if (yych == 'l') goto yy796;
- if (yych == 'r') goto yy798;
+ if (yych == 'l') goto yy801;
+ if (yych == 'r') goto yy803;
goto yy87;
-yy675:
+yy680:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 350 "src/wast-lexer.cc"
{ OPCODE(I32Shl); RETURN(BINARY); }
-#line 4044 "src/prebuilt/wast-lexer-gen.cc"
-yy677:
+#line 4065 "src/prebuilt/wast-lexer-gen.cc"
+yy682:
yych = *++cursor_;
- if (yych == '_') goto yy800;
+ if (yych == '_') goto yy805;
goto yy87;
-yy678:
+yy683:
yych = *++cursor_;
- if (yych == 'r') goto yy801;
+ if (yych == 'r') goto yy806;
goto yy87;
-yy679:
+yy684:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 332 "src/wast-lexer.cc"
{ OPCODE(I32Sub); RETURN(BINARY); }
-#line 4060 "src/prebuilt/wast-lexer-gen.cc"
-yy681:
+#line 4081 "src/prebuilt/wast-lexer-gen.cc"
+yy686:
yych = *++cursor_;
- if (yych == 'n') goto yy802;
+ if (yych == 'n') goto yy807;
goto yy87;
-yy682:
+yy687:
yych = *++cursor_;
- if (yych == 'p') goto yy803;
+ if (yych == 'p') goto yy808;
goto yy87;
-yy683:
+yy688:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 348 "src/wast-lexer.cc"
{ OPCODE(I32Xor); RETURN(BINARY); }
-#line 4076 "src/prebuilt/wast-lexer-gen.cc"
-yy685:
+#line 4097 "src/prebuilt/wast-lexer-gen.cc"
+yy690:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 331 "src/wast-lexer.cc"
{ OPCODE(I64Add); RETURN(BINARY); }
-#line 4084 "src/prebuilt/wast-lexer-gen.cc"
-yy687:
+#line 4105 "src/prebuilt/wast-lexer-gen.cc"
+yy692:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 345 "src/wast-lexer.cc"
{ OPCODE(I64And); RETURN(BINARY); }
-#line 4092 "src/prebuilt/wast-lexer-gen.cc"
-yy689:
+#line 4113 "src/prebuilt/wast-lexer-gen.cc"
+yy694:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 311 "src/wast-lexer.cc"
{ OPCODE(I64Clz); RETURN(UNARY); }
-#line 4100 "src/prebuilt/wast-lexer-gen.cc"
-yy691:
+#line 4121 "src/prebuilt/wast-lexer-gen.cc"
+yy696:
yych = *++cursor_;
- if (yych == 's') goto yy804;
+ if (yych == 's') goto yy809;
goto yy87;
-yy692:
+yy697:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 313 "src/wast-lexer.cc"
{ OPCODE(I64Ctz); RETURN(UNARY); }
-#line 4112 "src/prebuilt/wast-lexer-gen.cc"
-yy694:
+#line 4133 "src/prebuilt/wast-lexer-gen.cc"
+yy699:
yych = *++cursor_;
- if (yych == '_') goto yy805;
+ if (yych == '_') goto yy810;
goto yy87;
-yy695:
+yy700:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 309 "src/wast-lexer.cc"
{ OPCODE(I64Eqz); RETURN(CONVERT); }
-#line 4124 "src/prebuilt/wast-lexer-gen.cc"
-yy697:
+#line 4145 "src/prebuilt/wast-lexer-gen.cc"
+yy702:
yych = *++cursor_;
- if (yych == 'e') goto yy806;
+ if (yych == 'e') goto yy811;
goto yy87;
-yy698:
+yy703:
yych = *++cursor_;
- if (yych == 's') goto yy807;
- if (yych == 'u') goto yy809;
+ if (yych == 's') goto yy812;
+ if (yych == 'u') goto yy814;
goto yy87;
-yy699:
+yy704:
yych = *++cursor_;
- if (yych == 's') goto yy811;
- if (yych == 'u') goto yy813;
+ if (yych == 's') goto yy816;
+ if (yych == 'u') goto yy818;
goto yy87;
-yy700:
+yy705:
yych = *++cursor_;
- if (yych == 's') goto yy815;
- if (yych == 'u') goto yy817;
+ if (yych == 's') goto yy820;
+ if (yych == 'u') goto yy822;
goto yy87;
-yy701:
+yy706:
yych = *++cursor_;
- if (yych == 'd') goto yy819;
+ if (yych == 'd') goto yy824;
goto yy87;
-yy702:
+yy707:
yych = *++cursor_;
- if (yych == 's') goto yy821;
- if (yych == 'u') goto yy823;
+ if (yych == 's') goto yy826;
+ if (yych == 'u') goto yy828;
goto yy87;
-yy703:
+yy708:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 335 "src/wast-lexer.cc"
{ OPCODE(I64Mul); RETURN(BINARY); }
-#line 4160 "src/prebuilt/wast-lexer-gen.cc"
-yy705:
+#line 4181 "src/prebuilt/wast-lexer-gen.cc"
+yy710:
yych = *++cursor_;
- if (yych == 'c') goto yy825;
+ if (yych == 'c') goto yy830;
goto yy87;
-yy706:
+yy711:
yych = *++cursor_;
- if (yych == 'n') goto yy826;
+ if (yych == 'n') goto yy831;
goto yy87;
-yy707:
+yy712:
yych = *++cursor_;
- if (yych == '_') goto yy827;
+ if (yych == '_') goto yy832;
goto yy87;
-yy708:
+yy713:
yych = *++cursor_;
- if (yych == 'l') goto yy828;
- if (yych == 'r') goto yy830;
+ if (yych == 'l') goto yy833;
+ if (yych == 'r') goto yy835;
goto yy87;
-yy709:
+yy714:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 351 "src/wast-lexer.cc"
{ OPCODE(I64Shl); RETURN(BINARY); }
-#line 4185 "src/prebuilt/wast-lexer-gen.cc"
-yy711:
+#line 4206 "src/prebuilt/wast-lexer-gen.cc"
+yy716:
yych = *++cursor_;
- if (yych == '_') goto yy832;
+ if (yych == '_') goto yy837;
goto yy87;
-yy712:
+yy717:
yych = *++cursor_;
- if (yych == 'r') goto yy833;
+ if (yych == 'r') goto yy838;
goto yy87;
-yy713:
+yy718:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 333 "src/wast-lexer.cc"
{ OPCODE(I64Sub); RETURN(BINARY); }
-#line 4201 "src/prebuilt/wast-lexer-gen.cc"
-yy715:
+#line 4222 "src/prebuilt/wast-lexer-gen.cc"
+yy720:
yych = *++cursor_;
- if (yych == 'n') goto yy834;
+ if (yych == 'n') goto yy839;
goto yy87;
-yy716:
+yy721:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 349 "src/wast-lexer.cc"
{ OPCODE(I64Xor); RETURN(BINARY); }
-#line 4213 "src/prebuilt/wast-lexer-gen.cc"
-yy718:
+#line 4234 "src/prebuilt/wast-lexer-gen.cc"
+yy723:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
if (yych == '!') goto yy86;
- goto yy252;
+ goto yy253;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy252;
+ if (yych <= ')') goto yy253;
if (yych <= '/') goto yy86;
- goto yy718;
+ goto yy723;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy252;
+ if (yych == ';') goto yy253;
if (yych <= '@') goto yy86;
- goto yy718;
+ goto yy723;
} else {
if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy718;
+ if (yych <= 'f') goto yy723;
if (yych <= '~') goto yy86;
- goto yy252;
+ goto yy253;
}
}
-yy720:
+yy725:
yych = *++cursor_;
if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy835;
- if (yych <= '9') goto yy837;
+ if (yych <= '0') goto yy840;
+ if (yych <= '9') goto yy842;
goto yy87;
-yy721:
+yy726:
yych = *++cursor_;
- if (yych == 'r') goto yy839;
+ if (yych == 'r') goto yy844;
goto yy87;
-yy722:
+yy727:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 469 "src/wast-lexer.cc"
+#line 470 "src/wast-lexer.cc"
{ RETURN(RETHROW); }
-#line 4257 "src/prebuilt/wast-lexer-gen.cc"
-yy724:
+#line 4278 "src/prebuilt/wast-lexer-gen.cc"
+yy729:
yych = *++cursor_;
- if (yych == 'b') goto yy841;
+ if (yych == 'b') goto yy846;
goto yy87;
-yy725:
+yy730:
yych = *++cursor_;
- if (yych == 'a') goto yy842;
+ if (yych == 'a') goto yy847;
goto yy87;
-yy726:
+yy731:
yych = *++cursor_;
- if (yych == 'a') goto yy843;
+ if (yych == 'a') goto yy848;
goto yy87;
-yy727:
+yy732:
yych = *++cursor_;
- if (yych == 'a') goto yy844;
+ if (yych == 'a') goto yy849;
goto yy87;
-yy728:
+yy733:
yych = *++cursor_;
if (yych <= '@') {
if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy845;
+ if (yych <= '9') goto yy850;
goto yy87;
} else {
- if (yych <= 'F') goto yy845;
+ if (yych <= 'F') goto yy850;
if (yych <= '`') goto yy87;
- if (yych <= 'f') goto yy845;
+ if (yych <= 'f') goto yy850;
goto yy87;
}
-yy729:
+yy734:
yych = *++cursor_;
- if (yych == 'x') goto yy847;
+ if (yych == 'x') goto yy852;
goto yy87;
-yy730:
+yy735:
yych = *++cursor_;
- if (yych == 'n') goto yy848;
+ if (yych == 'n') goto yy853;
goto yy87;
-yy731:
+yy736:
yych = *++cursor_;
- if (yych == 'a') goto yy849;
+ if (yych == 'a') goto yy854;
goto yy87;
-yy732:
+yy737:
yych = *++cursor_;
- if (yych == 'e') goto yy850;
+ if (yych == 'e') goto yy855;
goto yy87;
-yy733:
+yy738:
yych = *++cursor_;
- if (yych == 'r') goto yy851;
+ if (yych == 'r') goto yy856;
goto yy87;
-yy734:
+yy739:
yych = *++cursor_;
- if (yych == 'n') goto yy852;
+ if (yych == 'n') goto yy857;
goto yy87;
-yy735:
+yy740:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 268 "src/wast-lexer.cc"
{ RETURN(BR_TABLE); }
-#line 4317 "src/prebuilt/wast-lexer-gen.cc"
-yy737:
+#line 4338 "src/prebuilt/wast-lexer-gen.cc"
+yy742:
yych = *++cursor_;
- if (yych == 'i') goto yy853;
+ if (yych == 'i') goto yy858;
goto yy87;
-yy738:
+yy743:
yych = *++cursor_;
- if (yych == 'l') goto yy854;
+ if (yych == 'l') goto yy859;
goto yy87;
-yy739:
+yy744:
yych = *++cursor_;
- if (yych == 'm') goto yy856;
+ if (yych == 'm') goto yy861;
goto yy87;
-yy740:
+yy745:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 322 "src/wast-lexer.cc"
{ OPCODE(F32Ceil); RETURN(UNARY); }
-#line 4337 "src/prebuilt/wast-lexer-gen.cc"
-yy742:
+#line 4358 "src/prebuilt/wast-lexer-gen.cc"
+yy747:
yych = *++cursor_;
- if (yych == 't') goto yy857;
+ if (yych == 't') goto yy862;
goto yy87;
-yy743:
+yy748:
yych = *++cursor_;
- if (yych == 'e') goto yy859;
+ if (yych == 'e') goto yy864;
goto yy87;
-yy744:
+yy749:
yych = *++cursor_;
- if (yych == 's') goto yy860;
+ if (yych == 's') goto yy865;
goto yy87;
-yy745:
+yy750:
yych = *++cursor_;
- if (yych == 't') goto yy861;
+ if (yych == 't') goto yy866;
goto yy87;
-yy746:
+yy751:
yych = *++cursor_;
- if (yych == 'r') goto yy862;
+ if (yych == 'r') goto yy867;
goto yy87;
-yy747:
+yy752:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 281 "src/wast-lexer.cc"
{ OPCODE(F32Load); RETURN(LOAD); }
-#line 4365 "src/prebuilt/wast-lexer-gen.cc"
-yy749:
+#line 4386 "src/prebuilt/wast-lexer-gen.cc"
+yy754:
yych = *++cursor_;
- if (yych == 'e') goto yy864;
+ if (yych == 'e') goto yy869;
goto yy87;
-yy750:
+yy755:
yych = *++cursor_;
- if (yych == 't') goto yy865;
+ if (yych == 't') goto yy870;
goto yy87;
-yy751:
+yy756:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 320 "src/wast-lexer.cc"
{ OPCODE(F32Sqrt); RETURN(UNARY); }
-#line 4381 "src/prebuilt/wast-lexer-gen.cc"
-yy753:
+#line 4402 "src/prebuilt/wast-lexer-gen.cc"
+yy758:
yych = *++cursor_;
- if (yych == 'e') goto yy866;
+ if (yych == 'e') goto yy871;
goto yy87;
-yy754:
+yy759:
yych = *++cursor_;
- if (yych == 'c') goto yy868;
+ if (yych == 'c') goto yy873;
goto yy87;
-yy755:
+yy760:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 323 "src/wast-lexer.cc"
{ OPCODE(F64Ceil); RETURN(UNARY); }
-#line 4397 "src/prebuilt/wast-lexer-gen.cc"
-yy757:
+#line 4418 "src/prebuilt/wast-lexer-gen.cc"
+yy762:
yych = *++cursor_;
- if (yych == 't') goto yy870;
+ if (yych == 't') goto yy875;
goto yy87;
-yy758:
+yy763:
yych = *++cursor_;
- if (yych == 'e') goto yy872;
+ if (yych == 'e') goto yy877;
goto yy87;
-yy759:
+yy764:
yych = *++cursor_;
- if (yych == 's') goto yy873;
+ if (yych == 's') goto yy878;
goto yy87;
-yy760:
+yy765:
yych = *++cursor_;
- if (yych == 'r') goto yy874;
+ if (yych == 'r') goto yy879;
goto yy87;
-yy761:
+yy766:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 282 "src/wast-lexer.cc"
{ OPCODE(F64Load); RETURN(LOAD); }
-#line 4421 "src/prebuilt/wast-lexer-gen.cc"
-yy763:
+#line 4442 "src/prebuilt/wast-lexer-gen.cc"
+yy768:
yych = *++cursor_;
- if (yych == 'e') goto yy876;
+ if (yych == 'e') goto yy881;
goto yy87;
-yy764:
+yy769:
yych = *++cursor_;
- if (yych == 'o') goto yy877;
+ if (yych == 'o') goto yy882;
goto yy87;
-yy765:
+yy770:
yych = *++cursor_;
- if (yych == 't') goto yy878;
+ if (yych == 't') goto yy883;
goto yy87;
-yy766:
+yy771:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 321 "src/wast-lexer.cc"
{ OPCODE(F64Sqrt); RETURN(UNARY); }
-#line 4441 "src/prebuilt/wast-lexer-gen.cc"
-yy768:
+#line 4462 "src/prebuilt/wast-lexer-gen.cc"
+yy773:
yych = *++cursor_;
- if (yych == 'e') goto yy879;
+ if (yych == 'e') goto yy884;
goto yy87;
-yy769:
+yy774:
yych = *++cursor_;
- if (yych == 'c') goto yy881;
+ if (yych == 'c') goto yy886;
goto yy87;
-yy770:
+yy775:
yych = *++cursor_;
- if (yych == 'a') goto yy883;
+ if (yych == 'a') goto yy888;
goto yy87;
-yy771:
+yy776:
yych = *++cursor_;
- if (yych == 'l') goto yy884;
+ if (yych == 'l') goto yy889;
goto yy87;
-yy772:
+yy777:
yych = *++cursor_;
- if (yych == 'o') goto yy886;
+ if (yych == 'o') goto yy891;
goto yy87;
-yy773:
+yy778:
yych = *++cursor_;
- if (yych == 't') goto yy887;
+ if (yych == 't') goto yy892;
goto yy87;
-yy774:
+yy779:
yych = *++cursor_;
- if (yych == 's') goto yy889;
- if (yych == 'u') goto yy891;
+ if (yych == 's') goto yy894;
+ if (yych == 'u') goto yy896;
goto yy87;
-yy775:
+yy780:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 390 "src/wast-lexer.cc"
{ OPCODE(I32GeS); RETURN(COMPARE); }
-#line 4478 "src/prebuilt/wast-lexer-gen.cc"
-yy777:
+#line 4499 "src/prebuilt/wast-lexer-gen.cc"
+yy782:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 392 "src/wast-lexer.cc"
{ OPCODE(I32GeU); RETURN(COMPARE); }
-#line 4486 "src/prebuilt/wast-lexer-gen.cc"
-yy779:
+#line 4507 "src/prebuilt/wast-lexer-gen.cc"
+yy784:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 386 "src/wast-lexer.cc"
{ OPCODE(I32GtS); RETURN(COMPARE); }
-#line 4494 "src/prebuilt/wast-lexer-gen.cc"
-yy781:
+#line 4515 "src/prebuilt/wast-lexer-gen.cc"
+yy786:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 388 "src/wast-lexer.cc"
{ OPCODE(I32GtU); RETURN(COMPARE); }
-#line 4502 "src/prebuilt/wast-lexer-gen.cc"
-yy783:
+#line 4523 "src/prebuilt/wast-lexer-gen.cc"
+yy788:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 382 "src/wast-lexer.cc"
{ OPCODE(I32LeS); RETURN(COMPARE); }
-#line 4510 "src/prebuilt/wast-lexer-gen.cc"
-yy785:
+#line 4531 "src/prebuilt/wast-lexer-gen.cc"
+yy790:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 384 "src/wast-lexer.cc"
{ OPCODE(I32LeU); RETURN(COMPARE); }
-#line 4518 "src/prebuilt/wast-lexer-gen.cc"
-yy787:
+#line 4539 "src/prebuilt/wast-lexer-gen.cc"
+yy792:
++cursor_;
if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
@@ -4526,225 +4547,225 @@ yy787:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy893;
+ if (yych <= '1') goto yy898;
if (yych <= '7') goto yy86;
- goto yy894;
+ goto yy899;
} else {
- if (yych == ';') goto yy788;
+ if (yych == ';') goto yy793;
if (yych <= '~') goto yy86;
}
}
-yy788:
+yy793:
#line 279 "src/wast-lexer.cc"
{ OPCODE(I32Load); RETURN(LOAD); }
-#line 4541 "src/prebuilt/wast-lexer-gen.cc"
-yy789:
+#line 4562 "src/prebuilt/wast-lexer-gen.cc"
+yy794:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 378 "src/wast-lexer.cc"
{ OPCODE(I32LtS); RETURN(COMPARE); }
-#line 4549 "src/prebuilt/wast-lexer-gen.cc"
-yy791:
+#line 4570 "src/prebuilt/wast-lexer-gen.cc"
+yy796:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 380 "src/wast-lexer.cc"
{ OPCODE(I32LtU); RETURN(COMPARE); }
-#line 4557 "src/prebuilt/wast-lexer-gen.cc"
-yy793:
+#line 4578 "src/prebuilt/wast-lexer-gen.cc"
+yy798:
yych = *++cursor_;
- if (yych == 'n') goto yy895;
+ if (yych == 'n') goto yy900;
goto yy87;
-yy794:
+yy799:
yych = *++cursor_;
- if (yych == 't') goto yy896;
+ if (yych == 't') goto yy901;
goto yy87;
-yy795:
+yy800:
yych = *++cursor_;
- if (yych == 's') goto yy897;
- if (yych == 'u') goto yy899;
+ if (yych == 's') goto yy902;
+ if (yych == 'u') goto yy904;
goto yy87;
-yy796:
+yy801:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 356 "src/wast-lexer.cc"
{ OPCODE(I32Rotl); RETURN(BINARY); }
-#line 4578 "src/prebuilt/wast-lexer-gen.cc"
-yy798:
+#line 4599 "src/prebuilt/wast-lexer-gen.cc"
+yy803:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 358 "src/wast-lexer.cc"
{ OPCODE(I32Rotr); RETURN(BINARY); }
-#line 4586 "src/prebuilt/wast-lexer-gen.cc"
-yy800:
+#line 4607 "src/prebuilt/wast-lexer-gen.cc"
+yy805:
yych = *++cursor_;
- if (yych == 's') goto yy901;
- if (yych == 'u') goto yy903;
+ if (yych == 's') goto yy906;
+ if (yych == 'u') goto yy908;
goto yy87;
-yy801:
+yy806:
yych = *++cursor_;
- if (yych == 'e') goto yy905;
+ if (yych == 'e') goto yy910;
goto yy87;
-yy802:
+yy807:
yych = *++cursor_;
- if (yych == 'c') goto yy907;
+ if (yych == 'c') goto yy912;
goto yy87;
-yy803:
+yy808:
yych = *++cursor_;
- if (yych == '/') goto yy908;
+ if (yych == '/') goto yy913;
goto yy87;
-yy804:
+yy809:
yych = *++cursor_;
- if (yych == 't') goto yy909;
+ if (yych == 't') goto yy914;
goto yy87;
-yy805:
+yy810:
yych = *++cursor_;
- if (yych == 's') goto yy911;
- if (yych == 'u') goto yy913;
+ if (yych == 's') goto yy916;
+ if (yych == 'u') goto yy918;
goto yy87;
-yy806:
+yy811:
yych = *++cursor_;
- if (yych == 'n') goto yy915;
+ if (yych == 'n') goto yy920;
goto yy87;
-yy807:
+yy812:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 391 "src/wast-lexer.cc"
{ OPCODE(I64GeS); RETURN(COMPARE); }
-#line 4624 "src/prebuilt/wast-lexer-gen.cc"
-yy809:
+#line 4645 "src/prebuilt/wast-lexer-gen.cc"
+yy814:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 393 "src/wast-lexer.cc"
{ OPCODE(I64GeU); RETURN(COMPARE); }
-#line 4632 "src/prebuilt/wast-lexer-gen.cc"
-yy811:
+#line 4653 "src/prebuilt/wast-lexer-gen.cc"
+yy816:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 387 "src/wast-lexer.cc"
{ OPCODE(I64GtS); RETURN(COMPARE); }
-#line 4640 "src/prebuilt/wast-lexer-gen.cc"
-yy813:
+#line 4661 "src/prebuilt/wast-lexer-gen.cc"
+yy818:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 389 "src/wast-lexer.cc"
{ OPCODE(I64GtU); RETURN(COMPARE); }
-#line 4648 "src/prebuilt/wast-lexer-gen.cc"
-yy815:
+#line 4669 "src/prebuilt/wast-lexer-gen.cc"
+yy820:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 383 "src/wast-lexer.cc"
{ OPCODE(I64LeS); RETURN(COMPARE); }
-#line 4656 "src/prebuilt/wast-lexer-gen.cc"
-yy817:
+#line 4677 "src/prebuilt/wast-lexer-gen.cc"
+yy822:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 385 "src/wast-lexer.cc"
{ OPCODE(I64LeU); RETURN(COMPARE); }
-#line 4664 "src/prebuilt/wast-lexer-gen.cc"
-yy819:
+#line 4685 "src/prebuilt/wast-lexer-gen.cc"
+yy824:
++cursor_;
if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy820;
+ if (yych <= ')') goto yy825;
if (yych <= '0') goto yy86;
- goto yy916;
+ goto yy921;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy917;
+ if (yych == '3') goto yy922;
if (yych <= '7') goto yy86;
- goto yy918;
+ goto yy923;
} else {
- if (yych == ';') goto yy820;
+ if (yych == ';') goto yy825;
if (yych <= '~') goto yy86;
}
}
-yy820:
+yy825:
#line 280 "src/wast-lexer.cc"
{ OPCODE(I64Load); RETURN(LOAD); }
-#line 4689 "src/prebuilt/wast-lexer-gen.cc"
-yy821:
+#line 4710 "src/prebuilt/wast-lexer-gen.cc"
+yy826:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 379 "src/wast-lexer.cc"
{ OPCODE(I64LtS); RETURN(COMPARE); }
-#line 4697 "src/prebuilt/wast-lexer-gen.cc"
-yy823:
+#line 4718 "src/prebuilt/wast-lexer-gen.cc"
+yy828:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 381 "src/wast-lexer.cc"
{ OPCODE(I64LtU); RETURN(COMPARE); }
-#line 4705 "src/prebuilt/wast-lexer-gen.cc"
-yy825:
+#line 4726 "src/prebuilt/wast-lexer-gen.cc"
+yy830:
yych = *++cursor_;
- if (yych == 'n') goto yy919;
+ if (yych == 'n') goto yy924;
goto yy87;
-yy826:
+yy831:
yych = *++cursor_;
- if (yych == 't') goto yy920;
+ if (yych == 't') goto yy925;
goto yy87;
-yy827:
+yy832:
yych = *++cursor_;
- if (yych == 's') goto yy921;
- if (yych == 'u') goto yy923;
+ if (yych == 's') goto yy926;
+ if (yych == 'u') goto yy928;
goto yy87;
-yy828:
+yy833:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 357 "src/wast-lexer.cc"
{ OPCODE(I64Rotl); RETURN(BINARY); }
-#line 4726 "src/prebuilt/wast-lexer-gen.cc"
-yy830:
+#line 4747 "src/prebuilt/wast-lexer-gen.cc"
+yy835:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 359 "src/wast-lexer.cc"
{ OPCODE(I64Rotr); RETURN(BINARY); }
-#line 4734 "src/prebuilt/wast-lexer-gen.cc"
-yy832:
+#line 4755 "src/prebuilt/wast-lexer-gen.cc"
+yy837:
yych = *++cursor_;
- if (yych == 's') goto yy925;
- if (yych == 'u') goto yy927;
+ if (yych == 's') goto yy930;
+ if (yych == 'u') goto yy932;
goto yy87;
-yy833:
+yy838:
yych = *++cursor_;
- if (yych == 'e') goto yy929;
+ if (yych == 'e') goto yy934;
goto yy87;
-yy834:
+yy839:
yych = *++cursor_;
- if (yych == 'c') goto yy931;
+ if (yych == 'c') goto yy936;
goto yy87;
-yy835:
+yy840:
++cursor_;
if ((yych = *cursor_) <= '/') {
if (yych <= '"') {
@@ -4755,324 +4776,324 @@ yy835:
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy837;
+ if (yych <= '9') goto yy842;
if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy932;
+ if (yych == 'x') goto yy937;
if (yych <= '~') goto yy86;
}
}
-yy836:
+yy841:
#line 302 "src/wast-lexer.cc"
{ TEXT_AT(7); RETURN(OFFSET_EQ_NAT); }
-#line 4769 "src/prebuilt/wast-lexer-gen.cc"
-yy837:
+#line 4790 "src/prebuilt/wast-lexer-gen.cc"
+yy842:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy836;
+ if (yych <= ' ') goto yy841;
goto yy86;
} else {
- if (yych <= '"') goto yy836;
+ if (yych <= '"') goto yy841;
if (yych <= '\'') goto yy86;
- goto yy836;
+ goto yy841;
}
} else {
if (yych <= ':') {
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy837;
+ if (yych <= '9') goto yy842;
goto yy86;
} else {
- if (yych <= ';') goto yy836;
+ if (yych <= ';') goto yy841;
if (yych <= '~') goto yy86;
- goto yy836;
+ goto yy841;
}
}
-yy839:
+yy844:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 452 "src/wast-lexer.cc"
+#line 453 "src/wast-lexer.cc"
{ RETURN(REGISTER); }
-#line 4801 "src/prebuilt/wast-lexer-gen.cc"
-yy841:
+#line 4822 "src/prebuilt/wast-lexer-gen.cc"
+yy846:
yych = *++cursor_;
- if (yych == 'a') goto yy933;
+ if (yych == 'a') goto yy938;
goto yy87;
-yy842:
+yy847:
yych = *++cursor_;
- if (yych == 'l') goto yy934;
+ if (yych == 'l') goto yy939;
goto yy87;
-yy843:
+yy848:
yych = *++cursor_;
- if (yych == 'l') goto yy936;
+ if (yych == 'l') goto yy941;
goto yy87;
-yy844:
+yy849:
yych = *++cursor_;
- if (yych == 'b') goto yy938;
+ if (yych == 'b') goto yy943;
goto yy87;
-yy845:
+yy850:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
if (yych == '!') goto yy86;
- goto yy585;
+ goto yy590;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy585;
+ if (yych <= ')') goto yy590;
if (yych <= '/') goto yy86;
- goto yy845;
+ goto yy850;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy585;
+ if (yych == ';') goto yy590;
if (yych <= '@') goto yy86;
- goto yy845;
+ goto yy850;
} else {
if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy845;
+ if (yych <= 'f') goto yy850;
if (yych <= '~') goto yy86;
- goto yy585;
+ goto yy590;
}
}
-yy847:
+yy852:
yych = *++cursor_;
- if (yych == 'h') goto yy939;
+ if (yych == 'h') goto yy944;
goto yy87;
-yy848:
+yy853:
yych = *++cursor_;
- if (yych == 'v') goto yy940;
+ if (yych == 'v') goto yy945;
goto yy87;
-yy849:
+yy854:
yych = *++cursor_;
- if (yych == 'l') goto yy941;
+ if (yych == 'l') goto yy946;
goto yy87;
-yy850:
+yy855:
yych = *++cursor_;
- if (yych == 't') goto yy942;
+ if (yych == 't') goto yy947;
goto yy87;
-yy851:
+yy856:
yych = *++cursor_;
- if (yych == 'a') goto yy943;
+ if (yych == 'a') goto yy948;
goto yy87;
-yy852:
+yy857:
yych = *++cursor_;
- if (yych == 'l') goto yy944;
+ if (yych == 'l') goto yy949;
goto yy87;
-yy853:
+yy858:
yych = *++cursor_;
- if (yych == 'r') goto yy945;
+ if (yych == 'r') goto yy950;
goto yy87;
-yy854:
+yy859:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 467 "src/wast-lexer.cc"
+#line 468 "src/wast-lexer.cc"
{ RETURN(CATCH_ALL); }
-#line 4879 "src/prebuilt/wast-lexer-gen.cc"
-yy856:
+#line 4900 "src/prebuilt/wast-lexer-gen.cc"
+yy861:
yych = *++cursor_;
- if (yych == 'e') goto yy946;
+ if (yych == 'e') goto yy951;
goto yy87;
-yy857:
+yy862:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 306 "src/wast-lexer.cc"
{ TYPE(F32); RETURN(CONST); }
-#line 4891 "src/prebuilt/wast-lexer-gen.cc"
-yy859:
+#line 4912 "src/prebuilt/wast-lexer-gen.cc"
+yy864:
yych = *++cursor_;
- if (yych == 'r') goto yy947;
+ if (yych == 'r') goto yy952;
goto yy87;
-yy860:
+yy865:
yych = *++cursor_;
- if (yych == 'i') goto yy948;
+ if (yych == 'i') goto yy953;
goto yy87;
-yy861:
+yy866:
yych = *++cursor_;
- if (yych == 'e') goto yy949;
+ if (yych == 'e') goto yy954;
goto yy87;
-yy862:
+yy867:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 324 "src/wast-lexer.cc"
{ OPCODE(F32Floor); RETURN(UNARY); }
-#line 4911 "src/prebuilt/wast-lexer-gen.cc"
-yy864:
+#line 4932 "src/prebuilt/wast-lexer-gen.cc"
+yy869:
yych = *++cursor_;
- if (yych == 's') goto yy950;
+ if (yych == 's') goto yy955;
goto yy87;
-yy865:
+yy870:
yych = *++cursor_;
- if (yych == 'e') goto yy951;
+ if (yych == 'e') goto yy956;
goto yy87;
-yy866:
+yy871:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 285 "src/wast-lexer.cc"
{ OPCODE(F32Store); RETURN(STORE); }
-#line 4927 "src/prebuilt/wast-lexer-gen.cc"
-yy868:
+#line 4948 "src/prebuilt/wast-lexer-gen.cc"
+yy873:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 326 "src/wast-lexer.cc"
{ OPCODE(F32Trunc); RETURN(UNARY); }
-#line 4935 "src/prebuilt/wast-lexer-gen.cc"
-yy870:
+#line 4956 "src/prebuilt/wast-lexer-gen.cc"
+yy875:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 307 "src/wast-lexer.cc"
{ TYPE(F64); RETURN(CONST); }
-#line 4943 "src/prebuilt/wast-lexer-gen.cc"
-yy872:
+#line 4964 "src/prebuilt/wast-lexer-gen.cc"
+yy877:
yych = *++cursor_;
- if (yych == 'r') goto yy952;
+ if (yych == 'r') goto yy957;
goto yy87;
-yy873:
+yy878:
yych = *++cursor_;
- if (yych == 'i') goto yy953;
+ if (yych == 'i') goto yy958;
goto yy87;
-yy874:
+yy879:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 325 "src/wast-lexer.cc"
{ OPCODE(F64Floor); RETURN(UNARY); }
-#line 4959 "src/prebuilt/wast-lexer-gen.cc"
-yy876:
+#line 4980 "src/prebuilt/wast-lexer-gen.cc"
+yy881:
yych = *++cursor_;
- if (yych == 's') goto yy954;
+ if (yych == 's') goto yy959;
goto yy87;
-yy877:
+yy882:
yych = *++cursor_;
- if (yych == 't') goto yy955;
+ if (yych == 't') goto yy960;
goto yy87;
-yy878:
+yy883:
yych = *++cursor_;
- if (yych == 'e') goto yy956;
+ if (yych == 'e') goto yy961;
goto yy87;
-yy879:
+yy884:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 286 "src/wast-lexer.cc"
{ OPCODE(F64Store); RETURN(STORE); }
-#line 4979 "src/prebuilt/wast-lexer-gen.cc"
-yy881:
+#line 5000 "src/prebuilt/wast-lexer-gen.cc"
+yy886:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 327 "src/wast-lexer.cc"
{ OPCODE(F64Trunc); RETURN(UNARY); }
-#line 4987 "src/prebuilt/wast-lexer-gen.cc"
-yy883:
+#line 5008 "src/prebuilt/wast-lexer-gen.cc"
+yy888:
yych = *++cursor_;
- if (yych == 'l') goto yy957;
+ if (yych == 'l') goto yy962;
goto yy87;
-yy884:
+yy889:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 274 "src/wast-lexer.cc"
{ RETURN(GET_LOCAL); }
-#line 4999 "src/prebuilt/wast-lexer-gen.cc"
-yy886:
+#line 5020 "src/prebuilt/wast-lexer-gen.cc"
+yy891:
yych = *++cursor_;
- if (yych == 'r') goto yy959;
+ if (yych == 'r') goto yy964;
goto yy87;
-yy887:
+yy892:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 304 "src/wast-lexer.cc"
{ TYPE(I32); RETURN(CONST); }
-#line 5011 "src/prebuilt/wast-lexer-gen.cc"
-yy889:
+#line 5032 "src/prebuilt/wast-lexer-gen.cc"
+yy894:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 336 "src/wast-lexer.cc"
{ OPCODE(I32DivS); RETURN(BINARY); }
-#line 5019 "src/prebuilt/wast-lexer-gen.cc"
-yy891:
+#line 5040 "src/prebuilt/wast-lexer-gen.cc"
+yy896:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 338 "src/wast-lexer.cc"
{ OPCODE(I32DivU); RETURN(BINARY); }
-#line 5027 "src/prebuilt/wast-lexer-gen.cc"
-yy893:
+#line 5048 "src/prebuilt/wast-lexer-gen.cc"
+yy898:
yych = *++cursor_;
- if (yych == '6') goto yy960;
+ if (yych == '6') goto yy965;
goto yy87;
-yy894:
+yy899:
yych = *++cursor_;
- if (yych == '_') goto yy961;
+ if (yych == '_') goto yy966;
goto yy87;
-yy895:
+yy900:
yych = *++cursor_;
- if (yych == 't') goto yy962;
+ if (yych == 't') goto yy967;
goto yy87;
-yy896:
+yy901:
yych = *++cursor_;
- if (yych == 'e') goto yy964;
+ if (yych == 'e') goto yy969;
goto yy87;
-yy897:
+yy902:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 340 "src/wast-lexer.cc"
{ OPCODE(I32RemS); RETURN(BINARY); }
-#line 5051 "src/prebuilt/wast-lexer-gen.cc"
-yy899:
+#line 5072 "src/prebuilt/wast-lexer-gen.cc"
+yy904:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 342 "src/wast-lexer.cc"
{ OPCODE(I32RemU); RETURN(BINARY); }
-#line 5059 "src/prebuilt/wast-lexer-gen.cc"
-yy901:
+#line 5080 "src/prebuilt/wast-lexer-gen.cc"
+yy906:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 352 "src/wast-lexer.cc"
{ OPCODE(I32ShrS); RETURN(BINARY); }
-#line 5067 "src/prebuilt/wast-lexer-gen.cc"
-yy903:
+#line 5088 "src/prebuilt/wast-lexer-gen.cc"
+yy908:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 354 "src/wast-lexer.cc"
{ OPCODE(I32ShrU); RETURN(BINARY); }
-#line 5075 "src/prebuilt/wast-lexer-gen.cc"
-yy905:
+#line 5096 "src/prebuilt/wast-lexer-gen.cc"
+yy910:
++cursor_;
if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
@@ -5083,827 +5104,807 @@ yy905:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy965;
+ if (yych <= '1') goto yy970;
if (yych <= '7') goto yy86;
- goto yy966;
+ goto yy971;
} else {
- if (yych == ';') goto yy906;
+ if (yych == ';') goto yy911;
if (yych <= '~') goto yy86;
}
}
-yy906:
+yy911:
#line 283 "src/wast-lexer.cc"
{ OPCODE(I32Store); RETURN(STORE); }
-#line 5098 "src/prebuilt/wast-lexer-gen.cc"
-yy907:
+#line 5119 "src/prebuilt/wast-lexer-gen.cc"
+yy912:
yych = *++cursor_;
- if (yych == '_') goto yy968;
+ if (yych == '_') goto yy973;
goto yy87;
-yy908:
+yy913:
yych = *++cursor_;
- if (yych == 'i') goto yy969;
+ if (yych == 'i') goto yy974;
goto yy87;
-yy909:
+yy914:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 305 "src/wast-lexer.cc"
{ TYPE(I64); RETURN(CONST); }
-#line 5114 "src/prebuilt/wast-lexer-gen.cc"
-yy911:
+#line 5135 "src/prebuilt/wast-lexer-gen.cc"
+yy916:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 337 "src/wast-lexer.cc"
{ OPCODE(I64DivS); RETURN(BINARY); }
-#line 5122 "src/prebuilt/wast-lexer-gen.cc"
-yy913:
+#line 5143 "src/prebuilt/wast-lexer-gen.cc"
+yy918:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 339 "src/wast-lexer.cc"
{ OPCODE(I64DivU); RETURN(BINARY); }
-#line 5130 "src/prebuilt/wast-lexer-gen.cc"
-yy915:
+#line 5151 "src/prebuilt/wast-lexer-gen.cc"
+yy920:
yych = *++cursor_;
- if (yych == 'd') goto yy970;
+ if (yych == 'd') goto yy975;
goto yy87;
-yy916:
+yy921:
yych = *++cursor_;
- if (yych == '6') goto yy971;
+ if (yych == '6') goto yy976;
goto yy87;
-yy917:
+yy922:
yych = *++cursor_;
- if (yych == '2') goto yy972;
+ if (yych == '2') goto yy977;
goto yy87;
-yy918:
+yy923:
yych = *++cursor_;
- if (yych == '_') goto yy973;
+ if (yych == '_') goto yy978;
goto yy87;
-yy919:
+yy924:
yych = *++cursor_;
- if (yych == 't') goto yy974;
+ if (yych == 't') goto yy979;
goto yy87;
-yy920:
+yy925:
yych = *++cursor_;
- if (yych == 'e') goto yy976;
+ if (yych == 'e') goto yy981;
goto yy87;
-yy921:
+yy926:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 341 "src/wast-lexer.cc"
{ OPCODE(I64RemS); RETURN(BINARY); }
-#line 5162 "src/prebuilt/wast-lexer-gen.cc"
-yy923:
+#line 5183 "src/prebuilt/wast-lexer-gen.cc"
+yy928:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 343 "src/wast-lexer.cc"
{ OPCODE(I64RemU); RETURN(BINARY); }
-#line 5170 "src/prebuilt/wast-lexer-gen.cc"
-yy925:
+#line 5191 "src/prebuilt/wast-lexer-gen.cc"
+yy930:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 353 "src/wast-lexer.cc"
{ OPCODE(I64ShrS); RETURN(BINARY); }
-#line 5178 "src/prebuilt/wast-lexer-gen.cc"
-yy927:
+#line 5199 "src/prebuilt/wast-lexer-gen.cc"
+yy932:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 355 "src/wast-lexer.cc"
{ OPCODE(I64ShrU); RETURN(BINARY); }
-#line 5186 "src/prebuilt/wast-lexer-gen.cc"
-yy929:
+#line 5207 "src/prebuilt/wast-lexer-gen.cc"
+yy934:
++cursor_;
if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy930;
+ if (yych <= ')') goto yy935;
if (yych <= '0') goto yy86;
- goto yy977;
+ goto yy982;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy978;
+ if (yych == '3') goto yy983;
if (yych <= '7') goto yy86;
- goto yy979;
+ goto yy984;
} else {
- if (yych == ';') goto yy930;
+ if (yych == ';') goto yy935;
if (yych <= '~') goto yy86;
}
}
-yy930:
+yy935:
#line 284 "src/wast-lexer.cc"
{ OPCODE(I64Store); RETURN(STORE); }
-#line 5211 "src/prebuilt/wast-lexer-gen.cc"
-yy931:
+#line 5232 "src/prebuilt/wast-lexer-gen.cc"
+yy936:
yych = *++cursor_;
- if (yych == '_') goto yy981;
+ if (yych == '_') goto yy986;
goto yy87;
-yy932:
+yy937:
yych = *++cursor_;
if (yych <= '@') {
if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy982;
+ if (yych <= '9') goto yy987;
goto yy87;
} else {
- if (yych <= 'F') goto yy982;
+ if (yych <= 'F') goto yy987;
if (yych <= '`') goto yy87;
- if (yych <= 'f') goto yy982;
+ if (yych <= 'f') goto yy987;
goto yy87;
}
-yy933:
+yy938:
yych = *++cursor_;
- if (yych == 'l') goto yy984;
+ if (yych == 'l') goto yy989;
goto yy87;
-yy934:
+yy939:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 275 "src/wast-lexer.cc"
{ RETURN(SET_LOCAL); }
-#line 5239 "src/prebuilt/wast-lexer-gen.cc"
-yy936:
+#line 5260 "src/prebuilt/wast-lexer-gen.cc"
+yy941:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 276 "src/wast-lexer.cc"
{ RETURN(TEE_LOCAL); }
-#line 5247 "src/prebuilt/wast-lexer-gen.cc"
-yy938:
- yych = *++cursor_;
- if (yych == 'l') goto yy986;
- goto yy87;
-yy939:
- yych = *++cursor_;
- if (yych == 'a') goto yy987;
- goto yy87;
-yy940:
- yych = *++cursor_;
- if (yych == 'a') goto yy988;
- goto yy87;
-yy941:
- yych = *++cursor_;
- if (yych == 'f') goto yy989;
- goto yy87;
-yy942:
- yych = *++cursor_;
- if (yych == 'u') goto yy990;
- goto yy87;
+#line 5268 "src/prebuilt/wast-lexer-gen.cc"
yy943:
yych = *++cursor_;
- if (yych == 'p') goto yy991;
+ if (yych == 'l') goto yy991;
goto yy87;
yy944:
yych = *++cursor_;
- if (yych == 'i') goto yy993;
+ if (yych == 'a') goto yy992;
goto yy87;
yy945:
yych = *++cursor_;
- if (yych == 'e') goto yy994;
+ if (yych == 'a') goto yy993;
goto yy87;
yy946:
yych = *++cursor_;
- if (yych == 'm') goto yy995;
+ if (yych == 'f') goto yy994;
goto yy87;
yy947:
yych = *++cursor_;
- if (yych == 't') goto yy996;
+ if (yych == 'u') goto yy995;
goto yy87;
yy948:
yych = *++cursor_;
- if (yych == 'g') goto yy997;
+ if (yych == 'p') goto yy996;
goto yy87;
yy949:
yych = *++cursor_;
- if (yych == '/') goto yy998;
+ if (yych == 'i') goto yy998;
goto yy87;
yy950:
yych = *++cursor_;
- if (yych == 't') goto yy999;
+ if (yych == 'e') goto yy999;
goto yy87;
yy951:
yych = *++cursor_;
- if (yych == 'r') goto yy1001;
+ if (yych == 'm') goto yy1000;
goto yy87;
yy952:
yych = *++cursor_;
- if (yych == 't') goto yy1002;
+ if (yych == 't') goto yy1001;
goto yy87;
yy953:
yych = *++cursor_;
- if (yych == 'g') goto yy1003;
+ if (yych == 'g') goto yy1002;
goto yy87;
yy954:
yych = *++cursor_;
- if (yych == 't') goto yy1004;
+ if (yych == '/') goto yy1003;
goto yy87;
yy955:
yych = *++cursor_;
- if (yych == 'e') goto yy1006;
+ if (yych == 't') goto yy1004;
goto yy87;
yy956:
yych = *++cursor_;
- if (yych == 'r') goto yy1007;
+ if (yych == 'r') goto yy1006;
goto yy87;
yy957:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 277 "src/wast-lexer.cc"
- { RETURN(GET_GLOBAL); }
-#line 5331 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1007;
+ goto yy87;
+yy958:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy1008;
+ goto yy87;
yy959:
yych = *++cursor_;
- if (yych == 'y') goto yy1008;
+ if (yych == 't') goto yy1009;
goto yy87;
yy960:
yych = *++cursor_;
- if (yych == '_') goto yy1010;
+ if (yych == 'e') goto yy1011;
goto yy87;
yy961:
yych = *++cursor_;
- if (yych == 's') goto yy1011;
- if (yych == 'u') goto yy1013;
+ if (yych == 'r') goto yy1012;
goto yy87;
yy962:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 314 "src/wast-lexer.cc"
- { OPCODE(I32Popcnt); RETURN(UNARY); }
+#line 277 "src/wast-lexer.cc"
+ { RETURN(GET_GLOBAL); }
#line 5352 "src/prebuilt/wast-lexer-gen.cc"
yy964:
yych = *++cursor_;
- if (yych == 'r') goto yy1015;
+ if (yych == 'y') goto yy1013;
goto yy87;
yy965:
yych = *++cursor_;
- if (yych == '6') goto yy1016;
+ if (yych == '_') goto yy1015;
goto yy87;
yy966:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1016;
+ if (yych == 'u') goto yy1018;
+ goto yy87;
+yy967:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 314 "src/wast-lexer.cc"
+ { OPCODE(I32Popcnt); RETURN(UNARY); }
+#line 5373 "src/prebuilt/wast-lexer-gen.cc"
+yy969:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1020;
+ goto yy87;
+yy970:
+ yych = *++cursor_;
+ if (yych == '6') goto yy1021;
+ goto yy87;
+yy971:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 297 "src/wast-lexer.cc"
{ OPCODE(I32Store8); RETURN(STORE); }
-#line 5368 "src/prebuilt/wast-lexer-gen.cc"
-yy968:
+#line 5389 "src/prebuilt/wast-lexer-gen.cc"
+yy973:
yych = *++cursor_;
- if (yych == 's') goto yy1018;
- if (yych == 'u') goto yy1019;
+ if (yych == 's') goto yy1023;
+ if (yych == 'u') goto yy1024;
goto yy87;
-yy969:
+yy974:
yych = *++cursor_;
- if (yych == '6') goto yy1020;
+ if (yych == '6') goto yy1025;
goto yy87;
-yy970:
+yy975:
yych = *++cursor_;
- if (yych == '_') goto yy1021;
+ if (yych == '_') goto yy1026;
goto yy87;
-yy971:
+yy976:
yych = *++cursor_;
- if (yych == '_') goto yy1022;
+ if (yych == '_') goto yy1027;
goto yy87;
-yy972:
+yy977:
yych = *++cursor_;
- if (yych == '_') goto yy1023;
+ if (yych == '_') goto yy1028;
goto yy87;
-yy973:
+yy978:
yych = *++cursor_;
- if (yych == 's') goto yy1024;
- if (yych == 'u') goto yy1026;
+ if (yych == 's') goto yy1029;
+ if (yych == 'u') goto yy1031;
goto yy87;
-yy974:
+yy979:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 315 "src/wast-lexer.cc"
{ OPCODE(I64Popcnt); RETURN(UNARY); }
-#line 5402 "src/prebuilt/wast-lexer-gen.cc"
-yy976:
+#line 5423 "src/prebuilt/wast-lexer-gen.cc"
+yy981:
yych = *++cursor_;
- if (yych == 'r') goto yy1028;
+ if (yych == 'r') goto yy1033;
goto yy87;
-yy977:
+yy982:
yych = *++cursor_;
- if (yych == '6') goto yy1029;
+ if (yych == '6') goto yy1034;
goto yy87;
-yy978:
+yy983:
yych = *++cursor_;
- if (yych == '2') goto yy1031;
+ if (yych == '2') goto yy1036;
goto yy87;
-yy979:
+yy984:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 298 "src/wast-lexer.cc"
{ OPCODE(I64Store8); RETURN(STORE); }
-#line 5422 "src/prebuilt/wast-lexer-gen.cc"
-yy981:
+#line 5443 "src/prebuilt/wast-lexer-gen.cc"
+yy986:
yych = *++cursor_;
- if (yych == 's') goto yy1033;
- if (yych == 'u') goto yy1034;
+ if (yych == 's') goto yy1038;
+ if (yych == 'u') goto yy1039;
goto yy87;
-yy982:
+yy987:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
if (yych == '!') goto yy86;
- goto yy836;
+ goto yy841;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy836;
+ if (yych <= ')') goto yy841;
if (yych <= '/') goto yy86;
- goto yy982;
+ goto yy987;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy836;
+ if (yych == ';') goto yy841;
if (yych <= '@') goto yy86;
- goto yy982;
+ goto yy987;
} else {
if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy982;
+ if (yych <= 'f') goto yy987;
if (yych <= '~') goto yy86;
- goto yy836;
+ goto yy841;
}
}
-yy984:
+yy989:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 278 "src/wast-lexer.cc"
{ RETURN(SET_GLOBAL); }
-#line 5461 "src/prebuilt/wast-lexer-gen.cc"
-yy986:
+#line 5482 "src/prebuilt/wast-lexer-gen.cc"
+yy991:
yych = *++cursor_;
- if (yych == 'e') goto yy1035;
+ if (yych == 'e') goto yy1040;
goto yy87;
-yy987:
+yy992:
yych = *++cursor_;
- if (yych == 'u') goto yy1037;
+ if (yych == 'u') goto yy1042;
goto yy87;
-yy988:
+yy993:
yych = *++cursor_;
- if (yych == 'l') goto yy1038;
+ if (yych == 'l') goto yy1043;
goto yy87;
-yy989:
+yy994:
yych = *++cursor_;
- if (yych == 'o') goto yy1039;
+ if (yych == 'o') goto yy1044;
goto yy87;
-yy990:
+yy995:
yych = *++cursor_;
- if (yych == 'r') goto yy1040;
+ if (yych == 'r') goto yy1045;
goto yy87;
-yy991:
+yy996:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 463 "src/wast-lexer.cc"
+#line 464 "src/wast-lexer.cc"
{ RETURN(ASSERT_TRAP); }
-#line 5489 "src/prebuilt/wast-lexer-gen.cc"
-yy993:
+#line 5510 "src/prebuilt/wast-lexer-gen.cc"
+yy998:
yych = *++cursor_;
- if (yych == 'n') goto yy1041;
+ if (yych == 'n') goto yy1046;
goto yy87;
-yy994:
+yy999:
yych = *++cursor_;
- if (yych == 'c') goto yy1042;
+ if (yych == 'c') goto yy1047;
goto yy87;
-yy995:
+yy1000:
yych = *++cursor_;
- if (yych == 'o') goto yy1043;
+ if (yych == 'o') goto yy1048;
goto yy87;
-yy996:
+yy1001:
yych = *++cursor_;
- if (yych == '_') goto yy1044;
+ if (yych == '_') goto yy1049;
goto yy87;
-yy997:
+yy1002:
yych = *++cursor_;
- if (yych == 'n') goto yy1045;
+ if (yych == 'n') goto yy1050;
goto yy87;
-yy998:
+yy1003:
yych = *++cursor_;
- if (yych == 'f') goto yy1047;
+ if (yych == 'f') goto yy1052;
goto yy87;
-yy999:
+yy1004:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 328 "src/wast-lexer.cc"
{ OPCODE(F32Nearest); RETURN(UNARY); }
-#line 5521 "src/prebuilt/wast-lexer-gen.cc"
-yy1001:
+#line 5542 "src/prebuilt/wast-lexer-gen.cc"
+yy1006:
yych = *++cursor_;
- if (yych == 'p') goto yy1048;
+ if (yych == 'p') goto yy1053;
goto yy87;
-yy1002:
+yy1007:
yych = *++cursor_;
- if (yych == '_') goto yy1049;
+ if (yych == '_') goto yy1054;
goto yy87;
-yy1003:
+yy1008:
yych = *++cursor_;
- if (yych == 'n') goto yy1050;
+ if (yych == 'n') goto yy1055;
goto yy87;
-yy1004:
+yy1009:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 329 "src/wast-lexer.cc"
{ OPCODE(F64Nearest); RETURN(UNARY); }
-#line 5541 "src/prebuilt/wast-lexer-gen.cc"
-yy1006:
+#line 5562 "src/prebuilt/wast-lexer-gen.cc"
+yy1011:
yych = *++cursor_;
- if (yych == '/') goto yy1052;
+ if (yych == '/') goto yy1057;
goto yy87;
-yy1007:
+yy1012:
yych = *++cursor_;
- if (yych == 'p') goto yy1053;
+ if (yych == 'p') goto yy1058;
goto yy87;
-yy1008:
+yy1013:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 434 "src/wast-lexer.cc"
{ RETURN(GROW_MEMORY); }
-#line 5557 "src/prebuilt/wast-lexer-gen.cc"
-yy1010:
+#line 5578 "src/prebuilt/wast-lexer-gen.cc"
+yy1015:
yych = *++cursor_;
- if (yych == 's') goto yy1054;
- if (yych == 'u') goto yy1056;
+ if (yych == 's') goto yy1059;
+ if (yych == 'u') goto yy1061;
goto yy87;
-yy1011:
+yy1016:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 287 "src/wast-lexer.cc"
{ OPCODE(I32Load8S); RETURN(LOAD); }
-#line 5570 "src/prebuilt/wast-lexer-gen.cc"
-yy1013:
+#line 5591 "src/prebuilt/wast-lexer-gen.cc"
+yy1018:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 289 "src/wast-lexer.cc"
{ OPCODE(I32Load8U); RETURN(LOAD); }
-#line 5578 "src/prebuilt/wast-lexer-gen.cc"
-yy1015:
+#line 5599 "src/prebuilt/wast-lexer-gen.cc"
+yy1020:
yych = *++cursor_;
- if (yych == 'p') goto yy1058;
+ if (yych == 'p') goto yy1063;
goto yy87;
-yy1016:
+yy1021:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 299 "src/wast-lexer.cc"
{ OPCODE(I32Store16); RETURN(STORE); }
-#line 5590 "src/prebuilt/wast-lexer-gen.cc"
-yy1018:
+#line 5611 "src/prebuilt/wast-lexer-gen.cc"
+yy1023:
yych = *++cursor_;
- if (yych == '/') goto yy1059;
+ if (yych == '/') goto yy1064;
goto yy87;
-yy1019:
+yy1024:
yych = *++cursor_;
- if (yych == '/') goto yy1060;
+ if (yych == '/') goto yy1065;
goto yy87;
-yy1020:
+yy1025:
yych = *++cursor_;
- if (yych == '4') goto yy1061;
+ if (yych == '4') goto yy1066;
goto yy87;
-yy1021:
+yy1026:
yych = *++cursor_;
- if (yych == 's') goto yy1063;
- if (yych == 'u') goto yy1064;
+ if (yych == 's') goto yy1068;
+ if (yych == 'u') goto yy1069;
goto yy87;
-yy1022:
+yy1027:
yych = *++cursor_;
- if (yych == 's') goto yy1065;
- if (yych == 'u') goto yy1067;
+ if (yych == 's') goto yy1070;
+ if (yych == 'u') goto yy1072;
goto yy87;
-yy1023:
+yy1028:
yych = *++cursor_;
- if (yych == 's') goto yy1069;
- if (yych == 'u') goto yy1071;
+ if (yych == 's') goto yy1074;
+ if (yych == 'u') goto yy1076;
goto yy87;
-yy1024:
+yy1029:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 288 "src/wast-lexer.cc"
{ OPCODE(I64Load8S); RETURN(LOAD); }
-#line 5625 "src/prebuilt/wast-lexer-gen.cc"
-yy1026:
+#line 5646 "src/prebuilt/wast-lexer-gen.cc"
+yy1031:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 290 "src/wast-lexer.cc"
{ OPCODE(I64Load8U); RETURN(LOAD); }
-#line 5633 "src/prebuilt/wast-lexer-gen.cc"
-yy1028:
+#line 5654 "src/prebuilt/wast-lexer-gen.cc"
+yy1033:
yych = *++cursor_;
- if (yych == 'p') goto yy1073;
+ if (yych == 'p') goto yy1078;
goto yy87;
-yy1029:
+yy1034:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 300 "src/wast-lexer.cc"
{ OPCODE(I64Store16); RETURN(STORE); }
-#line 5645 "src/prebuilt/wast-lexer-gen.cc"
-yy1031:
+#line 5666 "src/prebuilt/wast-lexer-gen.cc"
+yy1036:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 301 "src/wast-lexer.cc"
{ OPCODE(I64Store32); RETURN(STORE); }
-#line 5653 "src/prebuilt/wast-lexer-gen.cc"
-yy1033:
+#line 5674 "src/prebuilt/wast-lexer-gen.cc"
+yy1038:
yych = *++cursor_;
- if (yych == '/') goto yy1074;
+ if (yych == '/') goto yy1079;
goto yy87;
-yy1034:
+yy1039:
yych = *++cursor_;
- if (yych == '/') goto yy1075;
+ if (yych == '/') goto yy1080;
goto yy87;
-yy1035:
+yy1040:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 432 "src/wast-lexer.cc"
{ RETURN(UNREACHABLE); }
-#line 5669 "src/prebuilt/wast-lexer-gen.cc"
-yy1037:
+#line 5690 "src/prebuilt/wast-lexer-gen.cc"
+yy1042:
yych = *++cursor_;
- if (yych == 's') goto yy1076;
+ if (yych == 's') goto yy1081;
goto yy87;
-yy1038:
+yy1043:
yych = *++cursor_;
- if (yych == 'i') goto yy1077;
+ if (yych == 'i') goto yy1082;
goto yy87;
-yy1039:
+yy1044:
yych = *++cursor_;
- if (yych == 'r') goto yy1078;
+ if (yych == 'r') goto yy1083;
goto yy87;
-yy1040:
+yy1045:
yych = *++cursor_;
- if (yych == 'n') goto yy1079;
+ if (yych == 'n') goto yy1084;
goto yy87;
-yy1041:
+yy1046:
yych = *++cursor_;
- if (yych == 'k') goto yy1081;
+ if (yych == 'k') goto yy1086;
goto yy87;
-yy1042:
+yy1047:
yych = *++cursor_;
- if (yych == 't') goto yy1082;
+ if (yych == 't') goto yy1087;
goto yy87;
-yy1043:
+yy1048:
yych = *++cursor_;
- if (yych == 'r') goto yy1084;
+ if (yych == 'r') goto yy1089;
goto yy87;
-yy1044:
+yy1049:
yych = *++cursor_;
- if (yych == 's') goto yy1085;
- if (yych == 'u') goto yy1086;
+ if (yych == 's') goto yy1090;
+ if (yych == 'u') goto yy1091;
goto yy87;
-yy1045:
+yy1050:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 372 "src/wast-lexer.cc"
{ OPCODE(F32Copysign); RETURN(BINARY); }
-#line 5710 "src/prebuilt/wast-lexer-gen.cc"
-yy1047:
+#line 5731 "src/prebuilt/wast-lexer-gen.cc"
+yy1052:
yych = *++cursor_;
- if (yych == '6') goto yy1087;
+ if (yych == '6') goto yy1092;
goto yy87;
-yy1048:
+yy1053:
yych = *++cursor_;
- if (yych == 'r') goto yy1088;
+ if (yych == 'r') goto yy1093;
goto yy87;
-yy1049:
+yy1054:
yych = *++cursor_;
- if (yych == 's') goto yy1089;
- if (yych == 'u') goto yy1090;
+ if (yych == 's') goto yy1094;
+ if (yych == 'u') goto yy1095;
goto yy87;
-yy1050:
+yy1055:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 373 "src/wast-lexer.cc"
{ OPCODE(F64Copysign); RETURN(BINARY); }
-#line 5731 "src/prebuilt/wast-lexer-gen.cc"
-yy1052:
+#line 5752 "src/prebuilt/wast-lexer-gen.cc"
+yy1057:
yych = *++cursor_;
- if (yych == 'f') goto yy1091;
+ if (yych == 'f') goto yy1096;
goto yy87;
-yy1053:
+yy1058:
yych = *++cursor_;
- if (yych == 'r') goto yy1092;
+ if (yych == 'r') goto yy1097;
goto yy87;
-yy1054:
+yy1059:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 291 "src/wast-lexer.cc"
{ OPCODE(I32Load16S); RETURN(LOAD); }
-#line 5747 "src/prebuilt/wast-lexer-gen.cc"
-yy1056:
+#line 5768 "src/prebuilt/wast-lexer-gen.cc"
+yy1061:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 293 "src/wast-lexer.cc"
{ OPCODE(I32Load16U); RETURN(LOAD); }
-#line 5755 "src/prebuilt/wast-lexer-gen.cc"
-yy1058:
+#line 5776 "src/prebuilt/wast-lexer-gen.cc"
+yy1063:
yych = *++cursor_;
- if (yych == 'r') goto yy1093;
+ if (yych == 'r') goto yy1098;
goto yy87;
-yy1059:
+yy1064:
yych = *++cursor_;
- if (yych == 'f') goto yy1094;
+ if (yych == 'f') goto yy1099;
goto yy87;
-yy1060:
+yy1065:
yych = *++cursor_;
- if (yych == 'f') goto yy1095;
+ if (yych == 'f') goto yy1100;
goto yy87;
-yy1061:
+yy1066:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 408 "src/wast-lexer.cc"
{ OPCODE(I32WrapI64); RETURN(CONVERT); }
-#line 5775 "src/prebuilt/wast-lexer-gen.cc"
-yy1063:
+#line 5796 "src/prebuilt/wast-lexer-gen.cc"
+yy1068:
yych = *++cursor_;
- if (yych == '/') goto yy1096;
+ if (yych == '/') goto yy1101;
goto yy87;
-yy1064:
+yy1069:
yych = *++cursor_;
- if (yych == '/') goto yy1097;
+ if (yych == '/') goto yy1102;
goto yy87;
-yy1065:
+yy1070:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 292 "src/wast-lexer.cc"
{ OPCODE(I64Load16S); RETURN(LOAD); }
-#line 5791 "src/prebuilt/wast-lexer-gen.cc"
-yy1067:
+#line 5812 "src/prebuilt/wast-lexer-gen.cc"
+yy1072:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 294 "src/wast-lexer.cc"
{ OPCODE(I64Load16U); RETURN(LOAD); }
-#line 5799 "src/prebuilt/wast-lexer-gen.cc"
-yy1069:
+#line 5820 "src/prebuilt/wast-lexer-gen.cc"
+yy1074:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 295 "src/wast-lexer.cc"
{ OPCODE(I64Load32S); RETURN(LOAD); }
-#line 5807 "src/prebuilt/wast-lexer-gen.cc"
-yy1071:
+#line 5828 "src/prebuilt/wast-lexer-gen.cc"
+yy1076:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 296 "src/wast-lexer.cc"
{ OPCODE(I64Load32U); RETURN(LOAD); }
-#line 5815 "src/prebuilt/wast-lexer-gen.cc"
-yy1073:
+#line 5836 "src/prebuilt/wast-lexer-gen.cc"
+yy1078:
yych = *++cursor_;
- if (yych == 'r') goto yy1098;
+ if (yych == 'r') goto yy1103;
goto yy87;
-yy1074:
+yy1079:
yych = *++cursor_;
- if (yych == 'f') goto yy1099;
+ if (yych == 'f') goto yy1104;
goto yy87;
-yy1075:
+yy1080:
yych = *++cursor_;
- if (yych == 'f') goto yy1100;
+ if (yych == 'f') goto yy1105;
goto yy87;
-yy1076:
+yy1081:
yych = *++cursor_;
- if (yych == 't') goto yy1101;
+ if (yych == 't') goto yy1106;
goto yy87;
-yy1077:
+yy1082:
yych = *++cursor_;
- if (yych == 'd') goto yy1102;
+ if (yych == 'd') goto yy1107;
goto yy87;
-yy1078:
+yy1083:
yych = *++cursor_;
- if (yych == 'm') goto yy1104;
+ if (yych == 'm') goto yy1109;
goto yy87;
-yy1079:
+yy1084:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1080;
+ if (yych <= '"') goto yy1085;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1105;
+ if (yych <= '_') goto yy1110;
if (yych <= '~') goto yy86;
}
}
-yy1080:
-#line 458 "src/wast-lexer.cc"
+yy1085:
+#line 459 "src/wast-lexer.cc"
{ RETURN(ASSERT_RETURN); }
-#line 5860 "src/prebuilt/wast-lexer-gen.cc"
-yy1081:
+#line 5881 "src/prebuilt/wast-lexer-gen.cc"
+yy1086:
yych = *++cursor_;
- if (yych == 'a') goto yy1106;
+ if (yych == 'a') goto yy1111;
goto yy87;
-yy1082:
+yy1087:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 270 "src/wast-lexer.cc"
{ RETURN(CALL_INDIRECT); }
-#line 5872 "src/prebuilt/wast-lexer-gen.cc"
-yy1084:
- yych = *++cursor_;
- if (yych == 'y') goto yy1107;
- goto yy87;
-yy1085:
- yych = *++cursor_;
- if (yych == '/') goto yy1109;
- goto yy87;
-yy1086:
- yych = *++cursor_;
- if (yych == '/') goto yy1110;
- goto yy87;
-yy1087:
- yych = *++cursor_;
- if (yych == '4') goto yy1111;
- goto yy87;
-yy1088:
- yych = *++cursor_;
- if (yych == 'e') goto yy1113;
- goto yy87;
+#line 5893 "src/prebuilt/wast-lexer-gen.cc"
yy1089:
yych = *++cursor_;
- if (yych == '/') goto yy1114;
+ if (yych == 'y') goto yy1112;
goto yy87;
yy1090:
yych = *++cursor_;
- if (yych == '/') goto yy1115;
+ if (yych == '/') goto yy1114;
goto yy87;
yy1091:
yych = *++cursor_;
- if (yych == '3') goto yy1116;
+ if (yych == '/') goto yy1115;
goto yy87;
yy1092:
yych = *++cursor_;
- if (yych == 'e') goto yy1117;
+ if (yych == '4') goto yy1116;
goto yy87;
yy1093:
yych = *++cursor_;
@@ -5911,568 +5912,568 @@ yy1093:
goto yy87;
yy1094:
yych = *++cursor_;
- if (yych == '3') goto yy1119;
- if (yych == '6') goto yy1120;
+ if (yych == '/') goto yy1119;
goto yy87;
yy1095:
yych = *++cursor_;
- if (yych == '3') goto yy1121;
- if (yych == '6') goto yy1122;
+ if (yych == '/') goto yy1120;
goto yy87;
yy1096:
yych = *++cursor_;
- if (yych == 'i') goto yy1123;
+ if (yych == '3') goto yy1121;
goto yy87;
yy1097:
yych = *++cursor_;
- if (yych == 'i') goto yy1124;
+ if (yych == 'e') goto yy1122;
goto yy87;
yy1098:
yych = *++cursor_;
- if (yych == 'e') goto yy1125;
+ if (yych == 'e') goto yy1123;
goto yy87;
yy1099:
yych = *++cursor_;
- if (yych == '3') goto yy1126;
- if (yych == '6') goto yy1127;
+ if (yych == '3') goto yy1124;
+ if (yych == '6') goto yy1125;
goto yy87;
yy1100:
yych = *++cursor_;
- if (yych == '3') goto yy1128;
- if (yych == '6') goto yy1129;
+ if (yych == '3') goto yy1126;
+ if (yych == '6') goto yy1127;
goto yy87;
yy1101:
yych = *++cursor_;
- if (yych == 'i') goto yy1130;
+ if (yych == 'i') goto yy1128;
goto yy87;
yy1102:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 456 "src/wast-lexer.cc"
- { RETURN(ASSERT_INVALID); }
-#line 5956 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1129;
+ goto yy87;
+yy1103:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1130;
+ goto yy87;
yy1104:
yych = *++cursor_;
- if (yych == 'e') goto yy1131;
+ if (yych == '3') goto yy1131;
+ if (yych == '6') goto yy1132;
goto yy87;
yy1105:
yych = *++cursor_;
- if (yych == 'a') goto yy1132;
- if (yych == 'c') goto yy1133;
+ if (yych == '3') goto yy1133;
+ if (yych == '6') goto yy1134;
goto yy87;
yy1106:
yych = *++cursor_;
- if (yych == 'b') goto yy1134;
+ if (yych == 'i') goto yy1135;
goto yy87;
yy1107:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 433 "src/wast-lexer.cc"
- { RETURN(CURRENT_MEMORY); }
+#line 457 "src/wast-lexer.cc"
+ { RETURN(ASSERT_INVALID); }
#line 5977 "src/prebuilt/wast-lexer-gen.cc"
yy1109:
yych = *++cursor_;
- if (yych == 'i') goto yy1135;
+ if (yych == 'e') goto yy1136;
goto yy87;
yy1110:
yych = *++cursor_;
- if (yych == 'i') goto yy1136;
+ if (yych == 'a') goto yy1137;
+ if (yych == 'c') goto yy1138;
goto yy87;
yy1111:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy1139;
+ goto yy87;
+yy1112:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 426 "src/wast-lexer.cc"
- { OPCODE(F32DemoteF64); RETURN(CONVERT); }
-#line 5993 "src/prebuilt/wast-lexer-gen.cc"
-yy1113:
- yych = *++cursor_;
- if (yych == 't') goto yy1137;
- goto yy87;
+#line 433 "src/wast-lexer.cc"
+ { RETURN(CURRENT_MEMORY); }
+#line 5998 "src/prebuilt/wast-lexer-gen.cc"
yy1114:
yych = *++cursor_;
- if (yych == 'i') goto yy1138;
+ if (yych == 'i') goto yy1140;
goto yy87;
yy1115:
yych = *++cursor_;
- if (yych == 'i') goto yy1139;
+ if (yych == 'i') goto yy1141;
goto yy87;
yy1116:
- yych = *++cursor_;
- if (yych == '2') goto yy1140;
- goto yy87;
-yy1117:
- yych = *++cursor_;
- if (yych == 't') goto yy1142;
- goto yy87;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 426 "src/wast-lexer.cc"
+ { OPCODE(F32DemoteF64); RETURN(CONVERT); }
+#line 6014 "src/prebuilt/wast-lexer-gen.cc"
yy1118:
yych = *++cursor_;
- if (yych == 't') goto yy1143;
+ if (yych == 't') goto yy1142;
goto yy87;
yy1119:
yych = *++cursor_;
- if (yych == '2') goto yy1144;
+ if (yych == 'i') goto yy1143;
goto yy87;
yy1120:
yych = *++cursor_;
- if (yych == '4') goto yy1146;
+ if (yych == 'i') goto yy1144;
goto yy87;
yy1121:
yych = *++cursor_;
- if (yych == '2') goto yy1148;
+ if (yych == '2') goto yy1145;
goto yy87;
yy1122:
yych = *++cursor_;
- if (yych == '4') goto yy1150;
+ if (yych == 't') goto yy1147;
goto yy87;
yy1123:
yych = *++cursor_;
- if (yych == '3') goto yy1152;
+ if (yych == 't') goto yy1148;
goto yy87;
yy1124:
yych = *++cursor_;
- if (yych == '3') goto yy1153;
+ if (yych == '2') goto yy1149;
goto yy87;
yy1125:
yych = *++cursor_;
- if (yych == 't') goto yy1154;
+ if (yych == '4') goto yy1151;
goto yy87;
yy1126:
yych = *++cursor_;
- if (yych == '2') goto yy1155;
+ if (yych == '2') goto yy1153;
goto yy87;
yy1127:
yych = *++cursor_;
- if (yych == '4') goto yy1157;
+ if (yych == '4') goto yy1155;
goto yy87;
yy1128:
yych = *++cursor_;
- if (yych == '2') goto yy1159;
+ if (yych == '3') goto yy1157;
goto yy87;
yy1129:
yych = *++cursor_;
- if (yych == '4') goto yy1161;
+ if (yych == '3') goto yy1158;
goto yy87;
yy1130:
yych = *++cursor_;
- if (yych == 'o') goto yy1163;
+ if (yych == 't') goto yy1159;
goto yy87;
yy1131:
yych = *++cursor_;
- if (yych == 'd') goto yy1164;
+ if (yych == '2') goto yy1160;
goto yy87;
yy1132:
yych = *++cursor_;
- if (yych == 'r') goto yy1166;
+ if (yych == '4') goto yy1162;
goto yy87;
yy1133:
yych = *++cursor_;
- if (yych == 'a') goto yy1167;
+ if (yych == '2') goto yy1164;
goto yy87;
yy1134:
yych = *++cursor_;
- if (yych == 'l') goto yy1168;
+ if (yych == '4') goto yy1166;
goto yy87;
yy1135:
yych = *++cursor_;
- if (yych == '3') goto yy1169;
- if (yych == '6') goto yy1170;
+ if (yych == 'o') goto yy1168;
goto yy87;
yy1136:
yych = *++cursor_;
- if (yych == '3') goto yy1171;
- if (yych == '6') goto yy1172;
+ if (yych == 'd') goto yy1169;
goto yy87;
yy1137:
yych = *++cursor_;
- if (yych == '/') goto yy1173;
+ if (yych == 'r') goto yy1171;
goto yy87;
yy1138:
yych = *++cursor_;
+ if (yych == 'a') goto yy1172;
+ goto yy87;
+yy1139:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1173;
+ goto yy87;
+yy1140:
+ yych = *++cursor_;
if (yych == '3') goto yy1174;
if (yych == '6') goto yy1175;
goto yy87;
-yy1139:
+yy1141:
yych = *++cursor_;
if (yych == '3') goto yy1176;
if (yych == '6') goto yy1177;
goto yy87;
-yy1140:
+yy1142:
+ yych = *++cursor_;
+ if (yych == '/') goto yy1178;
+ goto yy87;
+yy1143:
+ yych = *++cursor_;
+ if (yych == '3') goto yy1179;
+ if (yych == '6') goto yy1180;
+ goto yy87;
+yy1144:
+ yych = *++cursor_;
+ if (yych == '3') goto yy1181;
+ if (yych == '6') goto yy1182;
+ goto yy87;
+yy1145:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 425 "src/wast-lexer.cc"
{ OPCODE(F64PromoteF32); RETURN(CONVERT); }
-#line 6113 "src/prebuilt/wast-lexer-gen.cc"
-yy1142:
+#line 6134 "src/prebuilt/wast-lexer-gen.cc"
+yy1147:
yych = *++cursor_;
- if (yych == '/') goto yy1178;
+ if (yych == '/') goto yy1183;
goto yy87;
-yy1143:
+yy1148:
yych = *++cursor_;
- if (yych == '/') goto yy1179;
+ if (yych == '/') goto yy1184;
goto yy87;
-yy1144:
+yy1149:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 409 "src/wast-lexer.cc"
{ OPCODE(I32TruncSF32); RETURN(CONVERT); }
-#line 6129 "src/prebuilt/wast-lexer-gen.cc"
-yy1146:
+#line 6150 "src/prebuilt/wast-lexer-gen.cc"
+yy1151:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 411 "src/wast-lexer.cc"
{ OPCODE(I32TruncSF64); RETURN(CONVERT); }
-#line 6137 "src/prebuilt/wast-lexer-gen.cc"
-yy1148:
+#line 6158 "src/prebuilt/wast-lexer-gen.cc"
+yy1153:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 413 "src/wast-lexer.cc"
{ OPCODE(I32TruncUF32); RETURN(CONVERT); }
-#line 6145 "src/prebuilt/wast-lexer-gen.cc"
-yy1150:
+#line 6166 "src/prebuilt/wast-lexer-gen.cc"
+yy1155:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 415 "src/wast-lexer.cc"
{ OPCODE(I32TruncUF64); RETURN(CONVERT); }
-#line 6153 "src/prebuilt/wast-lexer-gen.cc"
-yy1152:
+#line 6174 "src/prebuilt/wast-lexer-gen.cc"
+yy1157:
yych = *++cursor_;
- if (yych == '2') goto yy1180;
+ if (yych == '2') goto yy1185;
goto yy87;
-yy1153:
+yy1158:
yych = *++cursor_;
- if (yych == '2') goto yy1182;
+ if (yych == '2') goto yy1187;
goto yy87;
-yy1154:
+yy1159:
yych = *++cursor_;
- if (yych == '/') goto yy1184;
+ if (yych == '/') goto yy1189;
goto yy87;
-yy1155:
+yy1160:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 410 "src/wast-lexer.cc"
{ OPCODE(I64TruncSF32); RETURN(CONVERT); }
-#line 6173 "src/prebuilt/wast-lexer-gen.cc"
-yy1157:
+#line 6194 "src/prebuilt/wast-lexer-gen.cc"
+yy1162:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 412 "src/wast-lexer.cc"
{ OPCODE(I64TruncSF64); RETURN(CONVERT); }
-#line 6181 "src/prebuilt/wast-lexer-gen.cc"
-yy1159:
+#line 6202 "src/prebuilt/wast-lexer-gen.cc"
+yy1164:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 414 "src/wast-lexer.cc"
{ OPCODE(I64TruncUF32); RETURN(CONVERT); }
-#line 6189 "src/prebuilt/wast-lexer-gen.cc"
-yy1161:
+#line 6210 "src/prebuilt/wast-lexer-gen.cc"
+yy1166:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 416 "src/wast-lexer.cc"
{ OPCODE(I64TruncUF64); RETURN(CONVERT); }
-#line 6197 "src/prebuilt/wast-lexer-gen.cc"
-yy1163:
+#line 6218 "src/prebuilt/wast-lexer-gen.cc"
+yy1168:
yych = *++cursor_;
- if (yych == 'n') goto yy1185;
+ if (yych == 'n') goto yy1190;
goto yy87;
-yy1164:
+yy1169:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 455 "src/wast-lexer.cc"
+#line 456 "src/wast-lexer.cc"
{ RETURN(ASSERT_MALFORMED); }
-#line 6209 "src/prebuilt/wast-lexer-gen.cc"
-yy1166:
- yych = *++cursor_;
- if (yych == 'i') goto yy1187;
- goto yy87;
-yy1167:
- yych = *++cursor_;
- if (yych == 'n') goto yy1188;
- goto yy87;
-yy1168:
- yych = *++cursor_;
- if (yych == 'e') goto yy1189;
- goto yy87;
-yy1169:
- yych = *++cursor_;
- if (yych == '2') goto yy1191;
- goto yy87;
-yy1170:
- yych = *++cursor_;
- if (yych == '4') goto yy1193;
- goto yy87;
+#line 6230 "src/prebuilt/wast-lexer-gen.cc"
yy1171:
yych = *++cursor_;
- if (yych == '2') goto yy1195;
+ if (yych == 'i') goto yy1192;
goto yy87;
yy1172:
yych = *++cursor_;
- if (yych == '4') goto yy1197;
+ if (yych == 'n') goto yy1193;
goto yy87;
yy1173:
yych = *++cursor_;
- if (yych == 'i') goto yy1199;
+ if (yych == 'e') goto yy1194;
goto yy87;
yy1174:
yych = *++cursor_;
- if (yych == '2') goto yy1200;
+ if (yych == '2') goto yy1196;
goto yy87;
yy1175:
yych = *++cursor_;
- if (yych == '4') goto yy1202;
+ if (yych == '4') goto yy1198;
goto yy87;
yy1176:
yych = *++cursor_;
- if (yych == '2') goto yy1204;
+ if (yych == '2') goto yy1200;
goto yy87;
yy1177:
yych = *++cursor_;
- if (yych == '4') goto yy1206;
+ if (yych == '4') goto yy1202;
goto yy87;
yy1178:
yych = *++cursor_;
- if (yych == 'i') goto yy1208;
+ if (yych == 'i') goto yy1204;
goto yy87;
yy1179:
yych = *++cursor_;
- if (yych == 'f') goto yy1209;
+ if (yych == '2') goto yy1205;
goto yy87;
yy1180:
+ yych = *++cursor_;
+ if (yych == '4') goto yy1207;
+ goto yy87;
+yy1181:
+ yych = *++cursor_;
+ if (yych == '2') goto yy1209;
+ goto yy87;
+yy1182:
+ yych = *++cursor_;
+ if (yych == '4') goto yy1211;
+ goto yy87;
+yy1183:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1213;
+ goto yy87;
+yy1184:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1214;
+ goto yy87;
+yy1185:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 406 "src/wast-lexer.cc"
{ OPCODE(I64ExtendSI32); RETURN(CONVERT); }
-#line 6273 "src/prebuilt/wast-lexer-gen.cc"
-yy1182:
+#line 6294 "src/prebuilt/wast-lexer-gen.cc"
+yy1187:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 407 "src/wast-lexer.cc"
{ OPCODE(I64ExtendUI32); RETURN(CONVERT); }
-#line 6281 "src/prebuilt/wast-lexer-gen.cc"
-yy1184:
+#line 6302 "src/prebuilt/wast-lexer-gen.cc"
+yy1189:
yych = *++cursor_;
- if (yych == 'f') goto yy1210;
+ if (yych == 'f') goto yy1215;
goto yy87;
-yy1185:
+yy1190:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 464 "src/wast-lexer.cc"
+#line 465 "src/wast-lexer.cc"
{ RETURN(ASSERT_EXHAUSTION); }
-#line 6293 "src/prebuilt/wast-lexer-gen.cc"
-yy1187:
+#line 6314 "src/prebuilt/wast-lexer-gen.cc"
+yy1192:
yych = *++cursor_;
- if (yych == 't') goto yy1211;
+ if (yych == 't') goto yy1216;
goto yy87;
-yy1188:
+yy1193:
yych = *++cursor_;
- if (yych == 'o') goto yy1212;
+ if (yych == 'o') goto yy1217;
goto yy87;
-yy1189:
+yy1194:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 457 "src/wast-lexer.cc"
+#line 458 "src/wast-lexer.cc"
{ RETURN(ASSERT_UNLINKABLE); }
-#line 6309 "src/prebuilt/wast-lexer-gen.cc"
-yy1191:
+#line 6330 "src/prebuilt/wast-lexer-gen.cc"
+yy1196:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 417 "src/wast-lexer.cc"
{ OPCODE(F32ConvertSI32); RETURN(CONVERT); }
-#line 6317 "src/prebuilt/wast-lexer-gen.cc"
-yy1193:
+#line 6338 "src/prebuilt/wast-lexer-gen.cc"
+yy1198:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 419 "src/wast-lexer.cc"
{ OPCODE(F32ConvertSI64); RETURN(CONVERT); }
-#line 6325 "src/prebuilt/wast-lexer-gen.cc"
-yy1195:
+#line 6346 "src/prebuilt/wast-lexer-gen.cc"
+yy1200:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 421 "src/wast-lexer.cc"
{ OPCODE(F32ConvertUI32); RETURN(CONVERT); }
-#line 6333 "src/prebuilt/wast-lexer-gen.cc"
-yy1197:
+#line 6354 "src/prebuilt/wast-lexer-gen.cc"
+yy1202:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 423 "src/wast-lexer.cc"
{ OPCODE(F32ConvertUI64); RETURN(CONVERT); }
-#line 6341 "src/prebuilt/wast-lexer-gen.cc"
-yy1199:
+#line 6362 "src/prebuilt/wast-lexer-gen.cc"
+yy1204:
yych = *++cursor_;
- if (yych == '3') goto yy1213;
+ if (yych == '3') goto yy1218;
goto yy87;
-yy1200:
+yy1205:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 418 "src/wast-lexer.cc"
{ OPCODE(F64ConvertSI32); RETURN(CONVERT); }
-#line 6353 "src/prebuilt/wast-lexer-gen.cc"
-yy1202:
+#line 6374 "src/prebuilt/wast-lexer-gen.cc"
+yy1207:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 420 "src/wast-lexer.cc"
{ OPCODE(F64ConvertSI64); RETURN(CONVERT); }
-#line 6361 "src/prebuilt/wast-lexer-gen.cc"
-yy1204:
+#line 6382 "src/prebuilt/wast-lexer-gen.cc"
+yy1209:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 422 "src/wast-lexer.cc"
{ OPCODE(F64ConvertUI32); RETURN(CONVERT); }
-#line 6369 "src/prebuilt/wast-lexer-gen.cc"
-yy1206:
+#line 6390 "src/prebuilt/wast-lexer-gen.cc"
+yy1211:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 424 "src/wast-lexer.cc"
{ OPCODE(F64ConvertUI64); RETURN(CONVERT); }
-#line 6377 "src/prebuilt/wast-lexer-gen.cc"
-yy1208:
+#line 6398 "src/prebuilt/wast-lexer-gen.cc"
+yy1213:
yych = *++cursor_;
- if (yych == '6') goto yy1214;
+ if (yych == '6') goto yy1219;
goto yy87;
-yy1209:
+yy1214:
yych = *++cursor_;
- if (yych == '3') goto yy1215;
+ if (yych == '3') goto yy1220;
goto yy87;
-yy1210:
+yy1215:
yych = *++cursor_;
- if (yych == '6') goto yy1216;
+ if (yych == '6') goto yy1221;
goto yy87;
-yy1211:
+yy1216:
yych = *++cursor_;
- if (yych == 'h') goto yy1217;
+ if (yych == 'h') goto yy1222;
goto yy87;
-yy1212:
+yy1217:
yych = *++cursor_;
- if (yych == 'n') goto yy1218;
+ if (yych == 'n') goto yy1223;
goto yy87;
-yy1213:
+yy1218:
yych = *++cursor_;
- if (yych == '2') goto yy1219;
+ if (yych == '2') goto yy1224;
goto yy87;
-yy1214:
+yy1219:
yych = *++cursor_;
- if (yych == '4') goto yy1221;
+ if (yych == '4') goto yy1226;
goto yy87;
-yy1215:
+yy1220:
yych = *++cursor_;
- if (yych == '2') goto yy1223;
+ if (yych == '2') goto yy1228;
goto yy87;
-yy1216:
+yy1221:
yych = *++cursor_;
- if (yych == '4') goto yy1225;
+ if (yych == '4') goto yy1230;
goto yy87;
-yy1217:
+yy1222:
yych = *++cursor_;
- if (yych == 'm') goto yy1227;
+ if (yych == 'm') goto yy1232;
goto yy87;
-yy1218:
+yy1223:
yych = *++cursor_;
- if (yych == 'i') goto yy1228;
+ if (yych == 'i') goto yy1233;
goto yy87;
-yy1219:
+yy1224:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 427 "src/wast-lexer.cc"
{ OPCODE(F32ReinterpretI32); RETURN(CONVERT); }
-#line 6429 "src/prebuilt/wast-lexer-gen.cc"
-yy1221:
+#line 6450 "src/prebuilt/wast-lexer-gen.cc"
+yy1226:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 429 "src/wast-lexer.cc"
{ OPCODE(F64ReinterpretI64); RETURN(CONVERT); }
-#line 6437 "src/prebuilt/wast-lexer-gen.cc"
-yy1223:
+#line 6458 "src/prebuilt/wast-lexer-gen.cc"
+yy1228:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 428 "src/wast-lexer.cc"
{ OPCODE(I32ReinterpretF32); RETURN(CONVERT); }
-#line 6445 "src/prebuilt/wast-lexer-gen.cc"
-yy1225:
+#line 6466 "src/prebuilt/wast-lexer-gen.cc"
+yy1230:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 430 "src/wast-lexer.cc"
{ OPCODE(I64ReinterpretF64); RETURN(CONVERT); }
-#line 6453 "src/prebuilt/wast-lexer-gen.cc"
-yy1227:
- yych = *++cursor_;
- if (yych == 'e') goto yy1229;
- goto yy87;
-yy1228:
- yych = *++cursor_;
- if (yych == 'c') goto yy1230;
- goto yy87;
-yy1229:
- yych = *++cursor_;
- if (yych == 't') goto yy1231;
- goto yy87;
-yy1230:
- yych = *++cursor_;
- if (yych == 'a') goto yy1232;
- goto yy87;
-yy1231:
- yych = *++cursor_;
- if (yych == 'i') goto yy1233;
- goto yy87;
+#line 6474 "src/prebuilt/wast-lexer-gen.cc"
yy1232:
yych = *++cursor_;
- if (yych == 'l') goto yy1234;
+ if (yych == 'e') goto yy1234;
goto yy87;
yy1233:
yych = *++cursor_;
@@ -6480,57 +6481,77 @@ yy1233:
goto yy87;
yy1234:
yych = *++cursor_;
- if (yych == '_') goto yy1236;
+ if (yych == 't') goto yy1236;
goto yy87;
yy1235:
yych = *++cursor_;
- if (yych == '_') goto yy1237;
+ if (yych == 'a') goto yy1237;
goto yy87;
yy1236:
yych = *++cursor_;
- if (yych == 'n') goto yy1238;
+ if (yych == 'i') goto yy1238;
goto yy87;
yy1237:
yych = *++cursor_;
- if (yych == 'n') goto yy1239;
+ if (yych == 'l') goto yy1239;
goto yy87;
yy1238:
yych = *++cursor_;
- if (yych == 'a') goto yy1240;
+ if (yych == 'c') goto yy1240;
goto yy87;
yy1239:
yych = *++cursor_;
- if (yych == 'a') goto yy1241;
+ if (yych == '_') goto yy1241;
goto yy87;
yy1240:
yych = *++cursor_;
- if (yych == 'n') goto yy1242;
+ if (yych == '_') goto yy1242;
goto yy87;
yy1241:
yych = *++cursor_;
- if (yych == 'n') goto yy1244;
+ if (yych == 'n') goto yy1243;
goto yy87;
yy1242:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1244;
+ goto yy87;
+yy1243:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1245;
+ goto yy87;
+yy1244:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1246;
+ goto yy87;
+yy1245:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1247;
+ goto yy87;
+yy1246:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1249;
+ goto yy87;
+yy1247:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 459 "src/wast-lexer.cc"
+#line 460 "src/wast-lexer.cc"
{
RETURN(ASSERT_RETURN_CANONICAL_NAN); }
-#line 6522 "src/prebuilt/wast-lexer-gen.cc"
-yy1244:
+#line 6543 "src/prebuilt/wast-lexer-gen.cc"
+yy1249:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 461 "src/wast-lexer.cc"
+#line 462 "src/wast-lexer.cc"
{
RETURN(ASSERT_RETURN_ARITHMETIC_NAN); }
-#line 6531 "src/prebuilt/wast-lexer-gen.cc"
+#line 6552 "src/prebuilt/wast-lexer-gen.cc"
}
}
-#line 490 "src/wast-lexer.cc"
+#line 491 "src/wast-lexer.cc"
}
}
diff --git a/src/prebuilt/wast-parser-gen.cc b/src/prebuilt/wast-parser-gen.cc
index d945322e..0744dd33 100644
--- a/src/prebuilt/wast-parser-gen.cc
+++ b/src/prebuilt/wast-parser-gen.cc
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -152,12 +152,12 @@
} \
} while (0)
-#define CHECK_ALLOW_EXCEPTIONS(loc, opcode_name) \
- do { \
- if (!parser->options->allow_exceptions) { \
- wast_parser_error(loc, lexer, parser, "opcode not allowed: %s", \
- opcode_name); \
- } \
+#define CHECK_ALLOW_EXCEPTIONS(loc, opcode_name) \
+ do { \
+ if (!parser->options->allow_exceptions) { \
+ wast_parser_error(loc, lexer, parser, "opcode not allowed: %s", \
+ opcode_name); \
+ } \
} while (0)
#define YYMALLOC(size) new char [size]
@@ -315,21 +315,22 @@ extern int wabt_wast_parser_debug;
WABT_TOKEN_TYPE_OFFSET = 316,
WABT_TOKEN_TYPE_IMPORT = 317,
WABT_TOKEN_TYPE_EXPORT = 318,
- WABT_TOKEN_TYPE_MODULE = 319,
- WABT_TOKEN_TYPE_BIN = 320,
- WABT_TOKEN_TYPE_QUOTE = 321,
- WABT_TOKEN_TYPE_REGISTER = 322,
- WABT_TOKEN_TYPE_INVOKE = 323,
- WABT_TOKEN_TYPE_GET = 324,
- WABT_TOKEN_TYPE_ASSERT_MALFORMED = 325,
- WABT_TOKEN_TYPE_ASSERT_INVALID = 326,
- WABT_TOKEN_TYPE_ASSERT_UNLINKABLE = 327,
- WABT_TOKEN_TYPE_ASSERT_RETURN = 328,
- WABT_TOKEN_TYPE_ASSERT_RETURN_CANONICAL_NAN = 329,
- WABT_TOKEN_TYPE_ASSERT_RETURN_ARITHMETIC_NAN = 330,
- WABT_TOKEN_TYPE_ASSERT_TRAP = 331,
- WABT_TOKEN_TYPE_ASSERT_EXHAUSTION = 332,
- WABT_TOKEN_TYPE_LOW = 333
+ WABT_TOKEN_TYPE_EXCEPT = 319,
+ WABT_TOKEN_TYPE_MODULE = 320,
+ WABT_TOKEN_TYPE_BIN = 321,
+ WABT_TOKEN_TYPE_QUOTE = 322,
+ WABT_TOKEN_TYPE_REGISTER = 323,
+ WABT_TOKEN_TYPE_INVOKE = 324,
+ WABT_TOKEN_TYPE_GET = 325,
+ WABT_TOKEN_TYPE_ASSERT_MALFORMED = 326,
+ WABT_TOKEN_TYPE_ASSERT_INVALID = 327,
+ WABT_TOKEN_TYPE_ASSERT_UNLINKABLE = 328,
+ WABT_TOKEN_TYPE_ASSERT_RETURN = 329,
+ WABT_TOKEN_TYPE_ASSERT_RETURN_CANONICAL_NAN = 330,
+ WABT_TOKEN_TYPE_ASSERT_RETURN_ARITHMETIC_NAN = 331,
+ WABT_TOKEN_TYPE_ASSERT_TRAP = 332,
+ WABT_TOKEN_TYPE_ASSERT_EXHAUSTION = 333,
+ WABT_TOKEN_TYPE_LOW = 334
};
#endif
@@ -362,7 +363,7 @@ int wabt_wast_parser_parse (::wabt::WastLexer* lexer, ::wabt::WastParser* parser
/* Copy the second part of user declarations. */
-#line 366 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:358 */
+#line 367 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:358 */
#ifdef short
# undef short
@@ -604,23 +605,23 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 49
+#define YYFINAL 52
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 980
+#define YYLAST 1148
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 79
+#define YYNTOKENS 80
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 83
+#define YYNNTS 87
/* YYNRULES -- Number of rules. */
-#define YYNRULES 207
+#define YYNRULES 216
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 464
+#define YYNSTATES 477
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 333
+#define YYMAXUTOK 334
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -662,34 +663,35 @@ static const yytype_uint8 yytranslate[] =
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78
+ 75, 76, 77, 78, 79
};
#if WABT_WAST_PARSER_DEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 260, 260, 266, 276, 277, 281, 299, 300, 306,
- 309, 314, 322, 326, 327, 332, 341, 342, 350, 356,
- 362, 367, 374, 380, 391, 395, 399, 406, 410, 418,
- 419, 426, 427, 430, 434, 435, 439, 440, 456, 457,
- 472, 473, 474, 478, 481, 484, 487, 490, 494, 498,
- 502, 505, 509, 513, 517, 521, 525, 529, 533, 536,
- 539, 552, 555, 558, 561, 564, 567, 570, 574, 581,
- 586, 591, 596, 602, 610, 613, 618, 625, 630, 638,
- 639, 645, 649, 652, 657, 662, 668, 676, 679, 685,
- 693, 696, 700, 704, 708, 712, 716, 723, 728, 734,
- 740, 741, 749, 750, 758, 763, 777, 785, 790, 801,
- 809, 820, 827, 828, 834, 844, 845, 854, 861, 862,
- 868, 878, 879, 888, 895, 899, 904, 916, 919, 923,
- 933, 947, 961, 967, 975, 983, 1003, 1013, 1027, 1041,
- 1046, 1054, 1062, 1086, 1100, 1106, 1114, 1127, 1136, 1144,
- 1150, 1156, 1165, 1175, 1183, 1189, 1195, 1201, 1209, 1218,
- 1228, 1235, 1246, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
- 1262, 1263, 1264, 1268, 1269, 1273, 1278, 1286, 1306, 1313,
- 1316, 1324, 1342, 1350, 1361, 1372, 1383, 1389, 1395, 1401,
- 1407, 1413, 1418, 1423, 1429, 1438, 1443, 1444, 1449, 1459,
- 1463, 1470, 1482, 1483, 1490, 1493, 1553, 1565
+ 0, 262, 262, 268, 278, 279, 283, 301, 302, 308,
+ 311, 316, 324, 328, 329, 334, 343, 344, 352, 358,
+ 364, 369, 376, 382, 393, 397, 401, 408, 412, 420,
+ 421, 428, 429, 432, 436, 437, 441, 442, 458, 459,
+ 474, 475, 476, 480, 483, 486, 489, 492, 496, 500,
+ 504, 507, 511, 515, 519, 523, 527, 531, 535, 538,
+ 541, 554, 557, 560, 563, 566, 569, 572, 576, 583,
+ 588, 593, 598, 604, 612, 615, 620, 627, 632, 639,
+ 640, 646, 650, 653, 658, 663, 669, 677, 683, 687,
+ 691, 704, 707, 713, 721, 724, 728, 732, 736, 740,
+ 744, 751, 756, 762, 768, 769, 777, 778, 786, 791,
+ 799, 808, 822, 830, 835, 846, 854, 865, 872, 873,
+ 879, 889, 890, 899, 906, 907, 913, 923, 924, 933,
+ 940, 944, 949, 961, 964, 968, 978, 992, 1006, 1012,
+ 1020, 1028, 1048, 1058, 1072, 1086, 1091, 1099, 1107, 1131,
+ 1145, 1151, 1159, 1172, 1181, 1189, 1195, 1201, 1207, 1215,
+ 1225, 1233, 1239, 1245, 1251, 1257, 1265, 1274, 1284, 1291,
+ 1302, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
+ 1320, 1321, 1325, 1326, 1330, 1335, 1343, 1363, 1370, 1373,
+ 1381, 1399, 1407, 1418, 1429, 1440, 1446, 1452, 1458, 1464,
+ 1470, 1475, 1480, 1486, 1495, 1500, 1501, 1506, 1516, 1520,
+ 1527, 1539, 1540, 1547, 1550, 1610, 1622
};
#endif
@@ -707,9 +709,9 @@ static const char *const yytname[] =
"UNARY", "BINARY", "COMPARE", "CONVERT", "SELECT", "UNREACHABLE",
"CURRENT_MEMORY", "GROW_MEMORY", "FUNC", "START", "TYPE", "PARAM",
"RESULT", "LOCAL", "GLOBAL", "TABLE", "ELEM", "MEMORY", "DATA", "OFFSET",
- "IMPORT", "EXPORT", "MODULE", "BIN", "QUOTE", "REGISTER", "INVOKE",
- "GET", "ASSERT_MALFORMED", "ASSERT_INVALID", "ASSERT_UNLINKABLE",
- "ASSERT_RETURN", "ASSERT_RETURN_CANONICAL_NAN",
+ "IMPORT", "EXPORT", "EXCEPT", "MODULE", "BIN", "QUOTE", "REGISTER",
+ "INVOKE", "GET", "ASSERT_MALFORMED", "ASSERT_INVALID",
+ "ASSERT_UNLINKABLE", "ASSERT_RETURN", "ASSERT_RETURN_CANONICAL_NAN",
"ASSERT_RETURN_ARITHMETIC_NAN", "ASSERT_TRAP", "ASSERT_EXHAUSTION",
"LOW", "$accept", "text_list", "text_list_opt", "quoted_text",
"value_type_list", "elem_type", "global_type", "func_type", "func_sig",
@@ -717,9 +719,10 @@ static const char *const yytname[] =
"nat", "literal", "var", "var_list", "bind_var_opt", "bind_var",
"labeling_opt", "offset_opt", "align_opt", "instr", "plain_instr",
"block_instr", "block_sig", "block", "catch_instr", "catch_instr_list",
- "expr", "expr1", "catch_list", "if_block", "if_", "rethrow_check",
- "throw_check", "try_check", "instr_list", "expr_list", "const_expr",
- "func", "func_fields", "func_fields_import", "func_fields_import1",
+ "expr", "expr1", "try_", "try_instr_list", "catch_list", "if_block",
+ "if_", "rethrow_check", "throw_check", "try_check", "instr_list",
+ "expr_list", "const_expr", "exception", "exception_field", "func",
+ "func_fields", "func_fields_import", "func_fields_import1",
"func_fields_import_result", "func_fields_body", "func_fields_body1",
"func_result_body", "func_body", "func_body1", "offset", "elem", "table",
"table_fields", "data", "memory", "memory_fields", "global",
@@ -743,14 +746,14 @@ static const yytype_uint16 yytoknum[] =
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334
};
# endif
-#define YYPACT_NINF -371
+#define YYPACT_NINF -378
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-371)))
+ (!!((Yystate) == (-378)))
#define YYTABLE_NINF -31
@@ -761,53 +764,54 @@ static const yytype_uint16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 27, 903, -371, -371, -371, -371, -371, -371, -371, -371,
- -371, -371, -371, 68, -371, -371, -371, -371, -371, -371,
- 125, -371, 66, 159, 33, 85, 159, 159, 148, 159,
- 148, 162, 162, 159, 162, 175, 175, 197, 197, 197,
- 202, 202, 202, 222, 202, 229, -371, 140, -371, -371,
- -371, 442, -371, -371, -371, -371, 227, 184, 233, 236,
- 97, 132, 393, 253, -371, -371, 103, 253, 255, -371,
- 162, 265, 46, 175, -371, 162, 162, 208, 162, 162,
- 162, 70, -371, 274, 280, 134, 162, 162, 162, 349,
- -371, -371, 159, 159, 159, 33, 33, -371, -371, -371,
- -371, 33, 33, -371, 33, 33, 33, 33, 33, 256,
- 256, 111, -371, -371, -371, -371, -371, -371, -371, -371,
- 479, 516, -371, -371, -371, 33, 33, 159, -371, 294,
- -371, -371, -371, -371, -371, 297, 442, -371, 304, -371,
- 305, 28, -371, 516, 308, 119, 97, 199, -371, 312,
- -371, 306, 303, 319, 303, 132, 159, 159, 159, 516,
- 313, 320, 324, -371, 48, 96, -371, -371, 325, 303,
- 103, 255, -371, 323, 332, 334, 91, 335, 255, 255,
- 338, 68, 342, -371, 344, 345, 347, 348, 267, -371,
- -371, 351, 352, 353, 33, 159, -371, 159, 162, 162,
- -371, 553, 553, 553, -371, -371, 33, -371, -371, -371,
- -371, -371, -371, -371, -371, 288, 288, -371, -371, -371,
- -371, 664, -371, 902, -371, -371, -371, 553, -371, 188,
- 357, -371, -371, -371, -371, 221, 361, -371, -371, 328,
- -371, -371, -371, 355, -371, -371, 310, -371, -371, -371,
- -371, -371, 553, 371, 553, 384, 313, -371, -371, 360,
- 214, -371, -371, 255, -371, -371, -371, 385, -371, -371,
- 115, 395, 33, 33, 33, 33, -371, 138, 220, -371,
- -371, 279, -371, -371, -371, -371, 359, -371, -371, -371,
- -371, -371, 401, 151, 399, 165, 173, 408, 162, 415,
- 827, 553, 416, -371, 163, 417, 224, -371, -371, -371,
- 268, 159, -371, 250, -371, 159, -371, -371, 439, -371,
- -371, 789, 371, 441, -371, -371, -371, -371, -371, 159,
- -371, 443, -371, 159, 159, 159, 159, -371, 444, 445,
- 446, 447, -371, -371, -371, 111, -371, 479, -371, 448,
- 590, 627, 449, 454, -371, -371, -371, 159, 159, 159,
- 159, 33, 33, 268, 430, 176, 450, 177, 185, 451,
- 187, -371, 217, 516, -371, 865, 313, 553, -371, 464,
- 119, 303, 303, -371, -371, -371, -371, 477, -371, 479,
- 707, -371, 750, -371, 627, -371, 189, -371, -371, 516,
- -371, 516, 516, -371, 159, 357, 491, 465, 304, 493,
- 495, -371, 500, 516, -371, 501, 206, 514, 528, 530,
- 531, 537, -371, -371, -371, -371, 526, -371, -371, -371,
- -371, 357, 515, -371, -371, 304, 517, -371, 552, 568,
- 575, -371, -371, -371, -371, -371, 159, -371, -371, 560,
- 589, 268, -371, -371, 516, 587, 604, 605, 516, 575,
- -371, 611, -371, -371
+ 25, 1070, -378, -378, -378, -378, -378, -378, -378, -378,
+ -378, -378, -378, -378, -378, 36, -378, -378, -378, -378,
+ -378, -378, 52, -378, 84, 85, 134, 145, 85, 85,
+ 146, 85, 146, 107, 107, 85, 85, 107, 138, 138,
+ 162, 162, 162, 179, 179, 179, 211, 179, 148, -378,
+ 222, -378, -378, -378, 462, -378, -378, -378, -378, 224,
+ 185, 258, 242, 51, 118, 413, 261, -378, -378, 67,
+ 261, 271, -378, 107, 279, -378, 14, 138, -378, 107,
+ 107, 223, 107, 107, 107, 104, -378, 307, 311, 127,
+ 107, 107, 107, 369, -378, -378, 85, 85, 85, 134,
+ 134, -378, -378, -378, -378, 134, 134, -378, 134, 134,
+ 134, 134, 134, 281, 281, 151, -378, -378, -378, -378,
+ -378, -378, -378, -378, 499, 536, -378, -378, -378, 134,
+ 134, 85, -378, 317, -378, -378, -378, -378, -378, 319,
+ 462, -378, 320, -378, 322, 33, -378, 536, 323, 106,
+ 51, 131, -378, 325, -378, 324, 326, 329, 326, 118,
+ 85, 85, 85, 536, 327, 330, 85, -378, 126, 121,
+ -378, -378, 333, 326, 67, 271, -378, 331, 334, 338,
+ 159, 343, 27, 271, 271, 345, 36, 347, -378, 349,
+ 350, 351, 352, 264, -378, -378, 353, 354, 356, 134,
+ 85, -378, 85, 107, 107, -378, 573, 573, 573, -378,
+ -378, 134, -378, -378, -378, -378, -378, -378, -378, -378,
+ 328, 328, -378, -378, -378, -378, 758, -378, 1069, -378,
+ -378, -378, 573, -378, 200, 361, -378, -378, -378, -378,
+ 248, 370, -378, -378, 355, -378, -378, -378, 363, -378,
+ -378, 315, -378, -378, -378, -378, -378, 573, 373, 573,
+ 381, 327, -378, -378, 610, 232, -378, -378, 271, -378,
+ -378, -378, 384, -378, -378, 170, -378, 390, 134, 134,
+ 134, 134, 134, -378, -378, -378, 213, 240, -378, -378,
+ 282, -378, -378, -378, -378, 336, -378, -378, -378, -378,
+ -378, 391, 157, 398, 165, 176, 399, 107, 415, 957,
+ 573, 404, -378, 247, 409, 241, -378, -378, -378, 288,
+ 85, -378, 263, -378, 85, -378, -378, 425, -378, -378,
+ 919, 373, 435, -378, -378, -378, -378, -378, 881, 647,
+ 610, -378, -378, -378, -378, 448, -378, 85, 85, 85,
+ 85, -378, 449, 459, 460, 463, 464, -378, -378, -378,
+ 151, -378, 499, 465, 684, 721, 466, 467, -378, -378,
+ -378, 85, 85, 85, 85, 134, 536, 288, 423, 181,
+ 456, 191, 209, 468, 221, -378, 238, 536, -378, 1032,
+ 327, 469, 995, -378, -378, -378, 477, 106, 326, 326,
+ -378, -378, -378, -378, -378, 483, -378, 499, 801, -378,
+ 844, -378, 721, -378, 228, -378, -378, 536, -378, 536,
+ -378, -378, 85, 361, 484, 478, 320, 497, 512, -378,
+ 513, 536, -378, 515, 219, 520, 521, 534, 548, 550,
+ -378, -378, -378, -378, 539, -378, -378, -378, 361, 418,
+ -378, -378, 320, 507, -378, 559, 571, 288, -378, -378,
+ -378, -378, -378, -378, 85, -378, -378, 570, 588, -378,
+ 536, 579, 595, 536, -378, 608, -378
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -815,81 +819,82 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 204, 0, 167, 168, 165, 169, 166, 164, 171, 172,
- 163, 170, 175, 178, 197, 206, 177, 195, 196, 199,
- 205, 207, 0, 31, 0, 0, 31, 31, 0, 31,
- 0, 0, 0, 31, 0, 179, 179, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 176, 0, 200, 1,
- 33, 100, 32, 23, 28, 27, 0, 0, 0, 0,
- 0, 0, 0, 0, 128, 29, 0, 0, 4, 6,
- 0, 0, 173, 179, 180, 0, 0, 0, 0, 0,
- 0, 0, 202, 0, 0, 0, 0, 0, 0, 0,
- 44, 45, 34, 34, 34, 0, 0, 29, 99, 98,
- 97, 0, 0, 50, 0, 0, 0, 0, 0, 36,
- 36, 0, 61, 62, 63, 64, 46, 43, 65, 66,
- 100, 100, 40, 41, 42, 0, 0, 34, 124, 0,
- 107, 117, 118, 121, 123, 115, 100, 162, 16, 160,
- 0, 0, 10, 100, 0, 0, 0, 0, 9, 0,
- 132, 0, 20, 0, 0, 0, 34, 34, 34, 100,
- 102, 0, 0, 29, 0, 0, 139, 19, 0, 0,
- 0, 4, 2, 5, 0, 0, 0, 0, 0, 0,
- 0, 174, 0, 202, 0, 0, 0, 0, 0, 191,
- 192, 0, 0, 0, 0, 7, 7, 7, 0, 0,
- 35, 100, 100, 100, 47, 48, 0, 51, 52, 53,
- 54, 55, 56, 57, 37, 38, 38, 24, 25, 26,
- 60, 0, 106, 0, 101, 68, 67, 100, 105, 0,
- 115, 109, 111, 112, 110, 0, 0, 13, 161, 0,
- 104, 144, 143, 0, 145, 146, 0, 18, 21, 131,
- 133, 134, 100, 0, 100, 0, 102, 82, 81, 0,
- 0, 130, 30, 4, 138, 140, 141, 0, 3, 137,
- 0, 0, 0, 0, 0, 0, 158, 0, 0, 181,
- 198, 0, 185, 186, 187, 188, 0, 190, 203, 189,
- 193, 194, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 100, 0, 76, 0, 0, 49, 39, 58, 59,
- 0, 7, 7, 0, 108, 7, 7, 12, 0, 29,
- 83, 0, 0, 0, 85, 90, 84, 127, 103, 34,
- 129, 0, 136, 31, 31, 31, 31, 152, 0, 0,
- 0, 0, 182, 183, 184, 0, 22, 100, 8, 0,
- 100, 100, 0, 0, 159, 7, 75, 34, 34, 34,
- 34, 0, 0, 79, 0, 0, 0, 0, 0, 0,
- 0, 11, 0, 100, 89, 0, 96, 100, 142, 16,
- 0, 0, 0, 154, 157, 155, 156, 0, 119, 100,
- 0, 122, 0, 125, 100, 153, 0, 69, 71, 100,
- 70, 100, 100, 80, 34, 115, 0, 115, 16, 0,
- 16, 135, 0, 100, 95, 0, 0, 0, 0, 0,
- 0, 0, 201, 120, 126, 74, 0, 77, 78, 73,
- 113, 115, 0, 116, 14, 16, 0, 17, 92, 0,
- 0, 148, 147, 151, 149, 150, 34, 114, 15, 0,
- 94, 0, 86, 72, 100, 0, 0, 0, 100, 87,
- 91, 0, 88, 93
+ 213, 0, 110, 181, 175, 176, 173, 177, 174, 172,
+ 179, 180, 171, 178, 184, 187, 206, 215, 186, 204,
+ 205, 208, 214, 216, 0, 31, 0, 0, 31, 31,
+ 0, 31, 0, 0, 0, 31, 31, 0, 188, 188,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
+ 0, 209, 1, 33, 104, 32, 23, 28, 27, 0,
+ 0, 0, 0, 0, 0, 0, 0, 134, 29, 0,
+ 0, 4, 6, 0, 0, 7, 182, 188, 189, 0,
+ 0, 0, 0, 0, 0, 0, 211, 0, 0, 0,
+ 0, 0, 0, 0, 44, 45, 34, 34, 34, 0,
+ 0, 29, 103, 102, 101, 0, 0, 50, 0, 0,
+ 0, 0, 0, 36, 36, 0, 61, 62, 63, 64,
+ 46, 43, 65, 66, 104, 104, 40, 41, 42, 0,
+ 0, 34, 130, 0, 113, 123, 124, 127, 129, 121,
+ 104, 170, 16, 168, 0, 0, 10, 104, 0, 0,
+ 0, 0, 9, 0, 138, 0, 20, 0, 0, 0,
+ 34, 34, 34, 104, 106, 0, 34, 29, 0, 0,
+ 145, 19, 0, 0, 0, 4, 2, 5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 183, 0, 211, 0,
+ 0, 0, 0, 0, 200, 201, 0, 0, 0, 0,
+ 7, 7, 7, 0, 0, 35, 104, 104, 104, 47,
+ 48, 0, 51, 52, 53, 54, 55, 56, 57, 37,
+ 38, 38, 24, 25, 26, 60, 0, 112, 0, 105,
+ 68, 67, 104, 111, 0, 121, 115, 117, 118, 116,
+ 0, 0, 13, 169, 0, 108, 150, 149, 0, 151,
+ 152, 0, 18, 21, 137, 139, 140, 104, 0, 104,
+ 0, 106, 82, 81, 0, 0, 136, 30, 4, 144,
+ 146, 147, 0, 3, 143, 0, 158, 0, 0, 0,
+ 0, 0, 0, 166, 109, 8, 0, 0, 190, 207,
+ 0, 194, 195, 196, 197, 0, 199, 212, 198, 202,
+ 203, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 104, 0, 76, 0, 0, 49, 39, 58, 59, 0,
+ 7, 7, 0, 114, 7, 7, 12, 0, 29, 83,
+ 0, 0, 0, 85, 94, 84, 133, 107, 0, 0,
+ 0, 86, 88, 89, 135, 0, 142, 31, 31, 31,
+ 31, 159, 0, 0, 0, 0, 0, 191, 192, 193,
+ 0, 22, 104, 0, 104, 104, 0, 0, 167, 7,
+ 75, 34, 34, 34, 34, 0, 104, 79, 0, 0,
+ 0, 0, 0, 0, 0, 11, 0, 104, 93, 0,
+ 100, 0, 0, 90, 87, 148, 16, 0, 0, 0,
+ 161, 164, 162, 163, 165, 0, 125, 104, 0, 128,
+ 0, 131, 104, 160, 0, 69, 71, 104, 70, 104,
+ 78, 80, 34, 121, 0, 121, 16, 0, 16, 141,
+ 0, 104, 99, 91, 0, 0, 0, 0, 0, 0,
+ 210, 126, 132, 74, 0, 77, 73, 119, 121, 0,
+ 122, 14, 16, 0, 17, 96, 0, 0, 92, 154,
+ 153, 157, 155, 156, 34, 120, 15, 0, 98, 72,
+ 104, 0, 0, 104, 95, 0, 97
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -371, 127, -144, 45, -149, 478, -130, 557, -346, 235,
- -146, -150, -60, -122, -56, 298, -21, -81, -15, -1,
- -93, 536, 436, -371, -45, -371, -230, -157, 215, 290,
- -26, -371, 223, 358, -371, -371, -371, -31, -100, 411,
- 524, -371, 554, 459, -370, 296, 584, -311, 364, -371,
- -322, 63, -371, -371, 561, -371, -371, 545, -371, 577,
- -371, -371, -10, -371, -371, -6, -371, -371, 7, -371,
- 653, -371, -371, 3, 30, 205, -371, 706, -371, -371,
- 549, -371, -371
+ -378, 135, -150, 80, -180, 437, -136, 564, -328, 201,
+ -147, -159, -63, -131, -54, 268, -23, -89, 31, 22,
+ -97, 522, 414, -212, -60, -378, -228, -184, -284, 272,
+ -28, -378, 332, 364, 230, 335, -378, -378, -378, -49,
+ -107, 412, 502, 523, -378, -378, 546, 474, -377, 275,
+ 586, -333, 359, -378, -322, 76, -378, -378, 578, -378,
+ -378, 565, -378, 590, -378, -378, -37, -378, -378, 28,
+ -378, -378, 4, -378, 670, -378, -378, 2, 92, 262,
+ -378, 725, -378, -378, 572, -378, -378
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 173, 174, 70, 293, 149, 143, 58, 236, 237,
- 150, 166, 151, 120, 55, 220, 262, 164, 51, 200,
- 201, 215, 308, 121, 122, 123, 301, 302, 363, 364,
- 124, 161, 452, 324, 325, 125, 126, 127, 128, 257,
- 241, 2, 129, 231, 232, 233, 130, 131, 132, 133,
- 134, 65, 3, 4, 153, 5, 6, 168, 7, 144,
- 271, 8, 135, 177, 9, 136, 10, 11, 12, 180,
- 13, 14, 15, 75, 16, 17, 18, 19, 20, 288,
- 188, 21, 22
+ -1, 177, 178, 73, 182, 153, 147, 61, 241, 242,
+ 154, 170, 155, 124, 58, 225, 267, 168, 54, 205,
+ 206, 220, 317, 125, 126, 127, 310, 311, 391, 378,
+ 128, 165, 341, 342, 343, 333, 334, 129, 130, 131,
+ 132, 262, 246, 2, 3, 4, 133, 236, 237, 238,
+ 134, 135, 136, 137, 138, 68, 5, 6, 157, 7,
+ 8, 172, 9, 148, 277, 10, 139, 181, 11, 140,
+ 12, 13, 14, 185, 15, 16, 17, 79, 18, 19,
+ 20, 21, 22, 297, 193, 23, 24
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -897,190 +902,219 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 202, 203, 64, 56, 64, 152, 167, 63, 250, 67,
- 152, 60, 61, 230, 66, 244, 206, 160, 72, 265,
- 46, 224, 52, 322, 59, 52, 52, 267, 52, 393,
- 1, 162, 52, 417, 227, 430, 388, 64, 53, 76,
- 239, 64, 54, 240, 160, 304, 305, 295, 296, 45,
- 145, 154, 261, 53, 146, 155, 169, 54, 162, 240,
- 170, 447, 434, 252, 253, 254, 49, 78, 79, 80,
- 310, 45, 424, 86, 204, 205, 182, 71, 423, 73,
- 207, 208, 260, 209, 210, 211, 212, 213, 57, 448,
- 198, 199, 322, 68, 50, 320, 248, 326, 152, 152,
- 141, 303, 303, 303, 225, 226, 165, 142, 53, 167,
- 167, 178, 179, 152, 152, 175, 217, 218, 219, 331,
- 183, 184, 243, 185, 186, 187, 163, 303, 47, 142,
- 171, 191, 192, 193, 256, 147, 145, 53, 35, 36,
- 146, 272, 342, 148, 356, 154, 268, 273, 274, 155,
- 275, 62, 303, 53, 303, 347, 263, 54, 198, 199,
- 169, 348, 365, 367, 170, 333, 368, 370, 50, 350,
- 69, 334, 335, 292, 336, 348, 160, 351, 160, 358,
- 405, 407, 359, 348, 74, 306, 348, 348, 46, 408,
- 162, 410, 162, 425, 294, 348, 297, 348, 33, 348,
- 77, 303, 35, 36, 33, 81, 396, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 330, 53,
- 415, 411, 53, 54, 343, 85, 54, 323, 268, -30,
- 256, 137, 421, -30, 138, 420, 377, 139, 372, 57,
- 194, 311, 312, 298, 299, 82, 83, 84, 87, 88,
- 419, 338, 339, 340, 341, 160, 62, 418, 194, 315,
- 316, 198, 199, 172, 397, 398, 399, 400, 176, 162,
- 286, 287, 33, 412, 315, 316, 160, 303, 189, 23,
- 24, 25, 286, 344, 190, 26, 27, 28, 29, 30,
- 162, 31, 32, 361, 362, 214, 323, 376, 228, 426,
- 229, 427, 428, 311, 312, 277, 278, 235, 53, 238,
- 366, 429, 242, 439, 369, 246, 223, 148, 379, 380,
- 381, 382, 167, 249, 258, 152, 152, 259, 307, 264,
- 160, 268, 52, 52, 52, 52, 269, 270, 318, 276,
- 401, 402, 279, 353, 162, 160, 280, 160, 282, 283,
- 414, 284, 285, 453, 457, 289, 290, 291, 461, 162,
- 313, 162, 90, 91, 156, 317, 157, 239, 319, 158,
- 95, 96, 97, 98, 321, 329, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 327, 332,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 337,
- 345, 194, 195, 196, 197, 346, 90, 91, 156, 349,
- 157, 198, 199, 158, 95, 96, 97, 98, 352, 354,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 357, 360, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 371, 375, 89, 404, 378, 383, 384,
- 385, 386, 389, 394, 159, 90, 91, 92, 395, 93,
- 406, 409, 94, 95, 96, 97, 98, 416, 432, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 422, 221, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 90, 91, 92, 431, 93, 435, 436, 94,
- 95, 96, 97, 98, 438, 440, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 441, 223,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 90,
- 91, 92, 442, 93, 443, 444, 94, 95, 96, 97,
- 98, 445, 446, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109, 110, 449, 300, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 90, 91, 92, 312,
- 93, 316, 450, 94, 95, 96, 97, 98, 451, 454,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 455, 390, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 90, 91, 92, 458, 93, 459, 460,
- 94, 95, 96, 97, 98, 463, 140, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 110, 247,
- 392, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 90, 91, 92, 387, 93, 437, 216, 94, 95, 96,
- 97, 98, 309, 403, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 456, 328, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 90, 91, 156,
- 374, 157, 462, 255, 158, 95, 96, 97, 98, 314,
- 234, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 109, 110, 433, 222, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 391, 266, 251, 195, 196, 197,
- 90, 91, 156, 245, 157, 181, 48, 158, 95, 96,
- 97, 98, 281, 0, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 0, 0, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 0, 0, 0,
- 0, 196, 197, 90, 91, 156, 0, 157, 0, 0,
- 158, 95, 96, 97, 98, 0, 0, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 110, 0,
- 0, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 0, 0, 90, 91, 156, 197, 157, 373, 0, 158,
- 95, 96, 97, 98, 0, 0, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 0,
- 90, 91, 156, 355, 157, 0, 0, 158, 95, 96,
- 97, 98, 0, 0, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 0, 0, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 0, 90, 91,
- 156, 355, 157, 413, 0, 158, 95, 96, 97, 98,
- 0, 0, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 0, 0, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 90, 91, 156, 0, 157,
- 0, 0, 158, 95, 96, 97, 98, 0, 0, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 0, 0, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 0, 23, 24, 25, 0, 0, 0, 26,
- 27, 28, 29, 30, 0, 31, 32, 33, 0, 0,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44
+ 207, 208, 67, 59, 67, 164, 171, 66, 235, 70,
+ 156, 255, 211, 249, 270, 156, 166, 48, 229, 49,
+ 302, 304, 305, 313, 314, 272, 149, 158, 1, 406,
+ 331, 284, 173, 164, 232, 377, 340, 285, 67, 48,
+ 245, 80, 67, 411, 166, 244, 447, 55, 319, 62,
+ 55, 55, 339, 55, 145, 50, 245, 55, 55, 63,
+ 64, 146, 69, 257, 258, 259, 75, 76, 435, 264,
+ 169, 465, 56, 329, 441, 335, 209, 210, 265, 187,
+ 183, 184, 212, 213, 52, 214, 215, 216, 217, 218,
+ 442, 150, 159, 377, 53, 203, 204, 174, 451, 312,
+ 312, 312, 253, 331, 156, 156, 230, 231, 71, 248,
+ 171, 171, 340, 149, 74, 72, 146, 77, 345, 156,
+ 156, 151, 158, 56, 466, 312, 370, 339, 339, 152,
+ 266, 56, 82, 83, 84, 57, 261, 173, 90, 56,
+ 379, 381, 167, 57, 382, 384, 175, 78, 60, 65,
+ 312, 56, 312, 179, 53, 57, 222, 223, 224, 188,
+ 189, 362, 190, 191, 192, 81, 164, 285, 164, 364,
+ 196, 197, 198, 38, 39, 285, 301, 166, 150, 166,
+ 365, 268, 85, 203, 204, 423, 285, 159, 315, 414,
+ 49, 285, 36, 203, 204, 425, 38, 39, 25, 26,
+ 27, 285, 174, 312, 28, 29, 30, 31, 32, 278,
+ 33, 34, 35, 426, 89, 279, 280, 357, 281, 285,
+ 347, 273, 303, 282, 306, 428, 348, 349, 141, 350,
+ 332, 285, 443, 261, 35, 142, 344, 56, 285, 386,
+ 439, 57, 429, 56, 358, 60, -30, 57, 273, 164,
+ -30, 438, 199, 320, 321, 352, 353, 354, 355, 356,
+ 166, 437, 143, 372, 65, 436, 373, 295, 296, 420,
+ 164, 199, 324, 325, 415, 416, 417, 418, 164, 176,
+ 430, 166, 180, 307, 308, 295, 359, 36, 36, 166,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 324, 325, 332, 390, 86, 87, 88, 91, 92,
+ 444, 194, 445, 375, 376, 195, 320, 321, 286, 287,
+ 219, 233, 234, 240, 456, 446, 243, 247, 251, 164,
+ 228, 56, 164, 254, 263, 152, 171, 269, 274, 273,
+ 166, 275, 380, 166, 156, 156, 383, 283, 164, 288,
+ 164, 289, 419, 291, 292, 293, 294, 298, 299, 166,
+ 300, 166, 432, 472, 322, 327, 475, 469, 316, 55,
+ 55, 55, 55, 328, 326, 244, 330, 360, 396, 397,
+ 398, 399, 94, 95, 160, 336, 161, 367, 346, 162,
+ 99, 100, 101, 102, 351, 361, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 363, 366,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 368,
+ 371, 199, 200, 201, 202, 374, 94, 95, 160, 385,
+ 161, 203, 204, 162, 99, 100, 101, 102, 389, 422,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 395, 400, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 401, 402, 93, 424, 403, 404, 407,
+ 412, 413, 321, 433, 163, 94, 95, 96, 427, 97,
+ 434, 449, 98, 99, 100, 101, 102, 440, 448, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 452, 226, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 94, 95, 96, 453, 97, 455, 457, 98,
+ 99, 100, 101, 102, 459, 460, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 461, 228,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 94,
+ 95, 96, 462, 97, 463, 464, 98, 99, 100, 101,
+ 102, 325, 467, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 468, 309, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 94, 95, 96, 470,
+ 97, 471, 252, 98, 99, 100, 101, 102, 473, 474,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 476, 338, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 94, 95, 96, 144, 97, 405, 454,
+ 98, 99, 100, 101, 102, 318, 221, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 421,
+ 392, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 94, 95, 96, 458, 97, 260, 388, 98, 99, 100,
+ 101, 102, 394, 337, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 239, 408, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 94, 95, 96,
+ 450, 97, 276, 393, 98, 99, 100, 101, 102, 323,
+ 227, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 409, 410, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 94, 95, 96, 256, 97, 271,
+ 250, 98, 99, 100, 101, 102, 186, 51, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 290, 0, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 94, 95, 160, 0, 161, 0, 0, 162, 99,
+ 100, 101, 102, 0, 0, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 0, 0, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 0, 0,
+ 0, 200, 201, 202, 94, 95, 160, 0, 161, 0,
+ 0, 162, 99, 100, 101, 102, 0, 0, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 0, 0, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 0, 0, 0, 0, 201, 202, 94, 95, 160,
+ 0, 161, 0, 0, 162, 99, 100, 101, 102, 0,
+ 0, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 0, 0, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 94, 95, 160, 0, 161, 202,
+ 0, 162, 99, 100, 101, 102, 375, 376, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 0, 0, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 0, 94, 95, 160, 369, 161, 387, 0, 162,
+ 99, 100, 101, 102, 0, 0, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 0, 0,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 0,
+ 94, 95, 160, 369, 161, 0, 0, 162, 99, 100,
+ 101, 102, 0, 0, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 0, 0, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 0, 94, 95,
+ 160, 369, 161, 0, 0, 162, 99, 100, 101, 102,
+ 375, 376, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 0, 0, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 94, 95, 160, 0, 161,
+ 431, 0, 162, 99, 100, 101, 102, 0, 0, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 0, 0, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 94, 95, 160, 0, 161, 0, 0, 162,
+ 99, 100, 101, 102, 0, 0, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 0, 0,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 0,
+ 25, 26, 27, 0, 0, 0, 28, 29, 30, 31,
+ 32, 0, 33, 34, 35, 36, 0, 0, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47
};
static const yytype_int16 yycheck[] =
{
- 93, 94, 28, 24, 30, 61, 66, 28, 154, 30,
- 66, 26, 27, 135, 29, 145, 97, 62, 33, 169,
- 13, 121, 23, 253, 25, 26, 27, 171, 29, 351,
- 3, 62, 33, 379, 127, 405, 347, 63, 5, 36,
- 12, 67, 9, 143, 89, 202, 203, 196, 197, 3,
- 60, 61, 4, 5, 60, 61, 66, 9, 89, 159,
- 66, 431, 408, 156, 157, 158, 0, 37, 38, 39,
- 227, 3, 394, 43, 95, 96, 73, 32, 389, 34,
- 101, 102, 163, 104, 105, 106, 107, 108, 3, 435,
- 62, 63, 322, 30, 9, 252, 152, 254, 154, 155,
- 3, 201, 202, 203, 125, 126, 3, 10, 5, 169,
- 170, 65, 66, 169, 170, 70, 5, 6, 7, 263,
- 75, 76, 3, 78, 79, 80, 63, 227, 3, 10,
- 67, 86, 87, 88, 160, 3, 146, 5, 68, 69,
- 146, 50, 4, 11, 301, 155, 8, 56, 57, 155,
- 59, 3, 252, 5, 254, 4, 60, 9, 62, 63,
- 170, 10, 311, 312, 170, 50, 315, 316, 9, 4,
- 8, 56, 57, 194, 59, 10, 221, 4, 223, 16,
- 4, 4, 19, 10, 9, 206, 10, 10, 181, 4,
- 221, 4, 223, 4, 195, 10, 197, 10, 64, 10,
- 3, 301, 68, 69, 64, 3, 355, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 4, 5,
- 377, 4, 5, 9, 4, 3, 9, 253, 8, 5,
- 256, 4, 382, 9, 50, 381, 329, 4, 319, 3,
- 52, 53, 54, 198, 199, 40, 41, 42, 43, 44,
- 380, 272, 273, 274, 275, 300, 3, 379, 52, 53,
- 54, 62, 63, 8, 357, 358, 359, 360, 3, 300,
- 3, 4, 64, 373, 53, 54, 321, 377, 4, 50,
- 51, 52, 3, 4, 4, 56, 57, 58, 59, 60,
- 321, 62, 63, 25, 26, 39, 322, 323, 4, 399,
- 3, 401, 402, 53, 54, 178, 179, 3, 5, 4,
- 311, 404, 4, 413, 315, 3, 3, 11, 333, 334,
- 335, 336, 382, 4, 4, 381, 382, 3, 40, 4,
- 375, 8, 333, 334, 335, 336, 4, 3, 10, 4,
- 361, 362, 4, 298, 375, 390, 4, 392, 4, 4,
- 376, 4, 4, 446, 454, 4, 4, 4, 458, 390,
- 3, 392, 13, 14, 15, 4, 17, 12, 58, 20,
- 21, 22, 23, 24, 3, 15, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 4, 4,
+ 97, 98, 30, 26, 32, 65, 69, 30, 139, 32,
+ 64, 158, 101, 149, 173, 69, 65, 3, 125, 15,
+ 200, 201, 202, 207, 208, 175, 63, 64, 3, 362,
+ 258, 4, 69, 93, 131, 319, 264, 10, 66, 3,
+ 147, 39, 70, 365, 93, 12, 423, 25, 232, 27,
+ 28, 29, 264, 31, 3, 3, 163, 35, 36, 28,
+ 29, 10, 31, 160, 161, 162, 35, 36, 396, 166,
+ 3, 448, 5, 257, 407, 259, 99, 100, 167, 77,
+ 66, 67, 105, 106, 0, 108, 109, 110, 111, 112,
+ 412, 63, 64, 377, 9, 62, 63, 69, 426, 206,
+ 207, 208, 156, 331, 158, 159, 129, 130, 32, 3,
+ 173, 174, 340, 150, 34, 8, 10, 37, 268, 173,
+ 174, 3, 159, 5, 452, 232, 310, 339, 340, 11,
+ 4, 5, 40, 41, 42, 9, 164, 174, 46, 5,
+ 320, 321, 66, 9, 324, 325, 70, 9, 3, 3,
+ 257, 5, 259, 73, 9, 9, 5, 6, 7, 79,
+ 80, 4, 82, 83, 84, 3, 226, 10, 228, 4,
+ 90, 91, 92, 69, 70, 10, 199, 226, 150, 228,
+ 4, 60, 3, 62, 63, 4, 10, 159, 211, 369,
+ 186, 10, 65, 62, 63, 4, 69, 70, 50, 51,
+ 52, 10, 174, 310, 56, 57, 58, 59, 60, 50,
+ 62, 63, 64, 4, 3, 56, 57, 4, 59, 10,
+ 50, 8, 200, 64, 202, 4, 56, 57, 4, 59,
+ 258, 10, 4, 261, 64, 50, 4, 5, 10, 328,
+ 399, 9, 4, 5, 4, 3, 5, 9, 8, 309,
+ 9, 398, 52, 53, 54, 278, 279, 280, 281, 282,
+ 309, 397, 4, 16, 3, 396, 19, 3, 4, 376,
+ 330, 52, 53, 54, 371, 372, 373, 374, 338, 8,
+ 387, 330, 3, 203, 204, 3, 4, 65, 65, 338,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 53, 54, 331, 332, 43, 44, 45, 46, 47,
+ 417, 4, 419, 25, 26, 4, 53, 54, 183, 184,
+ 39, 4, 3, 3, 431, 422, 4, 4, 3, 389,
+ 3, 5, 392, 4, 4, 11, 399, 4, 4, 8,
+ 389, 3, 320, 392, 398, 399, 324, 4, 408, 4,
+ 410, 4, 375, 4, 4, 4, 4, 4, 4, 408,
+ 4, 410, 390, 470, 3, 10, 473, 464, 40, 347,
+ 348, 349, 350, 58, 4, 12, 3, 41, 347, 348,
+ 349, 350, 13, 14, 15, 4, 17, 307, 4, 20,
+ 21, 22, 23, 24, 4, 4, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 10, 10,
41, 42, 43, 44, 45, 46, 47, 48, 49, 4,
- 41, 52, 53, 54, 55, 4, 13, 14, 15, 10,
- 17, 62, 63, 20, 21, 22, 23, 24, 10, 4,
+ 16, 52, 53, 54, 55, 16, 13, 14, 15, 4,
+ 17, 62, 63, 20, 21, 22, 23, 24, 3, 16,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 16, 16, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 4, 3, 3, 16, 4, 4, 4,
- 4, 4, 4, 4, 61, 13, 14, 15, 4, 17,
- 10, 10, 20, 21, 22, 23, 24, 3, 3, 27,
+ 37, 38, 4, 4, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 4, 4, 3, 10, 4, 4, 4,
+ 4, 4, 54, 4, 61, 13, 14, 15, 10, 17,
+ 3, 3, 20, 21, 22, 23, 24, 4, 4, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 4, 3, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 13, 14, 15, 4, 17, 4, 3, 20,
+ 48, 49, 13, 14, 15, 3, 17, 4, 3, 20,
21, 22, 23, 24, 4, 4, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 4, 3,
41, 42, 43, 44, 45, 46, 47, 48, 49, 13,
- 14, 15, 4, 17, 4, 4, 20, 21, 22, 23,
- 24, 4, 16, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 3, 3, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 13, 14, 15, 54,
- 17, 54, 4, 20, 21, 22, 23, 24, 3, 19,
+ 14, 15, 4, 17, 4, 16, 20, 21, 22, 23,
+ 24, 54, 3, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 4, 3, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 13, 14, 15, 19,
+ 17, 3, 155, 20, 21, 22, 23, 24, 19, 4,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 3, 3, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 13, 14, 15, 19, 17, 4, 4,
- 20, 21, 22, 23, 24, 4, 59, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 151,
+ 37, 38, 4, 3, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 13, 14, 15, 62, 17, 360, 428,
+ 20, 21, 22, 23, 24, 221, 114, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 377,
3, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 13, 14, 15, 345, 17, 410, 110, 20, 21, 22,
- 23, 24, 216, 363, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 451, 256, 41, 42,
+ 13, 14, 15, 433, 17, 163, 331, 20, 21, 22,
+ 23, 24, 340, 261, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 140, 3, 41, 42,
43, 44, 45, 46, 47, 48, 49, 13, 14, 15,
- 322, 17, 459, 159, 20, 21, 22, 23, 24, 230,
- 136, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 407, 120, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 350, 170, 155, 53, 54, 55,
- 13, 14, 15, 146, 17, 72, 20, 20, 21, 22,
- 23, 24, 183, -1, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, -1, -1, -1,
- -1, 54, 55, 13, 14, 15, -1, 17, -1, -1,
- 20, 21, 22, 23, 24, -1, -1, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, -1,
- -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- -1, -1, 13, 14, 15, 55, 17, 18, -1, 20,
+ 425, 17, 179, 339, 20, 21, 22, 23, 24, 235,
+ 124, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 364, 3, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 13, 14, 15, 159, 17, 174,
+ 150, 20, 21, 22, 23, 24, 76, 22, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 188, -1, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 13, 14, 15, -1, 17, -1, -1, 20, 21,
+ 22, 23, 24, -1, -1, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, -1, -1, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, -1, -1,
+ -1, 53, 54, 55, 13, 14, 15, -1, 17, -1,
+ -1, 20, 21, 22, 23, 24, -1, -1, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, -1, -1, -1, -1, 54, 55, 13, 14, 15,
+ -1, 17, -1, -1, 20, 21, 22, 23, 24, -1,
+ -1, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, -1, -1, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 13, 14, 15, -1, 17, 55,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, -1, 13, 14, 15, 54, 17, 18, -1, 20,
21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, -1, -1,
41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
@@ -1088,96 +1122,101 @@ static const yytype_int16 yycheck[] =
23, 24, -1, -1, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, -1, -1, 41, 42,
43, 44, 45, 46, 47, 48, 49, -1, 13, 14,
- 15, 54, 17, 18, -1, 20, 21, 22, 23, 24,
- -1, -1, 27, 28, 29, 30, 31, 32, 33, 34,
+ 15, 54, 17, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, -1, -1, 41, 42, 43, 44,
45, 46, 47, 48, 49, 13, 14, 15, -1, 17,
- -1, -1, 20, 21, 22, 23, 24, -1, -1, 27,
+ 18, -1, 20, 21, 22, 23, 24, -1, -1, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, -1, 50, 51, 52, -1, -1, -1, 56,
- 57, 58, 59, 60, -1, 62, 63, 64, -1, -1,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77
+ 48, 49, 13, 14, 15, -1, 17, -1, -1, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, -1, -1,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
+ 50, 51, 52, -1, -1, -1, 56, 57, 58, 59,
+ 60, -1, 62, 63, 64, 65, -1, -1, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 3, 120, 131, 132, 134, 135, 137, 140, 143,
- 145, 146, 147, 149, 150, 151, 153, 154, 155, 156,
- 157, 160, 161, 50, 51, 52, 56, 57, 58, 59,
- 60, 62, 63, 64, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 3, 147, 3, 156, 0,
- 9, 97, 98, 5, 9, 93, 95, 3, 86, 98,
- 97, 97, 3, 95, 109, 130, 97, 95, 130, 8,
- 82, 82, 97, 82, 9, 152, 152, 3, 153, 153,
- 153, 3, 154, 154, 154, 3, 153, 154, 154, 3,
- 13, 14, 15, 17, 20, 21, 22, 23, 24, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 92, 102, 103, 104, 109, 114, 115, 116, 117, 121,
- 125, 126, 127, 128, 129, 141, 144, 4, 50, 4,
- 86, 3, 10, 85, 138, 141, 144, 3, 11, 84,
- 89, 91, 93, 133, 141, 144, 15, 17, 20, 61,
- 103, 110, 116, 130, 96, 3, 90, 91, 136, 141,
- 144, 130, 8, 80, 81, 82, 3, 142, 65, 66,
- 148, 149, 152, 82, 82, 82, 82, 82, 159, 4,
- 4, 82, 82, 82, 52, 53, 54, 55, 62, 63,
- 98, 99, 99, 99, 95, 95, 96, 95, 95, 95,
- 95, 95, 95, 95, 39, 100, 100, 5, 6, 7,
- 94, 3, 125, 3, 117, 95, 95, 99, 4, 3,
- 92, 122, 123, 124, 121, 3, 87, 88, 4, 12,
- 117, 119, 4, 3, 85, 138, 3, 84, 93, 4,
- 89, 133, 99, 99, 99, 119, 109, 118, 4, 3,
- 96, 4, 95, 60, 4, 90, 136, 81, 8, 4,
- 3, 139, 50, 56, 57, 59, 4, 80, 80, 4,
- 4, 159, 4, 4, 4, 4, 3, 4, 158, 4,
- 4, 4, 95, 83, 98, 83, 83, 98, 82, 82,
- 3, 105, 106, 117, 106, 106, 95, 40, 101, 101,
- 106, 53, 54, 3, 122, 53, 54, 4, 10, 58,
- 106, 3, 105, 109, 112, 113, 106, 4, 118, 15,
- 4, 81, 4, 50, 56, 57, 59, 4, 95, 95,
- 95, 95, 4, 4, 4, 41, 4, 4, 10, 10,
- 4, 4, 10, 82, 4, 54, 106, 16, 16, 19,
- 16, 25, 26, 107, 108, 83, 98, 83, 83, 98,
- 83, 4, 96, 18, 112, 3, 109, 99, 4, 97,
- 97, 97, 97, 4, 4, 4, 4, 94, 126, 4,
- 3, 127, 3, 129, 4, 4, 83, 99, 99, 99,
- 99, 95, 95, 108, 16, 4, 10, 4, 4, 10,
- 4, 4, 117, 18, 109, 106, 3, 87, 92, 85,
- 89, 90, 4, 126, 129, 4, 117, 117, 117, 99,
- 123, 4, 3, 124, 87, 4, 3, 88, 4, 117,
- 4, 4, 4, 4, 4, 4, 16, 123, 87, 3,
- 4, 3, 111, 99, 19, 3, 107, 117, 19, 4,
- 4, 117, 111, 4
+ 0, 3, 123, 124, 125, 136, 137, 139, 140, 142,
+ 145, 148, 150, 151, 152, 154, 155, 156, 158, 159,
+ 160, 161, 162, 165, 166, 50, 51, 52, 56, 57,
+ 58, 59, 60, 62, 63, 64, 65, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 3, 152,
+ 3, 161, 0, 9, 98, 99, 5, 9, 94, 96,
+ 3, 87, 99, 98, 98, 3, 96, 110, 135, 98,
+ 96, 135, 8, 83, 83, 98, 98, 83, 9, 157,
+ 157, 3, 158, 158, 158, 3, 159, 159, 159, 3,
+ 158, 159, 159, 3, 13, 14, 15, 17, 20, 21,
+ 22, 23, 24, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 93, 103, 104, 105, 110, 117,
+ 118, 119, 120, 126, 130, 131, 132, 133, 134, 146,
+ 149, 4, 50, 4, 87, 3, 10, 86, 143, 146,
+ 149, 3, 11, 85, 90, 92, 94, 138, 146, 149,
+ 15, 17, 20, 61, 104, 111, 119, 135, 97, 3,
+ 91, 92, 141, 146, 149, 135, 8, 81, 82, 83,
+ 3, 147, 84, 66, 67, 153, 154, 157, 83, 83,
+ 83, 83, 83, 164, 4, 4, 83, 83, 83, 52,
+ 53, 54, 55, 62, 63, 99, 100, 100, 100, 96,
+ 96, 97, 96, 96, 96, 96, 96, 96, 96, 39,
+ 101, 101, 5, 6, 7, 95, 3, 130, 3, 120,
+ 96, 96, 100, 4, 3, 93, 127, 128, 129, 126,
+ 3, 88, 89, 4, 12, 120, 122, 4, 3, 86,
+ 143, 3, 85, 94, 4, 90, 138, 100, 100, 100,
+ 122, 110, 121, 4, 100, 97, 4, 96, 60, 4,
+ 91, 141, 82, 8, 4, 3, 123, 144, 50, 56,
+ 57, 59, 64, 4, 4, 10, 81, 81, 4, 4,
+ 164, 4, 4, 4, 4, 3, 4, 163, 4, 4,
+ 4, 96, 84, 99, 84, 84, 99, 83, 83, 3,
+ 106, 107, 120, 107, 107, 96, 40, 102, 102, 107,
+ 53, 54, 3, 127, 53, 54, 4, 10, 58, 107,
+ 3, 106, 110, 115, 116, 107, 4, 121, 3, 103,
+ 106, 112, 113, 114, 4, 82, 4, 50, 56, 57,
+ 59, 4, 96, 96, 96, 96, 96, 4, 4, 4,
+ 41, 4, 4, 10, 4, 4, 10, 83, 4, 54,
+ 107, 16, 16, 19, 16, 25, 26, 108, 109, 84,
+ 99, 84, 84, 99, 84, 4, 97, 18, 115, 3,
+ 110, 108, 3, 113, 112, 4, 98, 98, 98, 98,
+ 4, 4, 4, 4, 4, 95, 131, 4, 3, 132,
+ 3, 134, 4, 4, 84, 100, 100, 100, 100, 96,
+ 120, 109, 16, 4, 10, 4, 4, 10, 4, 4,
+ 120, 18, 110, 4, 3, 88, 93, 86, 90, 91,
+ 4, 131, 134, 4, 120, 120, 100, 128, 4, 3,
+ 129, 88, 4, 3, 89, 4, 120, 3, 114, 4,
+ 4, 4, 4, 4, 16, 128, 88, 3, 4, 100,
+ 19, 3, 120, 19, 4, 120, 4
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 79, 80, 80, 81, 81, 82, 83, 83, 84,
- 85, 85, 86, 87, 87, 87, 88, 88, 89, 90,
- 91, 91, 92, 93, 94, 94, 94, 95, 95, 96,
- 96, 97, 97, 98, 99, 99, 100, 100, 101, 101,
- 102, 102, 102, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103, 103, 104,
- 104, 104, 104, 104, 105, 106, 106, 107, 107, 108,
- 108, 109, 110, 110, 110, 110, 110, 111, 111, 112,
- 112, 113, 113, 113, 113, 113, 113, 114, 115, 116,
- 117, 117, 118, 118, 119, 120, 121, 121, 121, 121,
- 121, 122, 123, 123, 123, 124, 124, 125, 126, 126,
- 126, 127, 127, 128, 129, 129, 129, 130, 130, 131,
- 131, 132, 133, 133, 133, 133, 134, 134, 135, 136,
- 136, 136, 136, 137, 138, 138, 138, 139, 139, 139,
- 139, 139, 140, 141, 142, 142, 142, 142, 143, 144,
- 145, 145, 146, 147, 147, 147, 147, 147, 147, 147,
- 147, 147, 147, 148, 148, 149, 149, 150, 151, 152,
- 152, 153, 153, 153, 154, 154, 155, 155, 155, 155,
- 155, 155, 155, 155, 155, 156, 156, 156, 156, 157,
- 157, 158, 159, 159, 160, 160, 160, 161
+ 0, 80, 81, 81, 82, 82, 83, 84, 84, 85,
+ 86, 86, 87, 88, 88, 88, 89, 89, 90, 91,
+ 92, 92, 93, 94, 95, 95, 95, 96, 96, 97,
+ 97, 98, 98, 99, 100, 100, 101, 101, 102, 102,
+ 103, 103, 103, 104, 104, 104, 104, 104, 104, 104,
+ 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+ 104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
+ 105, 105, 105, 105, 106, 107, 107, 108, 108, 109,
+ 109, 110, 111, 111, 111, 111, 111, 112, 112, 113,
+ 113, 114, 114, 115, 115, 116, 116, 116, 116, 116,
+ 116, 117, 118, 119, 120, 120, 121, 121, 122, 123,
+ 124, 125, 126, 126, 126, 126, 126, 127, 128, 128,
+ 128, 129, 129, 130, 131, 131, 131, 132, 132, 133,
+ 134, 134, 134, 135, 135, 136, 136, 137, 138, 138,
+ 138, 138, 139, 139, 140, 141, 141, 141, 141, 142,
+ 143, 143, 143, 144, 144, 144, 144, 144, 144, 145,
+ 146, 147, 147, 147, 147, 147, 148, 149, 150, 150,
+ 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 153, 153, 154, 154, 155, 156, 157, 157,
+ 158, 158, 158, 159, 159, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 161, 161, 161, 161, 162, 162,
+ 163, 164, 164, 165, 165, 165, 166
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1190,20 +1229,21 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
1, 2, 2, 2, 2, 2, 2, 2, 3, 3,
2, 1, 1, 1, 1, 1, 1, 2, 2, 5,
- 5, 5, 8, 6, 4, 2, 1, 3, 3, 1,
- 2, 3, 2, 3, 3, 3, 7, 3, 4, 2,
- 1, 8, 4, 9, 5, 3, 2, 1, 1, 1,
- 0, 2, 0, 2, 1, 5, 2, 1, 3, 2,
- 2, 1, 1, 5, 6, 0, 5, 1, 1, 5,
- 6, 1, 5, 1, 1, 5, 6, 4, 1, 6,
- 5, 5, 1, 2, 2, 5, 6, 5, 5, 1,
- 2, 2, 4, 5, 2, 2, 2, 5, 5, 5,
- 5, 5, 6, 5, 4, 4, 4, 4, 5, 4,
- 4, 5, 4, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 1, 1, 2, 1, 1, 0,
- 1, 5, 6, 6, 6, 5, 5, 5, 5, 5,
- 5, 4, 4, 5, 5, 1, 1, 1, 5, 1,
- 2, 4, 0, 2, 0, 1, 1, 1
+ 5, 5, 8, 6, 4, 2, 1, 3, 2, 1,
+ 2, 3, 2, 3, 3, 3, 3, 2, 1, 1,
+ 2, 3, 4, 2, 1, 8, 4, 9, 5, 3,
+ 2, 1, 1, 1, 0, 2, 0, 2, 1, 5,
+ 1, 5, 2, 1, 3, 2, 2, 1, 1, 5,
+ 6, 0, 5, 1, 1, 5, 6, 1, 5, 1,
+ 1, 5, 6, 4, 1, 6, 5, 5, 1, 2,
+ 2, 5, 6, 5, 5, 1, 2, 2, 4, 5,
+ 2, 2, 2, 5, 5, 5, 5, 5, 1, 6,
+ 5, 4, 4, 4, 4, 4, 5, 4, 4, 5,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 1, 1, 2, 1, 1, 0, 1,
+ 5, 6, 6, 6, 5, 5, 5, 5, 5, 5,
+ 4, 4, 5, 5, 1, 1, 1, 5, 1, 2,
+ 4, 0, 2, 0, 1, 1, 1
};
@@ -1700,435 +1740,447 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
switch (yytype)
{
case 5: /* NAT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1706 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1746 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 6: /* INT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1712 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1752 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 7: /* FLOAT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1718 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1758 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 8: /* TEXT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1724 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1764 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 9: /* VAR */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1730 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1770 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 39: /* OFFSET_EQ_NAT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1736 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1776 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
case 40: /* ALIGN_EQ_NAT */
-#line 224 "src/wast-parser.y" /* yacc.c:1257 */
+#line 226 "src/wast-parser.y" /* yacc.c:1257 */
{}
-#line 1742 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1782 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 80: /* text_list */
-#line 244 "src/wast-parser.y" /* yacc.c:1257 */
+ case 81: /* text_list */
+#line 246 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_text_list(&((*yyvaluep).text_list)); }
-#line 1748 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1788 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 81: /* text_list_opt */
-#line 244 "src/wast-parser.y" /* yacc.c:1257 */
+ case 82: /* text_list_opt */
+#line 246 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_text_list(&((*yyvaluep).text_list)); }
-#line 1754 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1794 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 82: /* quoted_text */
-#line 225 "src/wast-parser.y" /* yacc.c:1257 */
+ case 83: /* quoted_text */
+#line 227 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_string_slice(&((*yyvaluep).text)); }
-#line 1760 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1800 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 83: /* value_type_list */
-#line 245 "src/wast-parser.y" /* yacc.c:1257 */
+ case 84: /* value_type_list */
+#line 247 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).types); }
-#line 1766 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1806 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 85: /* global_type */
-#line 238 "src/wast-parser.y" /* yacc.c:1257 */
+ case 86: /* global_type */
+#line 240 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).global); }
-#line 1772 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1812 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 86: /* func_type */
-#line 237 "src/wast-parser.y" /* yacc.c:1257 */
+ case 87: /* func_type */
+#line 239 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func_sig); }
-#line 1778 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1818 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 87: /* func_sig */
-#line 237 "src/wast-parser.y" /* yacc.c:1257 */
+ case 88: /* func_sig */
+#line 239 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func_sig); }
-#line 1784 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1824 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 88: /* func_sig_result */
-#line 237 "src/wast-parser.y" /* yacc.c:1257 */
+ case 89: /* func_sig_result */
+#line 239 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func_sig); }
-#line 1790 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1830 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 90: /* memory_sig */
-#line 240 "src/wast-parser.y" /* yacc.c:1257 */
+ case 91: /* memory_sig */
+#line 242 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).memory); }
-#line 1796 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1836 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 92: /* type_use */
-#line 246 "src/wast-parser.y" /* yacc.c:1257 */
+ case 93: /* type_use */
+#line 248 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).var); }
-#line 1802 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1842 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 94: /* literal */
-#line 226 "src/wast-parser.y" /* yacc.c:1257 */
+ case 95: /* literal */
+#line 228 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_string_slice(&((*yyvaluep).literal).text); }
-#line 1808 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1848 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 95: /* var */
-#line 246 "src/wast-parser.y" /* yacc.c:1257 */
+ case 96: /* var */
+#line 248 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).var); }
-#line 1814 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1854 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 96: /* var_list */
-#line 247 "src/wast-parser.y" /* yacc.c:1257 */
+ case 97: /* var_list */
+#line 249 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).vars); }
-#line 1820 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1860 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 97: /* bind_var_opt */
-#line 225 "src/wast-parser.y" /* yacc.c:1257 */
+ case 98: /* bind_var_opt */
+#line 227 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_string_slice(&((*yyvaluep).text)); }
-#line 1826 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1866 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 98: /* bind_var */
-#line 225 "src/wast-parser.y" /* yacc.c:1257 */
+ case 99: /* bind_var */
+#line 227 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_string_slice(&((*yyvaluep).text)); }
-#line 1832 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1872 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 99: /* labeling_opt */
-#line 225 "src/wast-parser.y" /* yacc.c:1257 */
+ case 100: /* labeling_opt */
+#line 227 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_string_slice(&((*yyvaluep).text)); }
-#line 1838 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1878 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 102: /* instr */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 103: /* instr */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1844 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1884 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 103: /* plain_instr */
-#line 233 "src/wast-parser.y" /* yacc.c:1257 */
+ case 104: /* plain_instr */
+#line 235 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).expr); }
-#line 1850 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1890 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 104: /* block_instr */
-#line 233 "src/wast-parser.y" /* yacc.c:1257 */
+ case 105: /* block_instr */
+#line 235 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).expr); }
-#line 1856 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1896 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 105: /* block_sig */
-#line 245 "src/wast-parser.y" /* yacc.c:1257 */
+ case 106: /* block_sig */
+#line 247 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).types); }
-#line 1862 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1902 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 106: /* block */
-#line 228 "src/wast-parser.y" /* yacc.c:1257 */
+ case 107: /* block */
+#line 230 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).block); }
-#line 1868 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1908 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 107: /* catch_instr */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 108: /* catch_instr */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1874 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1914 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 108: /* catch_instr_list */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 109: /* catch_instr_list */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1880 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1920 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 109: /* expr */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 110: /* expr */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1886 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1926 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 110: /* expr1 */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 111: /* expr1 */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1892 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1932 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 111: /* catch_list */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 112: /* try_ */
+#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ { delete ((*yyvaluep).expr); }
+#line 1938 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+ break;
+
+ case 113: /* try_instr_list */
+#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ { delete ((*yyvaluep).expr); }
+#line 1944 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+ break;
+
+ case 114: /* catch_list */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1898 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1950 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 112: /* if_block */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 115: /* if_block */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1904 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1956 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 113: /* if_ */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 116: /* if_ */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1910 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1962 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 117: /* instr_list */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 120: /* instr_list */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1916 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1968 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 118: /* expr_list */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 121: /* expr_list */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1922 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1974 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 119: /* const_expr */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 122: /* const_expr */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1928 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1980 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 120: /* func */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 125: /* func */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 1934 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1986 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 121: /* func_fields */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 126: /* func_fields */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 1940 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1992 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 122: /* func_fields_import */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 127: /* func_fields_import */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1946 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 1998 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 123: /* func_fields_import1 */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 128: /* func_fields_import1 */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1952 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2004 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 124: /* func_fields_import_result */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 129: /* func_fields_import_result */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1958 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2010 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 125: /* func_fields_body */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 130: /* func_fields_body */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1964 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2016 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 126: /* func_fields_body1 */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 131: /* func_fields_body1 */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1970 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2022 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 127: /* func_result_body */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 132: /* func_result_body */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1976 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2028 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 128: /* func_body */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 133: /* func_body */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1982 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2034 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 129: /* func_body1 */
-#line 236 "src/wast-parser.y" /* yacc.c:1257 */
+ case 134: /* func_body1 */
+#line 238 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).func); }
-#line 1988 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2040 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 130: /* offset */
-#line 234 "src/wast-parser.y" /* yacc.c:1257 */
+ case 135: /* offset */
+#line 236 "src/wast-parser.y" /* yacc.c:1257 */
{ DestroyExprList(((*yyvaluep).expr_list).first); }
-#line 1994 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2046 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 132: /* table */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 137: /* table */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2000 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2052 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 133: /* table_fields */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 138: /* table_fields */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2006 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2058 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 135: /* memory */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 140: /* memory */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2012 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2064 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 136: /* memory_fields */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 141: /* memory_fields */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2018 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2070 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 137: /* global */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 142: /* global */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2024 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2076 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 138: /* global_fields */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 143: /* global_fields */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2030 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2082 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 139: /* import_desc */
-#line 239 "src/wast-parser.y" /* yacc.c:1257 */
+ case 144: /* import_desc */
+#line 241 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).import); }
-#line 2036 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2088 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 141: /* inline_import */
-#line 239 "src/wast-parser.y" /* yacc.c:1257 */
+ case 146: /* inline_import */
+#line 241 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).import); }
-#line 2042 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2094 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 142: /* export_desc */
-#line 232 "src/wast-parser.y" /* yacc.c:1257 */
+ case 147: /* export_desc */
+#line 234 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).export_); }
-#line 2048 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2100 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 144: /* inline_export */
-#line 232 "src/wast-parser.y" /* yacc.c:1257 */
+ case 149: /* inline_export */
+#line 234 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).export_); }
-#line 2054 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2106 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 147: /* module_field */
-#line 235 "src/wast-parser.y" /* yacc.c:1257 */
+ case 152: /* module_field */
+#line 237 "src/wast-parser.y" /* yacc.c:1257 */
{ destroy_module_field_list(&((*yyvaluep).module_fields)); }
-#line 2060 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2112 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 148: /* module_fields_opt */
-#line 241 "src/wast-parser.y" /* yacc.c:1257 */
+ case 153: /* module_fields_opt */
+#line 243 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).module); }
-#line 2066 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2118 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 149: /* module_fields */
-#line 241 "src/wast-parser.y" /* yacc.c:1257 */
+ case 154: /* module_fields */
+#line 243 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).module); }
-#line 2072 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2124 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 150: /* module */
-#line 241 "src/wast-parser.y" /* yacc.c:1257 */
+ case 155: /* module */
+#line 243 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).module); }
-#line 2078 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2130 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 151: /* inline_module */
-#line 241 "src/wast-parser.y" /* yacc.c:1257 */
+ case 156: /* inline_module */
+#line 243 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).module); }
-#line 2084 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2136 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 152: /* script_var_opt */
-#line 246 "src/wast-parser.y" /* yacc.c:1257 */
+ case 157: /* script_var_opt */
+#line 248 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).var); }
-#line 2090 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2142 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 153: /* script_module */
-#line 242 "src/wast-parser.y" /* yacc.c:1257 */
+ case 158: /* script_module */
+#line 244 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).script_module); }
-#line 2096 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2148 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 154: /* action */
-#line 227 "src/wast-parser.y" /* yacc.c:1257 */
+ case 159: /* action */
+#line 229 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).action); }
-#line 2102 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2154 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 155: /* assertion */
-#line 229 "src/wast-parser.y" /* yacc.c:1257 */
+ case 160: /* assertion */
+#line 231 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).command); }
-#line 2108 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2160 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 156: /* cmd */
-#line 229 "src/wast-parser.y" /* yacc.c:1257 */
+ case 161: /* cmd */
+#line 231 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).command); }
-#line 2114 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2166 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 157: /* cmd_list */
-#line 230 "src/wast-parser.y" /* yacc.c:1257 */
+ case 162: /* cmd_list */
+#line 232 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).commands); }
-#line 2120 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2172 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 159: /* const_list */
-#line 231 "src/wast-parser.y" /* yacc.c:1257 */
+ case 164: /* const_list */
+#line 233 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).consts); }
-#line 2126 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2178 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
- case 160: /* script */
-#line 243 "src/wast-parser.y" /* yacc.c:1257 */
+ case 165: /* script */
+#line 245 "src/wast-parser.y" /* yacc.c:1257 */
{ delete ((*yyvaluep).script); }
-#line 2132 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
+#line 2184 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */
break;
@@ -2420,18 +2472,18 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 260 "src/wast-parser.y" /* yacc.c:1646 */
+#line 262 "src/wast-parser.y" /* yacc.c:1646 */
{
TextListNode* node = new TextListNode();
DUPTEXT(node->text, (yyvsp[0].text));
node->next = nullptr;
(yyval.text_list).first = (yyval.text_list).last = node;
}
-#line 2431 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2483 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 3:
-#line 266 "src/wast-parser.y" /* yacc.c:1646 */
+#line 268 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.text_list) = (yyvsp[-1].text_list);
TextListNode* node = new TextListNode();
@@ -2440,17 +2492,17 @@ yyreduce:
(yyval.text_list).last->next = node;
(yyval.text_list).last = node;
}
-#line 2444 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2496 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 4:
-#line 276 "src/wast-parser.y" /* yacc.c:1646 */
+#line 278 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.text_list).first = (yyval.text_list).last = nullptr; }
-#line 2450 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2502 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 6:
-#line 281 "src/wast-parser.y" /* yacc.c:1646 */
+#line 283 "src/wast-parser.y" /* yacc.c:1646 */
{
TextListNode node;
node.text = (yyvsp[0].text);
@@ -2464,139 +2516,139 @@ yyreduce:
(yyval.text).start = data;
(yyval.text).length = size;
}
-#line 2468 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2520 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 7:
-#line 299 "src/wast-parser.y" /* yacc.c:1646 */
+#line 301 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.types) = new TypeVector(); }
-#line 2474 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2526 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 8:
-#line 300 "src/wast-parser.y" /* yacc.c:1646 */
+#line 302 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.types) = (yyvsp[-1].types);
(yyval.types)->push_back((yyvsp[0].type));
}
-#line 2483 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2535 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 9:
-#line 306 "src/wast-parser.y" /* yacc.c:1646 */
+#line 308 "src/wast-parser.y" /* yacc.c:1646 */
{}
-#line 2489 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2541 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 10:
-#line 309 "src/wast-parser.y" /* yacc.c:1646 */
+#line 311 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.global) = new Global();
(yyval.global)->type = (yyvsp[0].type);
(yyval.global)->mutable_ = false;
}
-#line 2499 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2551 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 11:
-#line 314 "src/wast-parser.y" /* yacc.c:1646 */
+#line 316 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.global) = new Global();
(yyval.global)->type = (yyvsp[-1].type);
(yyval.global)->mutable_ = true;
}
-#line 2509 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2561 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 12:
-#line 322 "src/wast-parser.y" /* yacc.c:1646 */
+#line 324 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.func_sig) = (yyvsp[-1].func_sig); }
-#line 2515 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2567 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 14:
-#line 327 "src/wast-parser.y" /* yacc.c:1646 */
+#line 329 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func_sig) = (yyvsp[0].func_sig);
(yyval.func_sig)->param_types.insert((yyval.func_sig)->param_types.begin(), (yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 2525 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2577 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 15:
-#line 332 "src/wast-parser.y" /* yacc.c:1646 */
+#line 334 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func_sig) = (yyvsp[0].func_sig);
(yyval.func_sig)->param_types.insert((yyval.func_sig)->param_types.begin(), (yyvsp[-2].type));
// Ignore bind_var.
destroy_string_slice(&(yyvsp[-3].text));
}
-#line 2536 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2588 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 16:
-#line 341 "src/wast-parser.y" /* yacc.c:1646 */
+#line 343 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.func_sig) = new FuncSignature(); }
-#line 2542 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2594 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 17:
-#line 342 "src/wast-parser.y" /* yacc.c:1646 */
+#line 344 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func_sig) = (yyvsp[0].func_sig);
(yyval.func_sig)->result_types.insert((yyval.func_sig)->result_types.begin(), (yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 2552 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2604 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 18:
-#line 350 "src/wast-parser.y" /* yacc.c:1646 */
+#line 352 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.table) = new Table();
(yyval.table)->elem_limits = (yyvsp[-1].limits);
}
-#line 2561 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2613 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 19:
-#line 356 "src/wast-parser.y" /* yacc.c:1646 */
+#line 358 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.memory) = new Memory();
(yyval.memory)->page_limits = (yyvsp[0].limits);
}
-#line 2570 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2622 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 20:
-#line 362 "src/wast-parser.y" /* yacc.c:1646 */
+#line 364 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.limits).has_max = false;
(yyval.limits).initial = (yyvsp[0].u64);
(yyval.limits).max = 0;
}
-#line 2580 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2632 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 21:
-#line 367 "src/wast-parser.y" /* yacc.c:1646 */
+#line 369 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.limits).has_max = true;
(yyval.limits).initial = (yyvsp[-1].u64);
(yyval.limits).max = (yyvsp[0].u64);
}
-#line 2590 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2642 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 22:
-#line 374 "src/wast-parser.y" /* yacc.c:1646 */
+#line 376 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.var) = (yyvsp[-1].var); }
-#line 2596 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2648 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 23:
-#line 380 "src/wast-parser.y" /* yacc.c:1646 */
+#line 382 "src/wast-parser.y" /* yacc.c:1646 */
{
if (WABT_FAILED(parse_uint64((yyvsp[0].literal).text.start,
(yyvsp[0].literal).text.start + (yyvsp[0].literal).text.length, &(yyval.u64)))) {
@@ -2605,98 +2657,98 @@ yyreduce:
WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text));
}
}
-#line 2609 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2661 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 24:
-#line 391 "src/wast-parser.y" /* yacc.c:1646 */
+#line 393 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.literal).type = (yyvsp[0].literal).type;
DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text);
}
-#line 2618 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2670 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 25:
-#line 395 "src/wast-parser.y" /* yacc.c:1646 */
+#line 397 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.literal).type = (yyvsp[0].literal).type;
DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text);
}
-#line 2627 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2679 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 26:
-#line 399 "src/wast-parser.y" /* yacc.c:1646 */
+#line 401 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.literal).type = (yyvsp[0].literal).type;
DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text);
}
-#line 2636 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2688 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 27:
-#line 406 "src/wast-parser.y" /* yacc.c:1646 */
+#line 408 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.var) = new Var((yyvsp[0].u64));
(yyval.var)->loc = (yylsp[0]);
}
-#line 2645 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2697 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 28:
-#line 410 "src/wast-parser.y" /* yacc.c:1646 */
+#line 412 "src/wast-parser.y" /* yacc.c:1646 */
{
StringSlice name;
DUPTEXT(name, (yyvsp[0].text));
(yyval.var) = new Var(name);
(yyval.var)->loc = (yylsp[0]);
}
-#line 2656 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2708 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 29:
-#line 418 "src/wast-parser.y" /* yacc.c:1646 */
+#line 420 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.vars) = new VarVector(); }
-#line 2662 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2714 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 30:
-#line 419 "src/wast-parser.y" /* yacc.c:1646 */
+#line 421 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.vars) = (yyvsp[-1].vars);
(yyval.vars)->emplace_back(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2672 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2724 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 31:
-#line 426 "src/wast-parser.y" /* yacc.c:1646 */
+#line 428 "src/wast-parser.y" /* yacc.c:1646 */
{ WABT_ZERO_MEMORY((yyval.text)); }
-#line 2678 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2730 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 33:
-#line 430 "src/wast-parser.y" /* yacc.c:1646 */
+#line 432 "src/wast-parser.y" /* yacc.c:1646 */
{ DUPTEXT((yyval.text), (yyvsp[0].text)); }
-#line 2684 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2736 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 34:
-#line 434 "src/wast-parser.y" /* yacc.c:1646 */
+#line 436 "src/wast-parser.y" /* yacc.c:1646 */
{ WABT_ZERO_MEMORY((yyval.text)); }
-#line 2690 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2742 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 36:
-#line 439 "src/wast-parser.y" /* yacc.c:1646 */
+#line 441 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.u64) = 0; }
-#line 2696 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2748 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 37:
-#line 440 "src/wast-parser.y" /* yacc.c:1646 */
+#line 442 "src/wast-parser.y" /* yacc.c:1646 */
{
uint64_t offset64;
if (WABT_FAILED(parse_int64((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &offset64,
@@ -2711,17 +2763,17 @@ yyreduce:
}
(yyval.u64) = static_cast<uint32_t>(offset64);
}
-#line 2715 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2767 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 38:
-#line 456 "src/wast-parser.y" /* yacc.c:1646 */
+#line 458 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.u32) = USE_NATURAL_ALIGNMENT; }
-#line 2721 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2773 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 39:
-#line 457 "src/wast-parser.y" /* yacc.c:1646 */
+#line 459 "src/wast-parser.y" /* yacc.c:1646 */
{
if (WABT_FAILED(parse_int32((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u32),
ParseIntType::UnsignedOnly))) {
@@ -2734,169 +2786,169 @@ yyreduce:
wast_parser_error(&(yylsp[0]), lexer, parser, "alignment must be power-of-two");
}
}
-#line 2738 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2790 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 40:
-#line 472 "src/wast-parser.y" /* yacc.c:1646 */
+#line 474 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); }
-#line 2744 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2796 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 41:
-#line 473 "src/wast-parser.y" /* yacc.c:1646 */
+#line 475 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); }
-#line 2750 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2802 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 43:
-#line 478 "src/wast-parser.y" /* yacc.c:1646 */
+#line 480 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateUnreachable();
}
-#line 2758 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2810 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 44:
-#line 481 "src/wast-parser.y" /* yacc.c:1646 */
+#line 483 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateNop();
}
-#line 2766 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2818 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 45:
-#line 484 "src/wast-parser.y" /* yacc.c:1646 */
+#line 486 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateDrop();
}
-#line 2774 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2826 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 46:
-#line 487 "src/wast-parser.y" /* yacc.c:1646 */
+#line 489 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateSelect();
}
-#line 2782 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2834 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 47:
-#line 490 "src/wast-parser.y" /* yacc.c:1646 */
+#line 492 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateBr(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2791 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2843 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 48:
-#line 494 "src/wast-parser.y" /* yacc.c:1646 */
+#line 496 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateBrIf(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2800 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2852 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 49:
-#line 498 "src/wast-parser.y" /* yacc.c:1646 */
+#line 500 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateBrTable((yyvsp[-1].vars), std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2809 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2861 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 50:
-#line 502 "src/wast-parser.y" /* yacc.c:1646 */
+#line 504 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateReturn();
}
-#line 2817 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2869 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 51:
-#line 505 "src/wast-parser.y" /* yacc.c:1646 */
+#line 507 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateCall(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2826 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2878 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 52:
-#line 509 "src/wast-parser.y" /* yacc.c:1646 */
+#line 511 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateCallIndirect(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2835 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2887 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 53:
-#line 513 "src/wast-parser.y" /* yacc.c:1646 */
+#line 515 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateGetLocal(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2844 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2896 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 54:
-#line 517 "src/wast-parser.y" /* yacc.c:1646 */
+#line 519 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateSetLocal(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2853 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2905 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 55:
-#line 521 "src/wast-parser.y" /* yacc.c:1646 */
+#line 523 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateTeeLocal(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2862 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2914 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 56:
-#line 525 "src/wast-parser.y" /* yacc.c:1646 */
+#line 527 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateGetGlobal(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2871 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2923 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 57:
-#line 529 "src/wast-parser.y" /* yacc.c:1646 */
+#line 531 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateSetGlobal(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2880 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2932 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 58:
-#line 533 "src/wast-parser.y" /* yacc.c:1646 */
+#line 535 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateLoad((yyvsp[-2].opcode), (yyvsp[0].u32), (yyvsp[-1].u64));
}
-#line 2888 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2940 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 59:
-#line 536 "src/wast-parser.y" /* yacc.c:1646 */
+#line 538 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateStore((yyvsp[-2].opcode), (yyvsp[0].u32), (yyvsp[-1].u64));
}
-#line 2896 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2948 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 60:
-#line 539 "src/wast-parser.y" /* yacc.c:1646 */
+#line 541 "src/wast-parser.y" /* yacc.c:1646 */
{
Const const_;
WABT_ZERO_MEMORY(const_);
@@ -2910,252 +2962,286 @@ yyreduce:
delete [] (yyvsp[0].literal).text.start;
(yyval.expr) = Expr::CreateConst(const_);
}
-#line 2914 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2966 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 61:
-#line 552 "src/wast-parser.y" /* yacc.c:1646 */
+#line 554 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateUnary((yyvsp[0].opcode));
}
-#line 2922 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2974 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 62:
-#line 555 "src/wast-parser.y" /* yacc.c:1646 */
+#line 557 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateBinary((yyvsp[0].opcode));
}
-#line 2930 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2982 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 63:
-#line 558 "src/wast-parser.y" /* yacc.c:1646 */
+#line 560 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateCompare((yyvsp[0].opcode));
}
-#line 2938 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2990 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 64:
-#line 561 "src/wast-parser.y" /* yacc.c:1646 */
+#line 563 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateConvert((yyvsp[0].opcode));
}
-#line 2946 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 2998 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 65:
-#line 564 "src/wast-parser.y" /* yacc.c:1646 */
+#line 566 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateCurrentMemory();
}
-#line 2954 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3006 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 66:
-#line 567 "src/wast-parser.y" /* yacc.c:1646 */
+#line 569 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateGrowMemory();
}
-#line 2962 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3014 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 67:
-#line 570 "src/wast-parser.y" /* yacc.c:1646 */
+#line 572 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateThrow(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2971 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3023 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 68:
-#line 574 "src/wast-parser.y" /* yacc.c:1646 */
+#line 576 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateRethrow(std::move(*(yyvsp[0].var)));
delete (yyvsp[0].var);
}
-#line 2980 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3032 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 69:
-#line 581 "src/wast-parser.y" /* yacc.c:1646 */
+#line 583 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateBlock((yyvsp[-2].block));
(yyval.expr)->block->label = (yyvsp[-3].text);
CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block->label, (yyvsp[0].text));
}
-#line 2990 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3042 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 70:
-#line 586 "src/wast-parser.y" /* yacc.c:1646 */
+#line 588 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateLoop((yyvsp[-2].block));
(yyval.expr)->loop->label = (yyvsp[-3].text);
CHECK_END_LABEL((yylsp[0]), (yyval.expr)->loop->label, (yyvsp[0].text));
}
-#line 3000 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3052 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 71:
-#line 591 "src/wast-parser.y" /* yacc.c:1646 */
+#line 593 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateIf((yyvsp[-2].block), nullptr);
(yyval.expr)->if_.true_->label = (yyvsp[-3].text);
CHECK_END_LABEL((yylsp[0]), (yyval.expr)->if_.true_->label, (yyvsp[0].text));
}
-#line 3010 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3062 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 72:
-#line 596 "src/wast-parser.y" /* yacc.c:1646 */
+#line 598 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr) = Expr::CreateIf((yyvsp[-5].block), (yyvsp[-2].expr_list).first);
(yyval.expr)->if_.true_->label = (yyvsp[-6].text);
CHECK_END_LABEL((yylsp[-3]), (yyval.expr)->if_.true_->label, (yyvsp[-3].text));
CHECK_END_LABEL((yylsp[0]), (yyval.expr)->if_.true_->label, (yyvsp[0].text));
}
-#line 3021 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3073 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 73:
-#line 602 "src/wast-parser.y" /* yacc.c:1646 */
+#line 604 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyvsp[-3].block)->label = (yyvsp[-4].text);
(yyval.expr) = Expr::CreateTry((yyvsp[-3].block), (yyvsp[-2].expr_list).first);
CHECK_END_LABEL((yylsp[0]), (yyvsp[-3].block)->label, (yyvsp[0].text));
}
-#line 3031 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3083 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 74:
-#line 610 "src/wast-parser.y" /* yacc.c:1646 */
+#line 612 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.types) = (yyvsp[-1].types); }
-#line 3037 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3089 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 75:
-#line 613 "src/wast-parser.y" /* yacc.c:1646 */
+#line 615 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.block) = (yyvsp[0].block);
(yyval.block)->sig.insert((yyval.block)->sig.end(), (yyvsp[-1].types)->begin(), (yyvsp[-1].types)->end());
delete (yyvsp[-1].types);
}
-#line 3047 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3099 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 76:
-#line 618 "src/wast-parser.y" /* yacc.c:1646 */
+#line 620 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.block) = new Block();
(yyval.block)->first = (yyvsp[0].expr_list).first;
}
-#line 3056 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3108 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 77:
-#line 625 "src/wast-parser.y" /* yacc.c:1646 */
+#line 627 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateCatch(std::move(*(yyvsp[-1].var)), (yyvsp[0].expr_list).first);
delete (yyvsp[-1].var);
(yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr);
}
-#line 3066 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3118 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 78:
-#line 630 "src/wast-parser.y" /* yacc.c:1646 */
+#line 632 "src/wast-parser.y" /* yacc.c:1646 */
{
- Expr* expr = Expr::CreateCatchAll(std::move(*(yyvsp[-1].var)), (yyvsp[0].expr_list).first);
- delete (yyvsp[-1].var);
- (yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr);
+ Expr* expr = Expr::CreateCatchAll((yyvsp[0].expr_list).first);
+ (yyval.expr_list) = join_exprs1(&(yylsp[-1]), expr);
}
-#line 3076 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3127 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 80:
-#line 639 "src/wast-parser.y" /* yacc.c:1646 */
+#line 640 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = join_expr_lists(&(yyvsp[-1].expr_list), &(yyvsp[0].expr_list));
}
-#line 3084 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3135 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 81:
-#line 645 "src/wast-parser.y" /* yacc.c:1646 */
+#line 646 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.expr_list) = (yyvsp[-1].expr_list); }
-#line 3090 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3141 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 82:
-#line 649 "src/wast-parser.y" /* yacc.c:1646 */
+#line 650 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[0].expr_list), (yyvsp[-1].expr));
}
-#line 3098 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3149 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 83:
-#line 652 "src/wast-parser.y" /* yacc.c:1646 */
+#line 653 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateBlock((yyvsp[0].block));
expr->block->label = (yyvsp[-1].text);
(yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr);
}
-#line 3108 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3159 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 84:
-#line 657 "src/wast-parser.y" /* yacc.c:1646 */
+#line 658 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateLoop((yyvsp[0].block));
expr->loop->label = (yyvsp[-1].text);
(yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr);
}
-#line 3118 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3169 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 85:
-#line 662 "src/wast-parser.y" /* yacc.c:1646 */
+#line 663 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = (yyvsp[0].expr_list);
Expr* if_ = (yyvsp[0].expr_list).last;
assert(if_->type == ExprType::If);
if_->if_.true_->label = (yyvsp[-1].text);
}
-#line 3129 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3180 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 86:
-#line 668 "src/wast-parser.y" /* yacc.c:1646 */
+#line 669 "src/wast-parser.y" /* yacc.c:1646 */
{
- (yyvsp[-2].block)->label = (yyvsp[-3].text);
- Expr* try_ = Expr::CreateTry((yyvsp[-2].block), (yyvsp[0].expr_list).first);
- (yyval.expr_list) = join_exprs1(&(yylsp[-6]), try_);
+ Block* block = (yyvsp[0].expr)->try_block.block;
+ block->label = (yyvsp[-1].text);
+ (yyval.expr_list) = join_exprs1(&(yylsp[-2]), (yyvsp[0].expr));
}
-#line 3139 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3190 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
case 87:
-#line 676 "src/wast-parser.y" /* yacc.c:1646 */
+#line 677 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.expr) = (yyvsp[0].expr);
+ Block* block = (yyval.expr)->try_block.block;
+ block->sig.insert(block->sig.end(), (yyvsp[-1].types)->begin(), (yyvsp[-1].types)->end());
+ delete (yyvsp[-1].types);
+ }
+#line 3201 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 89:
+#line 687 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ Block* block = new Block();
+ (yyval.expr) = Expr::CreateTry(block, (yyvsp[0].expr_list).first);
+ }
+#line 3210 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 90:
+#line 691 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.expr) = (yyvsp[0].expr);
+ Block* block = (yyval.expr)->try_block.block;
+ if ((yyvsp[-1].expr_list).last) {
+ (yyvsp[-1].expr_list).last->next = block->first;
+ } else {
+ (yyvsp[-1].expr_list).first->next = block->first;
+ }
+ block->first = (yyvsp[-1].expr_list).first;
+ }
+#line 3225 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 91:
+#line 704 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = (yyvsp[-1].expr_list);
}
-#line 3147 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3233 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 88:
-#line 679 "src/wast-parser.y" /* yacc.c:1646 */
+ case 92:
+#line 707 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = join_expr_lists(&(yyvsp[-2].expr_list), &(yyvsp[0].expr_list));
}
-#line 3155 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3241 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 89:
-#line 685 "src/wast-parser.y" /* yacc.c:1646 */
+ case 93:
+#line 713 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* if_ = (yyvsp[0].expr_list).last;
assert(if_->type == ExprType::If);
@@ -3164,123 +3250,144 @@ yyreduce:
true_->sig.insert(true_->sig.end(), (yyvsp[-1].types)->begin(), (yyvsp[-1].types)->end());
delete (yyvsp[-1].types);
}
-#line 3168 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3254 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 91:
-#line 696 "src/wast-parser.y" /* yacc.c:1646 */
+ case 95:
+#line 724 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[-5].expr_list).first), (yyvsp[-1].expr_list).first);
(yyval.expr_list) = join_exprs1(&(yylsp[-7]), expr);
}
-#line 3177 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3263 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 92:
-#line 700 "src/wast-parser.y" /* yacc.c:1646 */
+ case 96:
+#line 728 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), nullptr);
(yyval.expr_list) = join_exprs1(&(yylsp[-3]), expr);
}
-#line 3186 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3272 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 93:
-#line 704 "src/wast-parser.y" /* yacc.c:1646 */
+ case 97:
+#line 732 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[-5].expr_list).first), (yyvsp[-1].expr_list).first);
(yyval.expr_list) = join_exprs2(&(yylsp[-8]), &(yyvsp[-8].expr_list), expr);
}
-#line 3195 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3281 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 94:
-#line 708 "src/wast-parser.y" /* yacc.c:1646 */
+ case 98:
+#line 736 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), nullptr);
(yyval.expr_list) = join_exprs2(&(yylsp[-4]), &(yyvsp[-4].expr_list), expr);
}
-#line 3204 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3290 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 95:
-#line 712 "src/wast-parser.y" /* yacc.c:1646 */
+ case 99:
+#line 740 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), (yyvsp[0].expr_list).first);
(yyval.expr_list) = join_exprs2(&(yylsp[-2]), &(yyvsp[-2].expr_list), expr);
}
-#line 3213 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3299 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 96:
-#line 716 "src/wast-parser.y" /* yacc.c:1646 */
+ case 100:
+#line 744 "src/wast-parser.y" /* yacc.c:1646 */
{
Expr* expr = Expr::CreateIf(new Block((yyvsp[0].expr_list).first), nullptr);
(yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[-1].expr_list), expr);
}
-#line 3222 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3308 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 97:
-#line 723 "src/wast-parser.y" /* yacc.c:1646 */
+ case 101:
+#line 751 "src/wast-parser.y" /* yacc.c:1646 */
{
CHECK_ALLOW_EXCEPTIONS(&(yylsp[0]), "rethrow");
}
-#line 3230 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3316 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 98:
-#line 728 "src/wast-parser.y" /* yacc.c:1646 */
+ case 102:
+#line 756 "src/wast-parser.y" /* yacc.c:1646 */
{
CHECK_ALLOW_EXCEPTIONS(&(yylsp[0]), "throw");
}
-#line 3238 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3324 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 99:
-#line 734 "src/wast-parser.y" /* yacc.c:1646 */
+ case 103:
+#line 762 "src/wast-parser.y" /* yacc.c:1646 */
{
CHECK_ALLOW_EXCEPTIONS(&(yylsp[0]), "try");
}
-#line 3246 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3332 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 100:
-#line 740 "src/wast-parser.y" /* yacc.c:1646 */
+ case 104:
+#line 768 "src/wast-parser.y" /* yacc.c:1646 */
{ WABT_ZERO_MEMORY((yyval.expr_list)); }
-#line 3252 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3338 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 101:
-#line 741 "src/wast-parser.y" /* yacc.c:1646 */
+ case 105:
+#line 769 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list).first = (yyvsp[-1].expr_list).first;
(yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first;
(yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last;
(yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size;
}
-#line 3263 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3349 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 102:
-#line 749 "src/wast-parser.y" /* yacc.c:1646 */
+ case 106:
+#line 777 "src/wast-parser.y" /* yacc.c:1646 */
{ WABT_ZERO_MEMORY((yyval.expr_list)); }
-#line 3269 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3355 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 103:
-#line 750 "src/wast-parser.y" /* yacc.c:1646 */
+ case 107:
+#line 778 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list).first = (yyvsp[-1].expr_list).first;
(yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first;
(yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last;
(yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size;
}
-#line 3280 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3366 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 105:
-#line 763 "src/wast-parser.y" /* yacc.c:1646 */
+ case 109:
+#line 791 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.exception) = new Exception();
+ (yyval.exception)->name = (yyvsp[-2].text);
+ (yyval.exception)->sig = std::move(*(yyvsp[-1].types));
+ delete (yyvsp[-1].types);
+ }
+#line 3377 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 110:
+#line 799 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.module_field) = new ModuleField(ModuleFieldType::Except);
+ (yyval.module_field)->loc = (yylsp[0]);
+ (yyval.module_field)->except = (yyvsp[0].exception);
+ }
+#line 3387 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 111:
+#line 808 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_fields) = (yyvsp[-1].module_fields);
ModuleField* main = (yyval.module_fields).first;
@@ -3292,11 +3399,11 @@ yyreduce:
main->import->func->name = (yyvsp[-2].text);
}
}
-#line 3296 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3403 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 106:
-#line 777 "src/wast-parser.y" /* yacc.c:1646 */
+ case 112:
+#line 822 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Func);
field->func = (yyvsp[0].func);
@@ -3305,21 +3412,21 @@ yyreduce:
delete (yyvsp[-1].var);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3309 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3416 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 107:
-#line 785 "src/wast-parser.y" /* yacc.c:1646 */
+ case 113:
+#line 830 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Func);
field->func = (yyvsp[0].func);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3319 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3426 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 108:
-#line 790 "src/wast-parser.y" /* yacc.c:1646 */
+ case 114:
+#line 835 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Import);
field->loc = (yylsp[-2]);
@@ -3331,11 +3438,11 @@ yyreduce:
delete (yyvsp[-1].var);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3335 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3442 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 109:
-#line 801 "src/wast-parser.y" /* yacc.c:1646 */
+ case 115:
+#line 846 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Import);
field->loc = (yylsp[-1]);
@@ -3344,11 +3451,11 @@ yyreduce:
field->import->func = (yyvsp[0].func);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3348 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3455 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 110:
-#line 809 "src/wast-parser.y" /* yacc.c:1646 */
+ case 116:
+#line 854 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Export);
field->loc = (yylsp[-1]);
@@ -3357,31 +3464,31 @@ yyreduce:
(yyval.module_fields).first = (yyvsp[0].module_fields).first;
(yyval.module_fields).last = (yyvsp[0].module_fields).last->next = field;
}
-#line 3361 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3468 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 111:
-#line 820 "src/wast-parser.y" /* yacc.c:1646 */
+ case 117:
+#line 865 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
reverse_bindings(&(yyval.func)->decl.sig.param_types, &(yyval.func)->param_bindings);
}
-#line 3370 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3477 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 113:
-#line 828 "src/wast-parser.y" /* yacc.c:1646 */
+ case 119:
+#line 873 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->decl.sig.param_types.insert((yyval.func)->decl.sig.param_types.begin(),
(yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 3381 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3488 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 114:
-#line 834 "src/wast-parser.y" /* yacc.c:1646 */
+ case 120:
+#line 879 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->param_bindings.emplace(string_slice_to_string((yyvsp[-3].text)),
@@ -3389,48 +3496,48 @@ yyreduce:
destroy_string_slice(&(yyvsp[-3].text));
(yyval.func)->decl.sig.param_types.insert((yyval.func)->decl.sig.param_types.begin(), (yyvsp[-2].type));
}
-#line 3393 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3500 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 115:
-#line 844 "src/wast-parser.y" /* yacc.c:1646 */
+ case 121:
+#line 889 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.func) = new Func(); }
-#line 3399 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3506 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 116:
-#line 845 "src/wast-parser.y" /* yacc.c:1646 */
+ case 122:
+#line 890 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->decl.sig.result_types.insert((yyval.func)->decl.sig.result_types.begin(),
(yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 3410 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3517 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 117:
-#line 854 "src/wast-parser.y" /* yacc.c:1646 */
+ case 123:
+#line 899 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
reverse_bindings(&(yyval.func)->decl.sig.param_types, &(yyval.func)->param_bindings);
}
-#line 3419 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3526 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 119:
-#line 862 "src/wast-parser.y" /* yacc.c:1646 */
+ case 125:
+#line 907 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->decl.sig.param_types.insert((yyval.func)->decl.sig.param_types.begin(),
(yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 3430 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3537 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 120:
-#line 868 "src/wast-parser.y" /* yacc.c:1646 */
+ case 126:
+#line 913 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->param_bindings.emplace(string_slice_to_string((yyvsp[-3].text)),
@@ -3438,50 +3545,50 @@ yyreduce:
destroy_string_slice(&(yyvsp[-3].text));
(yyval.func)->decl.sig.param_types.insert((yyval.func)->decl.sig.param_types.begin(), (yyvsp[-2].type));
}
-#line 3442 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3549 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 122:
-#line 879 "src/wast-parser.y" /* yacc.c:1646 */
+ case 128:
+#line 924 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->decl.sig.result_types.insert((yyval.func)->decl.sig.result_types.begin(),
(yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 3453 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3560 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 123:
-#line 888 "src/wast-parser.y" /* yacc.c:1646 */
+ case 129:
+#line 933 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
reverse_bindings(&(yyval.func)->local_types, &(yyval.func)->local_bindings);
}
-#line 3462 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3569 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 124:
-#line 895 "src/wast-parser.y" /* yacc.c:1646 */
+ case 130:
+#line 940 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = new Func();
(yyval.func)->first_expr = (yyvsp[0].expr_list).first;
}
-#line 3471 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3578 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 125:
-#line 899 "src/wast-parser.y" /* yacc.c:1646 */
+ case 131:
+#line 944 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->local_types.insert((yyval.func)->local_types.begin(), (yyvsp[-2].types)->begin(), (yyvsp[-2].types)->end());
delete (yyvsp[-2].types);
}
-#line 3481 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3588 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 126:
-#line 904 "src/wast-parser.y" /* yacc.c:1646 */
+ case 132:
+#line 949 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.func) = (yyvsp[0].func);
(yyval.func)->local_bindings.emplace(string_slice_to_string((yyvsp[-3].text)),
@@ -3489,19 +3596,19 @@ yyreduce:
destroy_string_slice(&(yyvsp[-3].text));
(yyval.func)->local_types.insert((yyval.func)->local_types.begin(), (yyvsp[-2].type));
}
-#line 3493 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3600 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 127:
-#line 916 "src/wast-parser.y" /* yacc.c:1646 */
+ case 133:
+#line 961 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.expr_list) = (yyvsp[-1].expr_list);
}
-#line 3501 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3608 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 129:
-#line 923 "src/wast-parser.y" /* yacc.c:1646 */
+ case 135:
+#line 968 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::ElemSegment);
(yyval.module_field)->loc = (yylsp[-4]);
@@ -3512,11 +3619,11 @@ yyreduce:
(yyval.module_field)->elem_segment->vars = std::move(*(yyvsp[-1].vars));
delete (yyvsp[-1].vars);
}
-#line 3516 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3623 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 130:
-#line 933 "src/wast-parser.y" /* yacc.c:1646 */
+ case 136:
+#line 978 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::ElemSegment);
(yyval.module_field)->loc = (yylsp[-3]);
@@ -3528,11 +3635,11 @@ yyreduce:
(yyval.module_field)->elem_segment->vars = std::move(*(yyvsp[-1].vars));
delete (yyvsp[-1].vars);
}
-#line 3532 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3639 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 131:
-#line 947 "src/wast-parser.y" /* yacc.c:1646 */
+ case 137:
+#line 992 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_fields) = (yyvsp[-1].module_fields);
ModuleField* main = (yyval.module_fields).first;
@@ -3544,22 +3651,22 @@ yyreduce:
main->import->table->name = (yyvsp[-2].text);
}
}
-#line 3548 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3655 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 132:
-#line 961 "src/wast-parser.y" /* yacc.c:1646 */
+ case 138:
+#line 1006 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Table);
field->loc = (yylsp[0]);
field->table = (yyvsp[0].table);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3559 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3666 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 133:
-#line 967 "src/wast-parser.y" /* yacc.c:1646 */
+ case 139:
+#line 1012 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Import);
field->loc = (yylsp[-1]);
@@ -3568,11 +3675,11 @@ yyreduce:
field->import->table = (yyvsp[0].table);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3572 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3679 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 134:
-#line 975 "src/wast-parser.y" /* yacc.c:1646 */
+ case 140:
+#line 1020 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Export);
field->loc = (yylsp[-1]);
@@ -3581,11 +3688,11 @@ yyreduce:
(yyval.module_fields).first = (yyvsp[0].module_fields).first;
(yyval.module_fields).last = (yyvsp[0].module_fields).last->next = field;
}
-#line 3585 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3692 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 135:
-#line 983 "src/wast-parser.y" /* yacc.c:1646 */
+ case 141:
+#line 1028 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* table_field = new ModuleField(ModuleFieldType::Table);
Table* table = table_field->table = new Table();
@@ -3603,11 +3710,11 @@ yyreduce:
(yyval.module_fields).first = table_field;
(yyval.module_fields).last = table_field->next = elem_field;
}
-#line 3607 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3714 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 136:
-#line 1003 "src/wast-parser.y" /* yacc.c:1646 */
+ case 142:
+#line 1048 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::DataSegment);
(yyval.module_field)->loc = (yylsp[-4]);
@@ -3618,11 +3725,11 @@ yyreduce:
dup_text_list(&(yyvsp[-1].text_list), &(yyval.module_field)->data_segment->data, &(yyval.module_field)->data_segment->size);
destroy_text_list(&(yyvsp[-1].text_list));
}
-#line 3622 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3729 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 137:
-#line 1013 "src/wast-parser.y" /* yacc.c:1646 */
+ case 143:
+#line 1058 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::DataSegment);
(yyval.module_field)->loc = (yylsp[-3]);
@@ -3634,11 +3741,11 @@ yyreduce:
dup_text_list(&(yyvsp[-1].text_list), &(yyval.module_field)->data_segment->data, &(yyval.module_field)->data_segment->size);
destroy_text_list(&(yyvsp[-1].text_list));
}
-#line 3638 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3745 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 138:
-#line 1027 "src/wast-parser.y" /* yacc.c:1646 */
+ case 144:
+#line 1072 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_fields) = (yyvsp[-1].module_fields);
ModuleField* main = (yyval.module_fields).first;
@@ -3650,21 +3757,21 @@ yyreduce:
main->import->memory->name = (yyvsp[-2].text);
}
}
-#line 3654 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3761 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 139:
-#line 1041 "src/wast-parser.y" /* yacc.c:1646 */
+ case 145:
+#line 1086 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Memory);
field->memory = (yyvsp[0].memory);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3664 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3771 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 140:
-#line 1046 "src/wast-parser.y" /* yacc.c:1646 */
+ case 146:
+#line 1091 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Import);
field->loc = (yylsp[-1]);
@@ -3673,11 +3780,11 @@ yyreduce:
field->import->memory = (yyvsp[0].memory);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3677 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3784 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 141:
-#line 1054 "src/wast-parser.y" /* yacc.c:1646 */
+ case 147:
+#line 1099 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Export);
field->loc = (yylsp[-1]);
@@ -3686,11 +3793,11 @@ yyreduce:
(yyval.module_fields).first = (yyvsp[0].module_fields).first;
(yyval.module_fields).last = (yyvsp[0].module_fields).last->next = field;
}
-#line 3690 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3797 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 142:
-#line 1062 "src/wast-parser.y" /* yacc.c:1646 */
+ case 148:
+#line 1107 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* data_field = new ModuleField(ModuleFieldType::DataSegment);
data_field->loc = (yylsp[-2]);
@@ -3712,11 +3819,11 @@ yyreduce:
(yyval.module_fields).first = memory_field;
(yyval.module_fields).last = memory_field->next = data_field;
}
-#line 3716 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3823 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 143:
-#line 1086 "src/wast-parser.y" /* yacc.c:1646 */
+ case 149:
+#line 1131 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_fields) = (yyvsp[-1].module_fields);
ModuleField* main = (yyval.module_fields).first;
@@ -3728,22 +3835,22 @@ yyreduce:
main->import->global->name = (yyvsp[-2].text);
}
}
-#line 3732 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3839 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 144:
-#line 1100 "src/wast-parser.y" /* yacc.c:1646 */
+ case 150:
+#line 1145 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Global);
field->global = (yyvsp[-1].global);
field->global->init_expr = (yyvsp[0].expr_list).first;
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3743 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3850 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 145:
-#line 1106 "src/wast-parser.y" /* yacc.c:1646 */
+ case 151:
+#line 1151 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Import);
field->loc = (yylsp[-1]);
@@ -3752,11 +3859,11 @@ yyreduce:
field->import->global = (yyvsp[0].global);
(yyval.module_fields).first = (yyval.module_fields).last = field;
}
-#line 3756 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3863 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 146:
-#line 1114 "src/wast-parser.y" /* yacc.c:1646 */
+ case 152:
+#line 1159 "src/wast-parser.y" /* yacc.c:1646 */
{
ModuleField* field = new ModuleField(ModuleFieldType::Export);
field->loc = (yylsp[-1]);
@@ -3765,11 +3872,11 @@ yyreduce:
(yyval.module_fields).first = (yyvsp[0].module_fields).first;
(yyval.module_fields).last = (yyvsp[0].module_fields).last->next = field;
}
-#line 3769 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3876 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 147:
-#line 1127 "src/wast-parser.y" /* yacc.c:1646 */
+ case 153:
+#line 1172 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->kind = ExternalKind::Func;
@@ -3779,11 +3886,11 @@ yyreduce:
(yyval.import)->func->decl.type_var = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3783 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3890 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 148:
-#line 1136 "src/wast-parser.y" /* yacc.c:1646 */
+ case 154:
+#line 1181 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->kind = ExternalKind::Func;
@@ -3792,44 +3899,54 @@ yyreduce:
(yyval.import)->func->decl.sig = std::move(*(yyvsp[-1].func_sig));
delete (yyvsp[-1].func_sig);
}
-#line 3796 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3903 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 149:
-#line 1144 "src/wast-parser.y" /* yacc.c:1646 */
+ case 155:
+#line 1189 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->kind = ExternalKind::Table;
(yyval.import)->table = (yyvsp[-1].table);
(yyval.import)->table->name = (yyvsp[-2].text);
}
-#line 3807 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3914 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 150:
-#line 1150 "src/wast-parser.y" /* yacc.c:1646 */
+ case 156:
+#line 1195 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->kind = ExternalKind::Memory;
(yyval.import)->memory = (yyvsp[-1].memory);
(yyval.import)->memory->name = (yyvsp[-2].text);
}
-#line 3818 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3925 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 151:
-#line 1156 "src/wast-parser.y" /* yacc.c:1646 */
+ case 157:
+#line 1201 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->kind = ExternalKind::Global;
(yyval.import)->global = (yyvsp[-1].global);
(yyval.import)->global->name = (yyvsp[-2].text);
}
-#line 3829 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3936 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 152:
-#line 1165 "src/wast-parser.y" /* yacc.c:1646 */
+ case 158:
+#line 1207 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.import) = new Import();
+ (yyval.import)->kind = ExternalKind::Except;
+ (yyval.import)->except = (yyvsp[0].exception);
+ }
+#line 3946 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 159:
+#line 1215 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::Import);
(yyval.module_field)->loc = (yylsp[-4]);
@@ -3837,85 +3954,96 @@ yyreduce:
(yyval.module_field)->import->module_name = (yyvsp[-3].text);
(yyval.module_field)->import->field_name = (yyvsp[-2].text);
}
-#line 3841 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3958 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 153:
-#line 1175 "src/wast-parser.y" /* yacc.c:1646 */
+ case 160:
+#line 1225 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.import) = new Import();
(yyval.import)->module_name = (yyvsp[-2].text);
(yyval.import)->field_name = (yyvsp[-1].text);
}
-#line 3851 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3968 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 154:
-#line 1183 "src/wast-parser.y" /* yacc.c:1646 */
+ case 161:
+#line 1233 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.export_) = new Export();
(yyval.export_)->kind = ExternalKind::Func;
(yyval.export_)->var = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3862 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3979 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 155:
-#line 1189 "src/wast-parser.y" /* yacc.c:1646 */
+ case 162:
+#line 1239 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.export_) = new Export();
(yyval.export_)->kind = ExternalKind::Table;
(yyval.export_)->var = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3873 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 3990 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 156:
-#line 1195 "src/wast-parser.y" /* yacc.c:1646 */
+ case 163:
+#line 1245 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.export_) = new Export();
(yyval.export_)->kind = ExternalKind::Memory;
(yyval.export_)->var = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3884 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4001 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 157:
-#line 1201 "src/wast-parser.y" /* yacc.c:1646 */
+ case 164:
+#line 1251 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.export_) = new Export();
(yyval.export_)->kind = ExternalKind::Global;
(yyval.export_)->var = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3895 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4012 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 158:
-#line 1209 "src/wast-parser.y" /* yacc.c:1646 */
+ case 165:
+#line 1257 "src/wast-parser.y" /* yacc.c:1646 */
+ {
+ (yyval.export_) = new Export();
+ (yyval.export_)->kind = ExternalKind::Except;
+ (yyval.export_)->var = std::move(*(yyvsp[-1].var));
+ delete (yyvsp[-1].var);
+ }
+#line 4023 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 166:
+#line 1265 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::Export);
(yyval.module_field)->loc = (yylsp[-3]);
(yyval.module_field)->export_ = (yyvsp[-1].export_);
(yyval.module_field)->export_->name = (yyvsp[-2].text);
}
-#line 3906 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4034 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 159:
-#line 1218 "src/wast-parser.y" /* yacc.c:1646 */
+ case 167:
+#line 1274 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.export_) = new Export();
(yyval.export_)->name = (yyvsp[-1].text);
}
-#line 3915 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4043 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 160:
-#line 1228 "src/wast-parser.y" /* yacc.c:1646 */
+ case 168:
+#line 1284 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::FuncType);
(yyval.module_field)->loc = (yylsp[-2]);
@@ -3923,11 +4051,11 @@ yyreduce:
(yyval.module_field)->func_type->sig = std::move(*(yyvsp[-1].func_sig));
delete (yyvsp[-1].func_sig);
}
-#line 3927 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4055 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 161:
-#line 1235 "src/wast-parser.y" /* yacc.c:1646 */
+ case 169:
+#line 1291 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::FuncType);
(yyval.module_field)->loc = (yylsp[-3]);
@@ -3936,84 +4064,90 @@ yyreduce:
(yyval.module_field)->func_type->sig = std::move(*(yyvsp[-1].func_sig));
delete (yyvsp[-1].func_sig);
}
-#line 3940 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4068 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 162:
-#line 1246 "src/wast-parser.y" /* yacc.c:1646 */
+ case 170:
+#line 1302 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module_field) = new ModuleField(ModuleFieldType::Start);
(yyval.module_field)->loc = (yylsp[-2]);
(yyval.module_field)->start = std::move(*(yyvsp[-1].var));
delete (yyvsp[-1].var);
}
-#line 3951 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4079 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 163:
-#line 1255 "src/wast-parser.y" /* yacc.c:1646 */
+ case 171:
+#line 1311 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3957 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4085 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 168:
-#line 1260 "src/wast-parser.y" /* yacc.c:1646 */
+ case 176:
+#line 1316 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3963 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4091 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 169:
-#line 1261 "src/wast-parser.y" /* yacc.c:1646 */
+ case 177:
+#line 1317 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3969 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4097 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 170:
-#line 1262 "src/wast-parser.y" /* yacc.c:1646 */
+ case 178:
+#line 1318 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3975 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4103 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 171:
-#line 1263 "src/wast-parser.y" /* yacc.c:1646 */
+ case 179:
+#line 1319 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3981 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4109 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 172:
-#line 1264 "src/wast-parser.y" /* yacc.c:1646 */
+ case 180:
+#line 1320 "src/wast-parser.y" /* yacc.c:1646 */
+ { (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
+#line 4115 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+ break;
+
+ case 181:
+#line 1321 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module_fields).first = (yyval.module_fields).last = (yyvsp[0].module_field); }
-#line 3987 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4121 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 173:
-#line 1268 "src/wast-parser.y" /* yacc.c:1646 */
+ case 182:
+#line 1325 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.module) = new Module(); }
-#line 3993 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4127 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 175:
-#line 1273 "src/wast-parser.y" /* yacc.c:1646 */
+ case 184:
+#line 1330 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module) = new Module();
check_import_ordering(&(yylsp[0]), lexer, parser, (yyval.module), (yyvsp[0].module_fields).first);
append_module_fields((yyval.module), (yyvsp[0].module_fields).first);
}
-#line 4003 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4137 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 176:
-#line 1278 "src/wast-parser.y" /* yacc.c:1646 */
+ case 185:
+#line 1335 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.module) = (yyvsp[-1].module);
check_import_ordering(&(yylsp[0]), lexer, parser, (yyval.module), (yyvsp[0].module_fields).first);
append_module_fields((yyval.module), (yyvsp[0].module_fields).first);
}
-#line 4013 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4147 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 177:
-#line 1286 "src/wast-parser.y" /* yacc.c:1646 */
+ case 186:
+#line 1343 "src/wast-parser.y" /* yacc.c:1646 */
{
if ((yyvsp[0].script_module)->type == ScriptModule::Type::Text) {
(yyval.module) = (yyvsp[0].script_module)->text;
@@ -4031,29 +4165,29 @@ yyreduce:
}
delete (yyvsp[0].script_module);
}
-#line 4035 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4169 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 179:
-#line 1313 "src/wast-parser.y" /* yacc.c:1646 */
+ case 188:
+#line 1370 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.var) = new Var(kInvalidIndex);
}
-#line 4043 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4177 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 180:
-#line 1316 "src/wast-parser.y" /* yacc.c:1646 */
+ case 189:
+#line 1373 "src/wast-parser.y" /* yacc.c:1646 */
{
StringSlice name;
DUPTEXT(name, (yyvsp[0].text));
(yyval.var) = new Var(name);
}
-#line 4053 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4187 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 181:
-#line 1324 "src/wast-parser.y" /* yacc.c:1646 */
+ case 190:
+#line 1381 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script_module) = new ScriptModule();
(yyval.script_module)->type = ScriptModule::Type::Text;
@@ -4072,11 +4206,11 @@ yyreduce:
}
}
}
-#line 4076 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4210 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 182:
-#line 1342 "src/wast-parser.y" /* yacc.c:1646 */
+ case 191:
+#line 1399 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script_module) = new ScriptModule();
(yyval.script_module)->type = ScriptModule::Type::Binary;
@@ -4085,11 +4219,11 @@ yyreduce:
dup_text_list(&(yyvsp[-1].text_list), &(yyval.script_module)->binary.data, &(yyval.script_module)->binary.size);
destroy_text_list(&(yyvsp[-1].text_list));
}
-#line 4089 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4223 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 183:
-#line 1350 "src/wast-parser.y" /* yacc.c:1646 */
+ case 192:
+#line 1407 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script_module) = new ScriptModule();
(yyval.script_module)->type = ScriptModule::Type::Quoted;
@@ -4098,11 +4232,11 @@ yyreduce:
dup_text_list(&(yyvsp[-1].text_list), &(yyval.script_module)->quoted.data, &(yyval.script_module)->quoted.size);
destroy_text_list(&(yyvsp[-1].text_list));
}
-#line 4102 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4236 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 184:
-#line 1361 "src/wast-parser.y" /* yacc.c:1646 */
+ case 193:
+#line 1418 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.action) = new Action();
(yyval.action)->loc = (yylsp[-4]);
@@ -4114,11 +4248,11 @@ yyreduce:
(yyval.action)->invoke->args = std::move(*(yyvsp[-1].consts));
delete (yyvsp[-1].consts);
}
-#line 4118 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4252 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 185:
-#line 1372 "src/wast-parser.y" /* yacc.c:1646 */
+ case 194:
+#line 1429 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.action) = new Action();
(yyval.action)->loc = (yylsp[-3]);
@@ -4127,128 +4261,128 @@ yyreduce:
(yyval.action)->type = ActionType::Get;
(yyval.action)->name = (yyvsp[-1].text);
}
-#line 4131 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4265 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 186:
-#line 1383 "src/wast-parser.y" /* yacc.c:1646 */
+ case 195:
+#line 1440 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertMalformed;
(yyval.command)->assert_malformed.module = (yyvsp[-2].script_module);
(yyval.command)->assert_malformed.text = (yyvsp[-1].text);
}
-#line 4142 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4276 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 187:
-#line 1389 "src/wast-parser.y" /* yacc.c:1646 */
+ case 196:
+#line 1446 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertInvalid;
(yyval.command)->assert_invalid.module = (yyvsp[-2].script_module);
(yyval.command)->assert_invalid.text = (yyvsp[-1].text);
}
-#line 4153 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4287 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 188:
-#line 1395 "src/wast-parser.y" /* yacc.c:1646 */
+ case 197:
+#line 1452 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertUnlinkable;
(yyval.command)->assert_unlinkable.module = (yyvsp[-2].script_module);
(yyval.command)->assert_unlinkable.text = (yyvsp[-1].text);
}
-#line 4164 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4298 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 189:
-#line 1401 "src/wast-parser.y" /* yacc.c:1646 */
+ case 198:
+#line 1458 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertUninstantiable;
(yyval.command)->assert_uninstantiable.module = (yyvsp[-2].script_module);
(yyval.command)->assert_uninstantiable.text = (yyvsp[-1].text);
}
-#line 4175 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4309 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 190:
-#line 1407 "src/wast-parser.y" /* yacc.c:1646 */
+ case 199:
+#line 1464 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertReturn;
(yyval.command)->assert_return.action = (yyvsp[-2].action);
(yyval.command)->assert_return.expected = (yyvsp[-1].consts);
}
-#line 4186 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4320 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 191:
-#line 1413 "src/wast-parser.y" /* yacc.c:1646 */
+ case 200:
+#line 1470 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertReturnCanonicalNan;
(yyval.command)->assert_return_canonical_nan.action = (yyvsp[-1].action);
}
-#line 4196 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4330 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 192:
-#line 1418 "src/wast-parser.y" /* yacc.c:1646 */
+ case 201:
+#line 1475 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertReturnArithmeticNan;
(yyval.command)->assert_return_arithmetic_nan.action = (yyvsp[-1].action);
}
-#line 4206 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4340 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 193:
-#line 1423 "src/wast-parser.y" /* yacc.c:1646 */
+ case 202:
+#line 1480 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertTrap;
(yyval.command)->assert_trap.action = (yyvsp[-2].action);
(yyval.command)->assert_trap.text = (yyvsp[-1].text);
}
-#line 4217 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4351 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 194:
-#line 1429 "src/wast-parser.y" /* yacc.c:1646 */
+ case 203:
+#line 1486 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::AssertExhaustion;
(yyval.command)->assert_trap.action = (yyvsp[-2].action);
(yyval.command)->assert_trap.text = (yyvsp[-1].text);
}
-#line 4228 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4362 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 195:
-#line 1438 "src/wast-parser.y" /* yacc.c:1646 */
+ case 204:
+#line 1495 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::Action;
(yyval.command)->action = (yyvsp[0].action);
}
-#line 4238 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4372 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 197:
-#line 1444 "src/wast-parser.y" /* yacc.c:1646 */
+ case 206:
+#line 1501 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::Module;
(yyval.command)->module = (yyvsp[0].module);
}
-#line 4248 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4382 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 198:
-#line 1449 "src/wast-parser.y" /* yacc.c:1646 */
+ case 207:
+#line 1506 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.command) = new Command();
(yyval.command)->type = CommandType::Register;
@@ -4257,29 +4391,29 @@ yyreduce:
delete (yyvsp[-1].var);
(yyval.command)->register_.var.loc = (yylsp[-1]);
}
-#line 4261 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4395 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 199:
-#line 1459 "src/wast-parser.y" /* yacc.c:1646 */
+ case 208:
+#line 1516 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.commands) = new CommandPtrVector();
(yyval.commands)->emplace_back((yyvsp[0].command));
}
-#line 4270 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4404 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 200:
-#line 1463 "src/wast-parser.y" /* yacc.c:1646 */
+ case 209:
+#line 1520 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.commands) = (yyvsp[-1].commands);
(yyval.commands)->emplace_back((yyvsp[0].command));
}
-#line 4279 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4413 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 201:
-#line 1470 "src/wast-parser.y" /* yacc.c:1646 */
+ case 210:
+#line 1527 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.const_).loc = (yylsp[-2]);
if (WABT_FAILED(parse_const((yyvsp[-2].type), (yyvsp[-1].literal).type, (yyvsp[-1].literal).text.start,
@@ -4290,34 +4424,34 @@ yyreduce:
}
delete [] (yyvsp[-1].literal).text.start;
}
-#line 4294 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4428 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 202:
-#line 1482 "src/wast-parser.y" /* yacc.c:1646 */
+ case 211:
+#line 1539 "src/wast-parser.y" /* yacc.c:1646 */
{ (yyval.consts) = new ConstVector(); }
-#line 4300 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4434 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 203:
-#line 1483 "src/wast-parser.y" /* yacc.c:1646 */
+ case 212:
+#line 1540 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.consts) = (yyvsp[-1].consts);
(yyval.consts)->push_back((yyvsp[0].const_));
}
-#line 4309 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4443 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 204:
-#line 1490 "src/wast-parser.y" /* yacc.c:1646 */
+ case 213:
+#line 1547 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script) = new Script();
}
-#line 4317 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4451 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 205:
-#line 1493 "src/wast-parser.y" /* yacc.c:1646 */
+ case 214:
+#line 1550 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script) = new Script();
(yyval.script)->commands = std::move(*(yyvsp[0].commands));
@@ -4378,11 +4512,11 @@ yyreduce:
}
}
}
-#line 4382 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4516 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 206:
-#line 1553 "src/wast-parser.y" /* yacc.c:1646 */
+ case 215:
+#line 1610 "src/wast-parser.y" /* yacc.c:1646 */
{
(yyval.script) = new Script();
Command* command = new Command();
@@ -4390,17 +4524,17 @@ yyreduce:
command->module = (yyvsp[0].module);
(yyval.script)->commands.emplace_back(command);
}
-#line 4394 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4528 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
- case 207:
-#line 1565 "src/wast-parser.y" /* yacc.c:1646 */
+ case 216:
+#line 1622 "src/wast-parser.y" /* yacc.c:1646 */
{ parser->script = (yyvsp[0].script); }
-#line 4400 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4534 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
break;
-#line 4404 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
+#line 4538 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4635,7 +4769,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 1568 "src/wast-parser.y" /* yacc.c:1906 */
+#line 1625 "src/wast-parser.y" /* yacc.c:1906 */
void append_expr_list(ExprList* expr_list, ExprList* expr) {
@@ -4810,7 +4944,8 @@ void check_import_ordering(Location* loc, WastLexer* lexer, WastParser* parser,
if (module->funcs.size() != module->num_func_imports ||
module->tables.size() != module->num_table_imports ||
module->memories.size() != module->num_memory_imports ||
- module->globals.size() != module->num_global_imports) {
+ module->globals.size() != module->num_global_imports ||
+ module->excepts.size() != module->num_except_imports) {
wast_parser_error(
loc, lexer, parser,
"imports must occur before all non-import definitions");
@@ -4877,6 +5012,13 @@ void append_module_fields(Module* module, ModuleField* first) {
module->globals.push_back(field->import->global);
++module->num_global_imports;
break;
+ case ExternalKind::Except:
+ name = &field->import->except->name;
+ bindings = &module->except_bindings;
+ index = module->excepts.size();
+ module->excepts.push_back(field->except);
+ ++module->num_except_imports;
+ break;
}
module->imports.push_back(field->import);
break;
@@ -4932,6 +5074,13 @@ void append_module_fields(Module* module, ModuleField* first) {
module->data_segments.push_back(field->data_segment);
break;
+ case ModuleFieldType::Except:
+ name = &field->except->name;
+ bindings = &module->except_bindings;
+ index = module->excepts.size();
+ module->excepts.push_back(field->except);
+ break;
+
case ModuleFieldType::Start:
module->start = &field->start;
break;
diff --git a/src/prebuilt/wast-parser-gen.hh b/src/prebuilt/wast-parser-gen.hh
index 4653690b..b20d1b92 100644
--- a/src/prebuilt/wast-parser-gen.hh
+++ b/src/prebuilt/wast-parser-gen.hh
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -115,21 +115,22 @@ extern int wabt_wast_parser_debug;
WABT_TOKEN_TYPE_OFFSET = 316,
WABT_TOKEN_TYPE_IMPORT = 317,
WABT_TOKEN_TYPE_EXPORT = 318,
- WABT_TOKEN_TYPE_MODULE = 319,
- WABT_TOKEN_TYPE_BIN = 320,
- WABT_TOKEN_TYPE_QUOTE = 321,
- WABT_TOKEN_TYPE_REGISTER = 322,
- WABT_TOKEN_TYPE_INVOKE = 323,
- WABT_TOKEN_TYPE_GET = 324,
- WABT_TOKEN_TYPE_ASSERT_MALFORMED = 325,
- WABT_TOKEN_TYPE_ASSERT_INVALID = 326,
- WABT_TOKEN_TYPE_ASSERT_UNLINKABLE = 327,
- WABT_TOKEN_TYPE_ASSERT_RETURN = 328,
- WABT_TOKEN_TYPE_ASSERT_RETURN_CANONICAL_NAN = 329,
- WABT_TOKEN_TYPE_ASSERT_RETURN_ARITHMETIC_NAN = 330,
- WABT_TOKEN_TYPE_ASSERT_TRAP = 331,
- WABT_TOKEN_TYPE_ASSERT_EXHAUSTION = 332,
- WABT_TOKEN_TYPE_LOW = 333
+ WABT_TOKEN_TYPE_EXCEPT = 319,
+ WABT_TOKEN_TYPE_MODULE = 320,
+ WABT_TOKEN_TYPE_BIN = 321,
+ WABT_TOKEN_TYPE_QUOTE = 322,
+ WABT_TOKEN_TYPE_REGISTER = 323,
+ WABT_TOKEN_TYPE_INVOKE = 324,
+ WABT_TOKEN_TYPE_GET = 325,
+ WABT_TOKEN_TYPE_ASSERT_MALFORMED = 326,
+ WABT_TOKEN_TYPE_ASSERT_INVALID = 327,
+ WABT_TOKEN_TYPE_ASSERT_UNLINKABLE = 328,
+ WABT_TOKEN_TYPE_ASSERT_RETURN = 329,
+ WABT_TOKEN_TYPE_ASSERT_RETURN_CANONICAL_NAN = 330,
+ WABT_TOKEN_TYPE_ASSERT_RETURN_ARITHMETIC_NAN = 331,
+ WABT_TOKEN_TYPE_ASSERT_TRAP = 332,
+ WABT_TOKEN_TYPE_ASSERT_EXHAUSTION = 333,
+ WABT_TOKEN_TYPE_LOW = 334
};
#endif
diff --git a/src/prebuilt/wast-parser-gen.output b/src/prebuilt/wast-parser-gen.output
index 8b9dbaf5..1c4f03ec 100644
--- a/src/prebuilt/wast-parser-gen.output
+++ b/src/prebuilt/wast-parser-gen.output
@@ -105,7 +105,7 @@ Grammar
75 | instr_list
76 catch_instr: CATCH var instr_list
- 77 | CATCH_ALL var instr_list
+ 77 | CATCH_ALL instr_list
78 catch_instr_list: catch_instr
79 | catch_instr catch_instr_list
@@ -116,217 +116,232 @@ Grammar
82 | BLOCK labeling_opt block
83 | LOOP labeling_opt block
84 | IF labeling_opt if_block
- 85 | try_check "(" BLOCK labeling_opt block ")" catch_list
+ 85 | try_check labeling_opt try_
- 86 catch_list: "(" catch_instr ")"
- 87 | "(" catch_instr ")" catch_list
+ 86 try_: block_sig try_
+ 87 | try_instr_list
- 88 if_block: block_sig if_block
- 89 | if_
+ 88 try_instr_list: catch_list
+ 89 | instr try_instr_list
- 90 if_: "(" THEN instr_list ")" "(" ELSE instr_list ")"
- 91 | "(" THEN instr_list ")"
- 92 | expr "(" THEN instr_list ")" "(" ELSE instr_list ")"
- 93 | expr "(" THEN instr_list ")"
- 94 | expr expr expr
- 95 | expr expr
+ 90 catch_list: "(" catch_instr ")"
+ 91 | "(" catch_instr ")" catch_list
- 96 rethrow_check: RETHROW
+ 92 if_block: block_sig if_block
+ 93 | if_
- 97 throw_check: THROW
+ 94 if_: "(" THEN instr_list ")" "(" ELSE instr_list ")"
+ 95 | "(" THEN instr_list ")"
+ 96 | expr "(" THEN instr_list ")" "(" ELSE instr_list ")"
+ 97 | expr "(" THEN instr_list ")"
+ 98 | expr expr expr
+ 99 | expr expr
- 98 try_check: TRY
+ 100 rethrow_check: RETHROW
- 99 instr_list: %empty
- 100 | instr instr_list
+ 101 throw_check: THROW
- 101 expr_list: %empty
- 102 | expr expr_list
+ 102 try_check: TRY
- 103 const_expr: instr_list
+ 103 instr_list: %empty
+ 104 | instr instr_list
- 104 func: "(" FUNC bind_var_opt func_fields ")"
+ 105 expr_list: %empty
+ 106 | expr expr_list
- 105 func_fields: type_use func_fields_body
- 106 | func_fields_body
- 107 | inline_import type_use func_fields_import
- 108 | inline_import func_fields_import
- 109 | inline_export func_fields
+ 107 const_expr: instr_list
- 110 func_fields_import: func_fields_import1
+ 108 exception: "(" EXCEPT bind_var_opt value_type_list ")"
- 111 func_fields_import1: func_fields_import_result
- 112 | "(" PARAM value_type_list ")" func_fields_import1
- 113 | "(" PARAM bind_var VALUE_TYPE ")" func_fields_import1
+ 109 exception_field: exception
- 114 func_fields_import_result: %empty
- 115 | "(" RESULT value_type_list ")" func_fields_import_result
+ 110 func: "(" FUNC bind_var_opt func_fields ")"
- 116 func_fields_body: func_fields_body1
+ 111 func_fields: type_use func_fields_body
+ 112 | func_fields_body
+ 113 | inline_import type_use func_fields_import
+ 114 | inline_import func_fields_import
+ 115 | inline_export func_fields
- 117 func_fields_body1: func_result_body
- 118 | "(" PARAM value_type_list ")" func_fields_body1
- 119 | "(" PARAM bind_var VALUE_TYPE ")" func_fields_body1
+ 116 func_fields_import: func_fields_import1
- 120 func_result_body: func_body
- 121 | "(" RESULT value_type_list ")" func_result_body
+ 117 func_fields_import1: func_fields_import_result
+ 118 | "(" PARAM value_type_list ")" func_fields_import1
+ 119 | "(" PARAM bind_var VALUE_TYPE ")" func_fields_import1
- 122 func_body: func_body1
+ 120 func_fields_import_result: %empty
+ 121 | "(" RESULT value_type_list ")" func_fields_import_result
- 123 func_body1: instr_list
- 124 | "(" LOCAL value_type_list ")" func_body1
- 125 | "(" LOCAL bind_var VALUE_TYPE ")" func_body1
+ 122 func_fields_body: func_fields_body1
- 126 offset: "(" OFFSET const_expr ")"
- 127 | expr
+ 123 func_fields_body1: func_result_body
+ 124 | "(" PARAM value_type_list ")" func_fields_body1
+ 125 | "(" PARAM bind_var VALUE_TYPE ")" func_fields_body1
- 128 elem: "(" ELEM var offset var_list ")"
- 129 | "(" ELEM offset var_list ")"
+ 126 func_result_body: func_body
+ 127 | "(" RESULT value_type_list ")" func_result_body
- 130 table: "(" TABLE bind_var_opt table_fields ")"
+ 128 func_body: func_body1
- 131 table_fields: table_sig
- 132 | inline_import table_sig
- 133 | inline_export table_fields
- 134 | elem_type "(" ELEM var_list ")"
+ 129 func_body1: instr_list
+ 130 | "(" LOCAL value_type_list ")" func_body1
+ 131 | "(" LOCAL bind_var VALUE_TYPE ")" func_body1
- 135 data: "(" DATA var offset text_list_opt ")"
- 136 | "(" DATA offset text_list_opt ")"
+ 132 offset: "(" OFFSET const_expr ")"
+ 133 | expr
- 137 memory: "(" MEMORY bind_var_opt memory_fields ")"
+ 134 elem: "(" ELEM var offset var_list ")"
+ 135 | "(" ELEM offset var_list ")"
- 138 memory_fields: memory_sig
- 139 | inline_import memory_sig
- 140 | inline_export memory_fields
- 141 | "(" DATA text_list_opt ")"
+ 136 table: "(" TABLE bind_var_opt table_fields ")"
- 142 global: "(" GLOBAL bind_var_opt global_fields ")"
+ 137 table_fields: table_sig
+ 138 | inline_import table_sig
+ 139 | inline_export table_fields
+ 140 | elem_type "(" ELEM var_list ")"
- 143 global_fields: global_type const_expr
- 144 | inline_import global_type
- 145 | inline_export global_fields
+ 141 data: "(" DATA var offset text_list_opt ")"
+ 142 | "(" DATA offset text_list_opt ")"
- 146 import_desc: "(" FUNC bind_var_opt type_use ")"
- 147 | "(" FUNC bind_var_opt func_sig ")"
- 148 | "(" TABLE bind_var_opt table_sig ")"
- 149 | "(" MEMORY bind_var_opt memory_sig ")"
- 150 | "(" GLOBAL bind_var_opt global_type ")"
+ 143 memory: "(" MEMORY bind_var_opt memory_fields ")"
- 151 import: "(" IMPORT quoted_text quoted_text import_desc ")"
+ 144 memory_fields: memory_sig
+ 145 | inline_import memory_sig
+ 146 | inline_export memory_fields
+ 147 | "(" DATA text_list_opt ")"
- 152 inline_import: "(" IMPORT quoted_text quoted_text ")"
+ 148 global: "(" GLOBAL bind_var_opt global_fields ")"
- 153 export_desc: "(" FUNC var ")"
- 154 | "(" TABLE var ")"
- 155 | "(" MEMORY var ")"
- 156 | "(" GLOBAL var ")"
+ 149 global_fields: global_type const_expr
+ 150 | inline_import global_type
+ 151 | inline_export global_fields
- 157 export: "(" EXPORT quoted_text export_desc ")"
+ 152 import_desc: "(" FUNC bind_var_opt type_use ")"
+ 153 | "(" FUNC bind_var_opt func_sig ")"
+ 154 | "(" TABLE bind_var_opt table_sig ")"
+ 155 | "(" MEMORY bind_var_opt memory_sig ")"
+ 156 | "(" GLOBAL bind_var_opt global_type ")"
+ 157 | exception
- 158 inline_export: "(" EXPORT quoted_text ")"
+ 158 import: "(" IMPORT quoted_text quoted_text import_desc ")"
- 159 type_def: "(" TYPE func_type ")"
- 160 | "(" TYPE bind_var func_type ")"
+ 159 inline_import: "(" IMPORT quoted_text quoted_text ")"
- 161 start: "(" START var ")"
+ 160 export_desc: "(" FUNC var ")"
+ 161 | "(" TABLE var ")"
+ 162 | "(" MEMORY var ")"
+ 163 | "(" GLOBAL var ")"
+ 164 | "(" EXCEPT var ")"
- 162 module_field: type_def
- 163 | global
- 164 | table
- 165 | memory
- 166 | func
- 167 | elem
- 168 | data
- 169 | start
- 170 | import
- 171 | export
+ 165 export: "(" EXPORT quoted_text export_desc ")"
- 172 module_fields_opt: %empty
- 173 | module_fields
+ 166 inline_export: "(" EXPORT quoted_text ")"
- 174 module_fields: module_field
- 175 | module_fields module_field
+ 167 type_def: "(" TYPE func_type ")"
+ 168 | "(" TYPE bind_var func_type ")"
- 176 module: script_module
+ 169 start: "(" START var ")"
- 177 inline_module: module_fields
+ 170 module_field: type_def
+ 171 | global
+ 172 | table
+ 173 | memory
+ 174 | func
+ 175 | elem
+ 176 | data
+ 177 | start
+ 178 | import
+ 179 | export
+ 180 | exception_field
- 178 script_var_opt: %empty
- 179 | VAR
+ 181 module_fields_opt: %empty
+ 182 | module_fields
- 180 script_module: "(" MODULE bind_var_opt module_fields_opt ")"
- 181 | "(" MODULE bind_var_opt BIN text_list ")"
- 182 | "(" MODULE bind_var_opt QUOTE text_list ")"
+ 183 module_fields: module_field
+ 184 | module_fields module_field
- 183 action: "(" INVOKE script_var_opt quoted_text const_list ")"
- 184 | "(" GET script_var_opt quoted_text ")"
+ 185 module: script_module
- 185 assertion: "(" ASSERT_MALFORMED script_module quoted_text ")"
- 186 | "(" ASSERT_INVALID script_module quoted_text ")"
- 187 | "(" ASSERT_UNLINKABLE script_module quoted_text ")"
- 188 | "(" ASSERT_TRAP script_module quoted_text ")"
- 189 | "(" ASSERT_RETURN action const_list ")"
- 190 | "(" ASSERT_RETURN_CANONICAL_NAN action ")"
- 191 | "(" ASSERT_RETURN_ARITHMETIC_NAN action ")"
- 192 | "(" ASSERT_TRAP action quoted_text ")"
- 193 | "(" ASSERT_EXHAUSTION action quoted_text ")"
+ 186 inline_module: module_fields
- 194 cmd: action
- 195 | assertion
- 196 | module
- 197 | "(" REGISTER quoted_text script_var_opt ")"
+ 187 script_var_opt: %empty
+ 188 | VAR
- 198 cmd_list: cmd
- 199 | cmd_list cmd
+ 189 script_module: "(" MODULE bind_var_opt module_fields_opt ")"
+ 190 | "(" MODULE bind_var_opt BIN text_list ")"
+ 191 | "(" MODULE bind_var_opt QUOTE text_list ")"
- 200 const: "(" CONST literal ")"
+ 192 action: "(" INVOKE script_var_opt quoted_text const_list ")"
+ 193 | "(" GET script_var_opt quoted_text ")"
- 201 const_list: %empty
- 202 | const_list const
+ 194 assertion: "(" ASSERT_MALFORMED script_module quoted_text ")"
+ 195 | "(" ASSERT_INVALID script_module quoted_text ")"
+ 196 | "(" ASSERT_UNLINKABLE script_module quoted_text ")"
+ 197 | "(" ASSERT_TRAP script_module quoted_text ")"
+ 198 | "(" ASSERT_RETURN action const_list ")"
+ 199 | "(" ASSERT_RETURN_CANONICAL_NAN action ")"
+ 200 | "(" ASSERT_RETURN_ARITHMETIC_NAN action ")"
+ 201 | "(" ASSERT_TRAP action quoted_text ")"
+ 202 | "(" ASSERT_EXHAUSTION action quoted_text ")"
- 203 script: %empty
- 204 | cmd_list
- 205 | inline_module
+ 203 cmd: action
+ 204 | assertion
+ 205 | module
+ 206 | "(" REGISTER quoted_text script_var_opt ")"
- 206 script_start: script
+ 207 cmd_list: cmd
+ 208 | cmd_list cmd
+
+ 209 const: "(" CONST literal ")"
+
+ 210 const_list: %empty
+ 211 | const_list const
+
+ 212 script: %empty
+ 213 | cmd_list
+ 214 | inline_module
+
+ 215 script_start: script
Terminals, with rules where they appear
"EOF" (0) 0
error (256)
-"(" (258) 10 11 13 14 16 21 73 80 85 86 87 90 91 92 93 104 112 113
- 115 118 119 121 124 125 126 128 129 130 134 135 136 137 141 142
- 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
- 180 181 182 183 184 185 186 187 188 189 190 191 192 193 197 200
-")" (259) 10 11 13 14 16 21 73 80 85 86 87 90 91 92 93 104 112 113
- 115 118 119 121 124 125 126 128 129 130 134 135 136 137 141 142
- 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
- 180 181 182 183 184 185 186 187 188 189 190 191 192 193 197 200
+"(" (258) 10 11 13 14 16 21 73 80 90 91 94 95 96 97 108 110 118 119
+ 121 124 125 127 130 131 132 134 135 136 140 141 142 143 147 148
+ 152 153 154 155 156 158 159 160 161 162 163 164 165 166 167 168
+ 169 189 190 191 192 193 194 195 196 197 198 199 200 201 202 206
+ 209
+")" (259) 10 11 13 14 16 21 73 80 90 91 94 95 96 97 108 110 118 119
+ 121 124 125 127 130 131 132 134 135 136 140 141 142 143 147 148
+ 152 153 154 155 156 158 159 160 161 162 163 164 165 166 167 168
+ 169 189 190 191 192 193 194 195 196 197 198 199 200 201 202 206
+ 209
NAT (260) 22 23
INT (261) 24
FLOAT (262) 25
TEXT (263) 1 2 5
-VAR (264) 27 32 179
-VALUE_TYPE (265) 7 9 10 14 113 119 125
+VAR (264) 27 32 188
+VALUE_TYPE (265) 7 9 10 14 119 125 131
ANYFUNC (266) 8
MUT (267) 10
NOP (268) 43
DROP (269) 44
-BLOCK (270) 68 82 85
+BLOCK (270) 68 82
END (271) 68 69 70 71 72
IF (272) 70 71 84
-THEN (273) 90 91 92 93
-ELSE (274) 71 90 92
+THEN (273) 94 95 96 97
+ELSE (274) 71 94 96
LOOP (275) 69 83
BR (276) 46
BR_IF (277) 47
BR_TABLE (278) 48
-TRY (279) 98
+TRY (279) 102
CATCH (280) 76
CATCH_ALL (281) 77
-THROW (282) 97
-RETHROW (283) 96
+THROW (282) 101
+RETHROW (283) 100
CALL (284) 50
CALL_INDIRECT (285) 51
RETURN (286) 49
@@ -339,7 +354,7 @@ LOAD (292) 57
STORE (293) 58
OFFSET_EQ_NAT (294) 36
ALIGN_EQ_NAT (295) 38
-CONST (296) 59 200
+CONST (296) 59 209
UNARY (297) 60
BINARY (298) 61
COMPARE (299) 62
@@ -348,210 +363,219 @@ SELECT (301) 45
UNREACHABLE (302) 42
CURRENT_MEMORY (303) 64
GROW_MEMORY (304) 65
-FUNC (305) 11 104 146 147 153
-START (306) 161
-TYPE (307) 21 159 160
-PARAM (308) 13 14 112 113 118 119
-RESULT (309) 16 73 115 121
-LOCAL (310) 124 125
-GLOBAL (311) 142 150 156
-TABLE (312) 130 148 154
-ELEM (313) 128 129 134
-MEMORY (314) 137 149 155
-DATA (315) 135 136 141
-OFFSET (316) 126
-IMPORT (317) 151 152
-EXPORT (318) 157 158
-MODULE (319) 180 181 182
-BIN (320) 181
-QUOTE (321) 182
-REGISTER (322) 197
-INVOKE (323) 183
-GET (324) 184
-ASSERT_MALFORMED (325) 185
-ASSERT_INVALID (326) 186
-ASSERT_UNLINKABLE (327) 187
-ASSERT_RETURN (328) 189
-ASSERT_RETURN_CANONICAL_NAN (329) 190
-ASSERT_RETURN_ARITHMETIC_NAN (330) 191
-ASSERT_TRAP (331) 188 192
-ASSERT_EXHAUSTION (332) 193
-LOW (333)
+FUNC (305) 11 110 152 153 160
+START (306) 169
+TYPE (307) 21 167 168
+PARAM (308) 13 14 118 119 124 125
+RESULT (309) 16 73 121 127
+LOCAL (310) 130 131
+GLOBAL (311) 148 156 163
+TABLE (312) 136 154 161
+ELEM (313) 134 135 140
+MEMORY (314) 143 155 162
+DATA (315) 141 142 147
+OFFSET (316) 132
+IMPORT (317) 158 159
+EXPORT (318) 165 166
+EXCEPT (319) 108 164
+MODULE (320) 189 190 191
+BIN (321) 190
+QUOTE (322) 191
+REGISTER (323) 206
+INVOKE (324) 192
+GET (325) 193
+ASSERT_MALFORMED (326) 194
+ASSERT_INVALID (327) 195
+ASSERT_UNLINKABLE (328) 196
+ASSERT_RETURN (329) 198
+ASSERT_RETURN_CANONICAL_NAN (330) 199
+ASSERT_RETURN_ARITHMETIC_NAN (331) 200
+ASSERT_TRAP (332) 197 201
+ASSERT_EXHAUSTION (333) 202
+LOW (334)
Nonterminals, with rules where they appear
-$accept (79)
+$accept (80)
on left: 0
-text_list (80)
- on left: 1 2, on right: 2 4 181 182
-text_list_opt (81)
- on left: 3 4, on right: 135 136 141
-quoted_text (82)
- on left: 5, on right: 151 152 157 158 183 184 185 186 187 188 192
- 193 197
-value_type_list (83)
- on left: 6 7, on right: 7 13 16 73 112 115 118 121 124
-elem_type (84)
- on left: 8, on right: 17 134
-global_type (85)
- on left: 9 10, on right: 143 144 150
-func_type (86)
- on left: 11, on right: 159 160
-func_sig (87)
- on left: 12 13 14, on right: 11 13 14 147
-func_sig_result (88)
+text_list (81)
+ on left: 1 2, on right: 2 4 190 191
+text_list_opt (82)
+ on left: 3 4, on right: 141 142 147
+quoted_text (83)
+ on left: 5, on right: 158 159 165 166 192 193 194 195 196 197 201
+ 202 206
+value_type_list (84)
+ on left: 6 7, on right: 7 13 16 73 108 118 121 124 127 130
+elem_type (85)
+ on left: 8, on right: 17 140
+global_type (86)
+ on left: 9 10, on right: 149 150 156
+func_type (87)
+ on left: 11, on right: 167 168
+func_sig (88)
+ on left: 12 13 14, on right: 11 13 14 153
+func_sig_result (89)
on left: 15 16, on right: 12 16
-table_sig (89)
- on left: 17, on right: 131 132 148
-memory_sig (90)
- on left: 18, on right: 138 139 149
-limits (91)
+table_sig (90)
+ on left: 17, on right: 137 138 154
+memory_sig (91)
+ on left: 18, on right: 144 145 155
+limits (92)
on left: 19 20, on right: 17 18
-type_use (92)
- on left: 21, on right: 105 107 146
-nat (93)
+type_use (93)
+ on left: 21, on right: 111 113 152
+nat (94)
on left: 22, on right: 19 20 26
-literal (94)
- on left: 23 24 25, on right: 59 200
-var (95)
+literal (95)
+ on left: 23 24 25, on right: 59 209
+var (96)
on left: 26 27, on right: 21 29 46 47 48 50 51 52 53 54 55 56 66
- 67 76 77 128 135 153 154 155 156 161
-var_list (96)
- on left: 28 29, on right: 29 48 128 129 134
-bind_var_opt (97)
- on left: 30 31, on right: 104 130 137 142 146 147 148 149 150 180
- 181 182
-bind_var (98)
- on left: 32, on right: 14 31 34 113 119 125 160
-labeling_opt (99)
+ 67 76 134 141 160 161 162 163 164 169
+var_list (97)
+ on left: 28 29, on right: 29 48 134 135 140
+bind_var_opt (98)
+ on left: 30 31, on right: 108 110 136 143 148 152 153 154 155 156
+ 189 190 191
+bind_var (99)
+ on left: 32, on right: 14 31 34 119 125 131 168
+labeling_opt (100)
on left: 33 34, on right: 68 69 70 71 72 82 83 84 85
-offset_opt (100)
+offset_opt (101)
on left: 35 36, on right: 57 58
-align_opt (101)
+align_opt (102)
on left: 37 38, on right: 57 58
-instr (102)
- on left: 39 40 41, on right: 100
-plain_instr (103)
+instr (103)
+ on left: 39 40 41, on right: 89 104
+plain_instr (104)
on left: 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67, on right: 39 81
-block_instr (104)
+block_instr (105)
on left: 68 69 70 71 72, on right: 40
-block_sig (105)
- on left: 73, on right: 74 88
-block (106)
- on left: 74 75, on right: 68 69 70 71 72 74 82 83 85
-catch_instr (107)
- on left: 76 77, on right: 78 79 86 87
-catch_instr_list (108)
+block_sig (106)
+ on left: 73, on right: 74 86 92
+block (107)
+ on left: 74 75, on right: 68 69 70 71 72 74 82 83
+catch_instr (108)
+ on left: 76 77, on right: 78 79 90 91
+catch_instr_list (109)
on left: 78 79, on right: 72 79
-expr (109)
- on left: 80, on right: 41 92 93 94 95 102 127
-expr1 (110)
+expr (110)
+ on left: 80, on right: 41 96 97 98 99 106 133
+expr1 (111)
on left: 81 82 83 84 85, on right: 80
-catch_list (111)
- on left: 86 87, on right: 85 87
-if_block (112)
- on left: 88 89, on right: 84 88
-if_ (113)
- on left: 90 91 92 93 94 95, on right: 89
-rethrow_check (114)
- on left: 96, on right: 67
-throw_check (115)
- on left: 97, on right: 66
-try_check (116)
- on left: 98, on right: 72 85
-instr_list (117)
- on left: 99 100, on right: 71 75 76 77 90 91 92 93 100 103 123
-expr_list (118)
- on left: 101 102, on right: 81 102
-const_expr (119)
- on left: 103, on right: 126 143
-func (120)
- on left: 104, on right: 166
-func_fields (121)
- on left: 105 106 107 108 109, on right: 104 109
-func_fields_import (122)
- on left: 110, on right: 107 108
-func_fields_import1 (123)
- on left: 111 112 113, on right: 110 112 113
-func_fields_import_result (124)
- on left: 114 115, on right: 111 115
-func_fields_body (125)
- on left: 116, on right: 105 106
-func_fields_body1 (126)
+try_ (112)
+ on left: 86 87, on right: 85 86
+try_instr_list (113)
+ on left: 88 89, on right: 87 89
+catch_list (114)
+ on left: 90 91, on right: 88 91
+if_block (115)
+ on left: 92 93, on right: 84 92
+if_ (116)
+ on left: 94 95 96 97 98 99, on right: 93
+rethrow_check (117)
+ on left: 100, on right: 67
+throw_check (118)
+ on left: 101, on right: 66
+try_check (119)
+ on left: 102, on right: 72 85
+instr_list (120)
+ on left: 103 104, on right: 71 75 76 77 94 95 96 97 104 107 129
+expr_list (121)
+ on left: 105 106, on right: 81 106
+const_expr (122)
+ on left: 107, on right: 132 149
+exception (123)
+ on left: 108, on right: 109 157
+exception_field (124)
+ on left: 109, on right: 180
+func (125)
+ on left: 110, on right: 174
+func_fields (126)
+ on left: 111 112 113 114 115, on right: 110 115
+func_fields_import (127)
+ on left: 116, on right: 113 114
+func_fields_import1 (128)
on left: 117 118 119, on right: 116 118 119
-func_result_body (127)
+func_fields_import_result (129)
on left: 120 121, on right: 117 121
-func_body (128)
- on left: 122, on right: 120
-func_body1 (129)
+func_fields_body (130)
+ on left: 122, on right: 111 112
+func_fields_body1 (131)
on left: 123 124 125, on right: 122 124 125
-offset (130)
- on left: 126 127, on right: 128 129 135 136
-elem (131)
- on left: 128 129, on right: 167
-table (132)
- on left: 130, on right: 164
-table_fields (133)
- on left: 131 132 133 134, on right: 130 133
-data (134)
- on left: 135 136, on right: 168
-memory (135)
- on left: 137, on right: 165
-memory_fields (136)
- on left: 138 139 140 141, on right: 137 140
-global (137)
- on left: 142, on right: 163
-global_fields (138)
- on left: 143 144 145, on right: 142 145
-import_desc (139)
- on left: 146 147 148 149 150, on right: 151
-import (140)
- on left: 151, on right: 170
-inline_import (141)
- on left: 152, on right: 107 108 132 139 144
-export_desc (142)
- on left: 153 154 155 156, on right: 157
-export (143)
- on left: 157, on right: 171
-inline_export (144)
- on left: 158, on right: 109 133 140 145
-type_def (145)
- on left: 159 160, on right: 162
-start (146)
- on left: 161, on right: 169
-module_field (147)
- on left: 162 163 164 165 166 167 168 169 170 171, on right: 174
- 175
-module_fields_opt (148)
- on left: 172 173, on right: 180
-module_fields (149)
- on left: 174 175, on right: 173 175 177
-module (150)
- on left: 176, on right: 196
-inline_module (151)
- on left: 177, on right: 205
-script_var_opt (152)
- on left: 178 179, on right: 183 184 197
-script_module (153)
- on left: 180 181 182, on right: 176 185 186 187 188
-action (154)
- on left: 183 184, on right: 189 190 191 192 193 194
-assertion (155)
- on left: 185 186 187 188 189 190 191 192 193, on right: 195
-cmd (156)
- on left: 194 195 196 197, on right: 198 199
-cmd_list (157)
- on left: 198 199, on right: 199 204
-const (158)
- on left: 200, on right: 202
-const_list (159)
- on left: 201 202, on right: 183 189 202
-script (160)
- on left: 203 204 205, on right: 206
-script_start (161)
- on left: 206, on right: 0
+func_result_body (132)
+ on left: 126 127, on right: 123 127
+func_body (133)
+ on left: 128, on right: 126
+func_body1 (134)
+ on left: 129 130 131, on right: 128 130 131
+offset (135)
+ on left: 132 133, on right: 134 135 141 142
+elem (136)
+ on left: 134 135, on right: 175
+table (137)
+ on left: 136, on right: 172
+table_fields (138)
+ on left: 137 138 139 140, on right: 136 139
+data (139)
+ on left: 141 142, on right: 176
+memory (140)
+ on left: 143, on right: 173
+memory_fields (141)
+ on left: 144 145 146 147, on right: 143 146
+global (142)
+ on left: 148, on right: 171
+global_fields (143)
+ on left: 149 150 151, on right: 148 151
+import_desc (144)
+ on left: 152 153 154 155 156 157, on right: 158
+import (145)
+ on left: 158, on right: 178
+inline_import (146)
+ on left: 159, on right: 113 114 138 145 150
+export_desc (147)
+ on left: 160 161 162 163 164, on right: 165
+export (148)
+ on left: 165, on right: 179
+inline_export (149)
+ on left: 166, on right: 115 139 146 151
+type_def (150)
+ on left: 167 168, on right: 170
+start (151)
+ on left: 169, on right: 177
+module_field (152)
+ on left: 170 171 172 173 174 175 176 177 178 179 180, on right:
+ 183 184
+module_fields_opt (153)
+ on left: 181 182, on right: 189
+module_fields (154)
+ on left: 183 184, on right: 182 184 186
+module (155)
+ on left: 185, on right: 205
+inline_module (156)
+ on left: 186, on right: 214
+script_var_opt (157)
+ on left: 187 188, on right: 192 193 206
+script_module (158)
+ on left: 189 190 191, on right: 185 194 195 196 197
+action (159)
+ on left: 192 193, on right: 198 199 200 201 202 203
+assertion (160)
+ on left: 194 195 196 197 198 199 200 201 202, on right: 204
+cmd (161)
+ on left: 203 204 205 206, on right: 207 208
+cmd_list (162)
+ on left: 207 208, on right: 208 213
+const (163)
+ on left: 209, on right: 211
+const_list (164)
+ on left: 210 211, on right: 192 198 211
+script (165)
+ on left: 212 213 214, on right: 215
+script_start (166)
+ on left: 215, on right: 0
State 0
@@ -560,5575 +584,5853 @@ State 0
"(" shift, and go to state 1
- $default reduce using rule 203 (script)
-
- func go to state 2
- elem go to state 3
- table go to state 4
- data go to state 5
- memory go to state 6
- global go to state 7
- import go to state 8
- export go to state 9
- type_def go to state 10
- start go to state 11
- module_field go to state 12
- module_fields go to state 13
- module go to state 14
- inline_module go to state 15
- script_module go to state 16
- action go to state 17
- assertion go to state 18
- cmd go to state 19
- cmd_list go to state 20
- script go to state 21
- script_start go to state 22
+ $default reduce using rule 212 (script)
+
+ exception go to state 2
+ exception_field go to state 3
+ func go to state 4
+ elem go to state 5
+ table go to state 6
+ data go to state 7
+ memory go to state 8
+ global go to state 9
+ import go to state 10
+ export go to state 11
+ type_def go to state 12
+ start go to state 13
+ module_field go to state 14
+ module_fields go to state 15
+ module go to state 16
+ inline_module go to state 17
+ script_module go to state 18
+ action go to state 19
+ assertion go to state 20
+ cmd go to state 21
+ cmd_list go to state 22
+ script go to state 23
+ script_start go to state 24
State 1
- 104 func: "(" . FUNC bind_var_opt func_fields ")"
- 128 elem: "(" . ELEM var offset var_list ")"
- 129 | "(" . ELEM offset var_list ")"
- 130 table: "(" . TABLE bind_var_opt table_fields ")"
- 135 data: "(" . DATA var offset text_list_opt ")"
- 136 | "(" . DATA offset text_list_opt ")"
- 137 memory: "(" . MEMORY bind_var_opt memory_fields ")"
- 142 global: "(" . GLOBAL bind_var_opt global_fields ")"
- 151 import: "(" . IMPORT quoted_text quoted_text import_desc ")"
- 157 export: "(" . EXPORT quoted_text export_desc ")"
- 159 type_def: "(" . TYPE func_type ")"
- 160 | "(" . TYPE bind_var func_type ")"
- 161 start: "(" . START var ")"
- 180 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
- 181 | "(" . MODULE bind_var_opt BIN text_list ")"
- 182 | "(" . MODULE bind_var_opt QUOTE text_list ")"
- 183 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
- 184 | "(" . GET script_var_opt quoted_text ")"
- 185 assertion: "(" . ASSERT_MALFORMED script_module quoted_text ")"
- 186 | "(" . ASSERT_INVALID script_module quoted_text ")"
- 187 | "(" . ASSERT_UNLINKABLE script_module quoted_text ")"
- 188 | "(" . ASSERT_TRAP script_module quoted_text ")"
- 189 | "(" . ASSERT_RETURN action const_list ")"
- 190 | "(" . ASSERT_RETURN_CANONICAL_NAN action ")"
- 191 | "(" . ASSERT_RETURN_ARITHMETIC_NAN action ")"
- 192 | "(" . ASSERT_TRAP action quoted_text ")"
- 193 | "(" . ASSERT_EXHAUSTION action quoted_text ")"
- 197 cmd: "(" . REGISTER quoted_text script_var_opt ")"
-
- FUNC shift, and go to state 23
- START shift, and go to state 24
- TYPE shift, and go to state 25
- GLOBAL shift, and go to state 26
- TABLE shift, and go to state 27
- ELEM shift, and go to state 28
- MEMORY shift, and go to state 29
- DATA shift, and go to state 30
- IMPORT shift, and go to state 31
- EXPORT shift, and go to state 32
- MODULE shift, and go to state 33
- REGISTER shift, and go to state 34
- INVOKE shift, and go to state 35
- GET shift, and go to state 36
- ASSERT_MALFORMED shift, and go to state 37
- ASSERT_INVALID shift, and go to state 38
- ASSERT_UNLINKABLE shift, and go to state 39
- ASSERT_RETURN shift, and go to state 40
- ASSERT_RETURN_CANONICAL_NAN shift, and go to state 41
- ASSERT_RETURN_ARITHMETIC_NAN shift, and go to state 42
- ASSERT_TRAP shift, and go to state 43
- ASSERT_EXHAUSTION shift, and go to state 44
+ 108 exception: "(" . EXCEPT bind_var_opt value_type_list ")"
+ 110 func: "(" . FUNC bind_var_opt func_fields ")"
+ 134 elem: "(" . ELEM var offset var_list ")"
+ 135 | "(" . ELEM offset var_list ")"
+ 136 table: "(" . TABLE bind_var_opt table_fields ")"
+ 141 data: "(" . DATA var offset text_list_opt ")"
+ 142 | "(" . DATA offset text_list_opt ")"
+ 143 memory: "(" . MEMORY bind_var_opt memory_fields ")"
+ 148 global: "(" . GLOBAL bind_var_opt global_fields ")"
+ 158 import: "(" . IMPORT quoted_text quoted_text import_desc ")"
+ 165 export: "(" . EXPORT quoted_text export_desc ")"
+ 167 type_def: "(" . TYPE func_type ")"
+ 168 | "(" . TYPE bind_var func_type ")"
+ 169 start: "(" . START var ")"
+ 189 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
+ 190 | "(" . MODULE bind_var_opt BIN text_list ")"
+ 191 | "(" . MODULE bind_var_opt QUOTE text_list ")"
+ 192 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
+ 193 | "(" . GET script_var_opt quoted_text ")"
+ 194 assertion: "(" . ASSERT_MALFORMED script_module quoted_text ")"
+ 195 | "(" . ASSERT_INVALID script_module quoted_text ")"
+ 196 | "(" . ASSERT_UNLINKABLE script_module quoted_text ")"
+ 197 | "(" . ASSERT_TRAP script_module quoted_text ")"
+ 198 | "(" . ASSERT_RETURN action const_list ")"
+ 199 | "(" . ASSERT_RETURN_CANONICAL_NAN action ")"
+ 200 | "(" . ASSERT_RETURN_ARITHMETIC_NAN action ")"
+ 201 | "(" . ASSERT_TRAP action quoted_text ")"
+ 202 | "(" . ASSERT_EXHAUSTION action quoted_text ")"
+ 206 cmd: "(" . REGISTER quoted_text script_var_opt ")"
+
+ FUNC shift, and go to state 25
+ START shift, and go to state 26
+ TYPE shift, and go to state 27
+ GLOBAL shift, and go to state 28
+ TABLE shift, and go to state 29
+ ELEM shift, and go to state 30
+ MEMORY shift, and go to state 31
+ DATA shift, and go to state 32
+ IMPORT shift, and go to state 33
+ EXPORT shift, and go to state 34
+ EXCEPT shift, and go to state 35
+ MODULE shift, and go to state 36
+ REGISTER shift, and go to state 37
+ INVOKE shift, and go to state 38
+ GET shift, and go to state 39
+ ASSERT_MALFORMED shift, and go to state 40
+ ASSERT_INVALID shift, and go to state 41
+ ASSERT_UNLINKABLE shift, and go to state 42
+ ASSERT_RETURN shift, and go to state 43
+ ASSERT_RETURN_CANONICAL_NAN shift, and go to state 44
+ ASSERT_RETURN_ARITHMETIC_NAN shift, and go to state 45
+ ASSERT_TRAP shift, and go to state 46
+ ASSERT_EXHAUSTION shift, and go to state 47
State 2
- 166 module_field: func .
+ 109 exception_field: exception .
- $default reduce using rule 166 (module_field)
+ $default reduce using rule 109 (exception_field)
State 3
- 167 module_field: elem .
+ 180 module_field: exception_field .
- $default reduce using rule 167 (module_field)
+ $default reduce using rule 180 (module_field)
State 4
- 164 module_field: table .
+ 174 module_field: func .
- $default reduce using rule 164 (module_field)
+ $default reduce using rule 174 (module_field)
State 5
- 168 module_field: data .
+ 175 module_field: elem .
- $default reduce using rule 168 (module_field)
+ $default reduce using rule 175 (module_field)
State 6
- 165 module_field: memory .
+ 172 module_field: table .
- $default reduce using rule 165 (module_field)
+ $default reduce using rule 172 (module_field)
State 7
- 163 module_field: global .
+ 176 module_field: data .
- $default reduce using rule 163 (module_field)
+ $default reduce using rule 176 (module_field)
State 8
- 170 module_field: import .
+ 173 module_field: memory .
- $default reduce using rule 170 (module_field)
+ $default reduce using rule 173 (module_field)
State 9
- 171 module_field: export .
+ 171 module_field: global .
$default reduce using rule 171 (module_field)
State 10
- 162 module_field: type_def .
+ 178 module_field: import .
- $default reduce using rule 162 (module_field)
+ $default reduce using rule 178 (module_field)
State 11
- 169 module_field: start .
+ 179 module_field: export .
- $default reduce using rule 169 (module_field)
+ $default reduce using rule 179 (module_field)
State 12
- 174 module_fields: module_field .
+ 170 module_field: type_def .
- $default reduce using rule 174 (module_fields)
+ $default reduce using rule 170 (module_field)
State 13
- 175 module_fields: module_fields . module_field
- 177 inline_module: module_fields .
-
- "(" shift, and go to state 45
-
- $default reduce using rule 177 (inline_module)
+ 177 module_field: start .
- func go to state 2
- elem go to state 3
- table go to state 4
- data go to state 5
- memory go to state 6
- global go to state 7
- import go to state 8
- export go to state 9
- type_def go to state 10
- start go to state 11
- module_field go to state 46
+ $default reduce using rule 177 (module_field)
State 14
- 196 cmd: module .
+ 183 module_fields: module_field .
- $default reduce using rule 196 (cmd)
+ $default reduce using rule 183 (module_fields)
State 15
- 205 script: inline_module .
+ 184 module_fields: module_fields . module_field
+ 186 inline_module: module_fields .
- $default reduce using rule 205 (script)
+ "(" shift, and go to state 48
+
+ $default reduce using rule 186 (inline_module)
+
+ exception go to state 2
+ exception_field go to state 3
+ func go to state 4
+ elem go to state 5
+ table go to state 6
+ data go to state 7
+ memory go to state 8
+ global go to state 9
+ import go to state 10
+ export go to state 11
+ type_def go to state 12
+ start go to state 13
+ module_field go to state 49
State 16
- 176 module: script_module .
+ 205 cmd: module .
- $default reduce using rule 176 (module)
+ $default reduce using rule 205 (cmd)
State 17
- 194 cmd: action .
+ 214 script: inline_module .
- $default reduce using rule 194 (cmd)
+ $default reduce using rule 214 (script)
State 18
- 195 cmd: assertion .
+ 185 module: script_module .
- $default reduce using rule 195 (cmd)
+ $default reduce using rule 185 (module)
State 19
- 198 cmd_list: cmd .
+ 203 cmd: action .
- $default reduce using rule 198 (cmd_list)
+ $default reduce using rule 203 (cmd)
State 20
- 199 cmd_list: cmd_list . cmd
- 204 script: cmd_list .
-
- "(" shift, and go to state 47
-
- $default reduce using rule 204 (script)
+ 204 cmd: assertion .
- module go to state 14
- script_module go to state 16
- action go to state 17
- assertion go to state 18
- cmd go to state 48
+ $default reduce using rule 204 (cmd)
State 21
- 206 script_start: script .
+ 207 cmd_list: cmd .
- $default reduce using rule 206 (script_start)
+ $default reduce using rule 207 (cmd_list)
State 22
- 0 $accept: script_start . "EOF"
+ 208 cmd_list: cmd_list . cmd
+ 213 script: cmd_list .
- "EOF" shift, and go to state 49
+ "(" shift, and go to state 50
+ $default reduce using rule 213 (script)
-State 23
+ module go to state 16
+ script_module go to state 18
+ action go to state 19
+ assertion go to state 20
+ cmd go to state 51
- 104 func: "(" FUNC . bind_var_opt func_fields ")"
- VAR shift, and go to state 50
+State 23
- $default reduce using rule 30 (bind_var_opt)
+ 215 script_start: script .
- bind_var_opt go to state 51
- bind_var go to state 52
+ $default reduce using rule 215 (script_start)
State 24
- 161 start: "(" START . var ")"
-
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ 0 $accept: script_start . "EOF"
- nat go to state 55
- var go to state 56
+ "EOF" shift, and go to state 52
State 25
- 159 type_def: "(" TYPE . func_type ")"
- 160 | "(" TYPE . bind_var func_type ")"
+ 110 func: "(" FUNC . bind_var_opt func_fields ")"
- "(" shift, and go to state 57
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
- func_type go to state 58
- bind_var go to state 59
+ $default reduce using rule 30 (bind_var_opt)
+ bind_var_opt go to state 54
+ bind_var go to state 55
-State 26
- 142 global: "(" GLOBAL . bind_var_opt global_fields ")"
+State 26
- VAR shift, and go to state 50
+ 169 start: "(" START . var ")"
- $default reduce using rule 30 (bind_var_opt)
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- bind_var_opt go to state 60
- bind_var go to state 52
+ nat go to state 58
+ var go to state 59
State 27
- 130 table: "(" TABLE . bind_var_opt table_fields ")"
+ 167 type_def: "(" TYPE . func_type ")"
+ 168 | "(" TYPE . bind_var func_type ")"
- VAR shift, and go to state 50
-
- $default reduce using rule 30 (bind_var_opt)
+ "(" shift, and go to state 60
+ VAR shift, and go to state 53
- bind_var_opt go to state 61
- bind_var go to state 52
+ func_type go to state 61
+ bind_var go to state 62
State 28
- 128 elem: "(" ELEM . var offset var_list ")"
- 129 | "(" ELEM . offset var_list ")"
+ 148 global: "(" GLOBAL . bind_var_opt global_fields ")"
- "(" shift, and go to state 62
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ VAR shift, and go to state 53
- nat go to state 55
- var go to state 63
- expr go to state 64
- offset go to state 65
+ $default reduce using rule 30 (bind_var_opt)
+
+ bind_var_opt go to state 63
+ bind_var go to state 55
State 29
- 137 memory: "(" MEMORY . bind_var_opt memory_fields ")"
+ 136 table: "(" TABLE . bind_var_opt table_fields ")"
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 30 (bind_var_opt)
- bind_var_opt go to state 66
- bind_var go to state 52
+ bind_var_opt go to state 64
+ bind_var go to state 55
State 30
- 135 data: "(" DATA . var offset text_list_opt ")"
- 136 | "(" DATA . offset text_list_opt ")"
+ 134 elem: "(" ELEM . var offset var_list ")"
+ 135 | "(" ELEM . offset var_list ")"
- "(" shift, and go to state 62
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ "(" shift, and go to state 65
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 67
- expr go to state 64
+ nat go to state 58
+ var go to state 66
+ expr go to state 67
offset go to state 68
State 31
- 151 import: "(" IMPORT . quoted_text quoted_text import_desc ")"
+ 143 memory: "(" MEMORY . bind_var_opt memory_fields ")"
- TEXT shift, and go to state 69
+ VAR shift, and go to state 53
+
+ $default reduce using rule 30 (bind_var_opt)
- quoted_text go to state 70
+ bind_var_opt go to state 69
+ bind_var go to state 55
State 32
- 157 export: "(" EXPORT . quoted_text export_desc ")"
+ 141 data: "(" DATA . var offset text_list_opt ")"
+ 142 | "(" DATA . offset text_list_opt ")"
- TEXT shift, and go to state 69
+ "(" shift, and go to state 65
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- quoted_text go to state 71
+ nat go to state 58
+ var go to state 70
+ expr go to state 67
+ offset go to state 71
State 33
- 180 script_module: "(" MODULE . bind_var_opt module_fields_opt ")"
- 181 | "(" MODULE . bind_var_opt BIN text_list ")"
- 182 | "(" MODULE . bind_var_opt QUOTE text_list ")"
+ 158 import: "(" IMPORT . quoted_text quoted_text import_desc ")"
- VAR shift, and go to state 50
+ TEXT shift, and go to state 72
- $default reduce using rule 30 (bind_var_opt)
-
- bind_var_opt go to state 72
- bind_var go to state 52
+ quoted_text go to state 73
State 34
- 197 cmd: "(" REGISTER . quoted_text script_var_opt ")"
+ 165 export: "(" EXPORT . quoted_text export_desc ")"
- TEXT shift, and go to state 69
+ TEXT shift, and go to state 72
- quoted_text go to state 73
+ quoted_text go to state 74
State 35
- 183 action: "(" INVOKE . script_var_opt quoted_text const_list ")"
+ 108 exception: "(" EXCEPT . bind_var_opt value_type_list ")"
- VAR shift, and go to state 74
+ VAR shift, and go to state 53
- $default reduce using rule 178 (script_var_opt)
+ $default reduce using rule 30 (bind_var_opt)
- script_var_opt go to state 75
+ bind_var_opt go to state 75
+ bind_var go to state 55
State 36
- 184 action: "(" GET . script_var_opt quoted_text ")"
+ 189 script_module: "(" MODULE . bind_var_opt module_fields_opt ")"
+ 190 | "(" MODULE . bind_var_opt BIN text_list ")"
+ 191 | "(" MODULE . bind_var_opt QUOTE text_list ")"
- VAR shift, and go to state 74
+ VAR shift, and go to state 53
- $default reduce using rule 178 (script_var_opt)
+ $default reduce using rule 30 (bind_var_opt)
- script_var_opt go to state 76
+ bind_var_opt go to state 76
+ bind_var go to state 55
State 37
- 185 assertion: "(" ASSERT_MALFORMED . script_module quoted_text ")"
+ 206 cmd: "(" REGISTER . quoted_text script_var_opt ")"
- "(" shift, and go to state 77
+ TEXT shift, and go to state 72
- script_module go to state 78
+ quoted_text go to state 77
State 38
- 186 assertion: "(" ASSERT_INVALID . script_module quoted_text ")"
+ 192 action: "(" INVOKE . script_var_opt quoted_text const_list ")"
- "(" shift, and go to state 77
+ VAR shift, and go to state 78
- script_module go to state 79
+ $default reduce using rule 187 (script_var_opt)
+
+ script_var_opt go to state 79
State 39
- 187 assertion: "(" ASSERT_UNLINKABLE . script_module quoted_text ")"
+ 193 action: "(" GET . script_var_opt quoted_text ")"
+
+ VAR shift, and go to state 78
- "(" shift, and go to state 77
+ $default reduce using rule 187 (script_var_opt)
- script_module go to state 80
+ script_var_opt go to state 80
State 40
- 189 assertion: "(" ASSERT_RETURN . action const_list ")"
+ 194 assertion: "(" ASSERT_MALFORMED . script_module quoted_text ")"
"(" shift, and go to state 81
- action go to state 82
+ script_module go to state 82
State 41
- 190 assertion: "(" ASSERT_RETURN_CANONICAL_NAN . action ")"
+ 195 assertion: "(" ASSERT_INVALID . script_module quoted_text ")"
"(" shift, and go to state 81
- action go to state 83
+ script_module go to state 83
State 42
- 191 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN . action ")"
+ 196 assertion: "(" ASSERT_UNLINKABLE . script_module quoted_text ")"
"(" shift, and go to state 81
- action go to state 84
+ script_module go to state 84
State 43
- 188 assertion: "(" ASSERT_TRAP . script_module quoted_text ")"
- 192 | "(" ASSERT_TRAP . action quoted_text ")"
+ 198 assertion: "(" ASSERT_RETURN . action const_list ")"
"(" shift, and go to state 85
- script_module go to state 86
- action go to state 87
+ action go to state 86
State 44
- 193 assertion: "(" ASSERT_EXHAUSTION . action quoted_text ")"
+ 199 assertion: "(" ASSERT_RETURN_CANONICAL_NAN . action ")"
- "(" shift, and go to state 81
+ "(" shift, and go to state 85
- action go to state 88
+ action go to state 87
State 45
- 104 func: "(" . FUNC bind_var_opt func_fields ")"
- 128 elem: "(" . ELEM var offset var_list ")"
- 129 | "(" . ELEM offset var_list ")"
- 130 table: "(" . TABLE bind_var_opt table_fields ")"
- 135 data: "(" . DATA var offset text_list_opt ")"
- 136 | "(" . DATA offset text_list_opt ")"
- 137 memory: "(" . MEMORY bind_var_opt memory_fields ")"
- 142 global: "(" . GLOBAL bind_var_opt global_fields ")"
- 151 import: "(" . IMPORT quoted_text quoted_text import_desc ")"
- 157 export: "(" . EXPORT quoted_text export_desc ")"
- 159 type_def: "(" . TYPE func_type ")"
- 160 | "(" . TYPE bind_var func_type ")"
- 161 start: "(" . START var ")"
-
- FUNC shift, and go to state 23
- START shift, and go to state 24
- TYPE shift, and go to state 25
- GLOBAL shift, and go to state 26
- TABLE shift, and go to state 27
- ELEM shift, and go to state 28
- MEMORY shift, and go to state 29
- DATA shift, and go to state 30
- IMPORT shift, and go to state 31
- EXPORT shift, and go to state 32
+ 200 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN . action ")"
+
+ "(" shift, and go to state 85
+
+ action go to state 88
State 46
- 175 module_fields: module_fields module_field .
+ 197 assertion: "(" ASSERT_TRAP . script_module quoted_text ")"
+ 201 | "(" ASSERT_TRAP . action quoted_text ")"
+
+ "(" shift, and go to state 89
- $default reduce using rule 175 (module_fields)
+ script_module go to state 90
+ action go to state 91
State 47
- 180 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
- 181 | "(" . MODULE bind_var_opt BIN text_list ")"
- 182 | "(" . MODULE bind_var_opt QUOTE text_list ")"
- 183 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
- 184 | "(" . GET script_var_opt quoted_text ")"
- 185 assertion: "(" . ASSERT_MALFORMED script_module quoted_text ")"
- 186 | "(" . ASSERT_INVALID script_module quoted_text ")"
- 187 | "(" . ASSERT_UNLINKABLE script_module quoted_text ")"
- 188 | "(" . ASSERT_TRAP script_module quoted_text ")"
- 189 | "(" . ASSERT_RETURN action const_list ")"
- 190 | "(" . ASSERT_RETURN_CANONICAL_NAN action ")"
- 191 | "(" . ASSERT_RETURN_ARITHMETIC_NAN action ")"
- 192 | "(" . ASSERT_TRAP action quoted_text ")"
- 193 | "(" . ASSERT_EXHAUSTION action quoted_text ")"
- 197 cmd: "(" . REGISTER quoted_text script_var_opt ")"
-
- MODULE shift, and go to state 33
- REGISTER shift, and go to state 34
- INVOKE shift, and go to state 35
- GET shift, and go to state 36
- ASSERT_MALFORMED shift, and go to state 37
- ASSERT_INVALID shift, and go to state 38
- ASSERT_UNLINKABLE shift, and go to state 39
- ASSERT_RETURN shift, and go to state 40
- ASSERT_RETURN_CANONICAL_NAN shift, and go to state 41
- ASSERT_RETURN_ARITHMETIC_NAN shift, and go to state 42
- ASSERT_TRAP shift, and go to state 43
- ASSERT_EXHAUSTION shift, and go to state 44
+ 202 assertion: "(" ASSERT_EXHAUSTION . action quoted_text ")"
+ "(" shift, and go to state 85
-State 48
+ action go to state 92
- 199 cmd_list: cmd_list cmd .
- $default reduce using rule 199 (cmd_list)
+State 48
+
+ 108 exception: "(" . EXCEPT bind_var_opt value_type_list ")"
+ 110 func: "(" . FUNC bind_var_opt func_fields ")"
+ 134 elem: "(" . ELEM var offset var_list ")"
+ 135 | "(" . ELEM offset var_list ")"
+ 136 table: "(" . TABLE bind_var_opt table_fields ")"
+ 141 data: "(" . DATA var offset text_list_opt ")"
+ 142 | "(" . DATA offset text_list_opt ")"
+ 143 memory: "(" . MEMORY bind_var_opt memory_fields ")"
+ 148 global: "(" . GLOBAL bind_var_opt global_fields ")"
+ 158 import: "(" . IMPORT quoted_text quoted_text import_desc ")"
+ 165 export: "(" . EXPORT quoted_text export_desc ")"
+ 167 type_def: "(" . TYPE func_type ")"
+ 168 | "(" . TYPE bind_var func_type ")"
+ 169 start: "(" . START var ")"
+
+ FUNC shift, and go to state 25
+ START shift, and go to state 26
+ TYPE shift, and go to state 27
+ GLOBAL shift, and go to state 28
+ TABLE shift, and go to state 29
+ ELEM shift, and go to state 30
+ MEMORY shift, and go to state 31
+ DATA shift, and go to state 32
+ IMPORT shift, and go to state 33
+ EXPORT shift, and go to state 34
+ EXCEPT shift, and go to state 35
State 49
- 0 $accept: script_start "EOF" .
+ 184 module_fields: module_fields module_field .
- $default accept
+ $default reduce using rule 184 (module_fields)
State 50
- 32 bind_var: VAR .
-
- $default reduce using rule 32 (bind_var)
+ 189 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
+ 190 | "(" . MODULE bind_var_opt BIN text_list ")"
+ 191 | "(" . MODULE bind_var_opt QUOTE text_list ")"
+ 192 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
+ 193 | "(" . GET script_var_opt quoted_text ")"
+ 194 assertion: "(" . ASSERT_MALFORMED script_module quoted_text ")"
+ 195 | "(" . ASSERT_INVALID script_module quoted_text ")"
+ 196 | "(" . ASSERT_UNLINKABLE script_module quoted_text ")"
+ 197 | "(" . ASSERT_TRAP script_module quoted_text ")"
+ 198 | "(" . ASSERT_RETURN action const_list ")"
+ 199 | "(" . ASSERT_RETURN_CANONICAL_NAN action ")"
+ 200 | "(" . ASSERT_RETURN_ARITHMETIC_NAN action ")"
+ 201 | "(" . ASSERT_TRAP action quoted_text ")"
+ 202 | "(" . ASSERT_EXHAUSTION action quoted_text ")"
+ 206 cmd: "(" . REGISTER quoted_text script_var_opt ")"
+
+ MODULE shift, and go to state 36
+ REGISTER shift, and go to state 37
+ INVOKE shift, and go to state 38
+ GET shift, and go to state 39
+ ASSERT_MALFORMED shift, and go to state 40
+ ASSERT_INVALID shift, and go to state 41
+ ASSERT_UNLINKABLE shift, and go to state 42
+ ASSERT_RETURN shift, and go to state 43
+ ASSERT_RETURN_CANONICAL_NAN shift, and go to state 44
+ ASSERT_RETURN_ARITHMETIC_NAN shift, and go to state 45
+ ASSERT_TRAP shift, and go to state 46
+ ASSERT_EXHAUSTION shift, and go to state 47
State 51
- 104 func: "(" FUNC bind_var_opt . func_fields ")"
-
- "(" shift, and go to state 89
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- type_use go to state 120
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_fields go to state 129
- func_fields_body go to state 130
- func_fields_body1 go to state 131
- func_result_body go to state 132
- func_body go to state 133
- func_body1 go to state 134
- inline_import go to state 135
- inline_export go to state 136
+ 208 cmd_list: cmd_list cmd .
+
+ $default reduce using rule 208 (cmd_list)
State 52
- 31 bind_var_opt: bind_var .
+ 0 $accept: script_start "EOF" .
- $default reduce using rule 31 (bind_var_opt)
+ $default accept
State 53
- 22 nat: NAT .
+ 32 bind_var: VAR .
- $default reduce using rule 22 (nat)
+ $default reduce using rule 32 (bind_var)
State 54
- 27 var: VAR .
-
- $default reduce using rule 27 (var)
+ 110 func: "(" FUNC bind_var_opt . func_fields ")"
+
+ "(" shift, and go to state 93
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ type_use go to state 124
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_fields go to state 133
+ func_fields_body go to state 134
+ func_fields_body1 go to state 135
+ func_result_body go to state 136
+ func_body go to state 137
+ func_body1 go to state 138
+ inline_import go to state 139
+ inline_export go to state 140
State 55
- 26 var: nat .
+ 31 bind_var_opt: bind_var .
- $default reduce using rule 26 (var)
+ $default reduce using rule 31 (bind_var_opt)
State 56
- 161 start: "(" START var . ")"
+ 22 nat: NAT .
- ")" shift, and go to state 137
+ $default reduce using rule 22 (nat)
State 57
- 11 func_type: "(" . FUNC func_sig ")"
+ 27 var: VAR .
- FUNC shift, and go to state 138
+ $default reduce using rule 27 (var)
State 58
- 159 type_def: "(" TYPE func_type . ")"
+ 26 var: nat .
- ")" shift, and go to state 139
+ $default reduce using rule 26 (var)
State 59
- 160 type_def: "(" TYPE bind_var . func_type ")"
-
- "(" shift, and go to state 57
+ 169 start: "(" START var . ")"
- func_type go to state 140
+ ")" shift, and go to state 141
State 60
- 142 global: "(" GLOBAL bind_var_opt . global_fields ")"
-
- "(" shift, and go to state 141
- VALUE_TYPE shift, and go to state 142
+ 11 func_type: "(" . FUNC func_sig ")"
- global_type go to state 143
- global_fields go to state 144
- inline_import go to state 145
- inline_export go to state 146
+ FUNC shift, and go to state 142
State 61
- 130 table: "(" TABLE bind_var_opt . table_fields ")"
+ 167 type_def: "(" TYPE func_type . ")"
- "(" shift, and go to state 147
- NAT shift, and go to state 53
- ANYFUNC shift, and go to state 148
-
- elem_type go to state 149
- table_sig go to state 150
- limits go to state 151
- nat go to state 152
- table_fields go to state 153
- inline_import go to state 154
- inline_export go to state 155
+ ")" shift, and go to state 143
State 62
- 80 expr: "(" . expr1 ")"
- 126 offset: "(" . OFFSET const_expr ")"
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- OFFSET shift, and go to state 159
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 168 type_def: "(" TYPE bind_var . func_type ")"
+
+ "(" shift, and go to state 60
+
+ func_type go to state 144
State 63
- 128 elem: "(" ELEM var . offset var_list ")"
+ 148 global: "(" GLOBAL bind_var_opt . global_fields ")"
- "(" shift, and go to state 62
+ "(" shift, and go to state 145
+ VALUE_TYPE shift, and go to state 146
- expr go to state 64
- offset go to state 163
+ global_type go to state 147
+ global_fields go to state 148
+ inline_import go to state 149
+ inline_export go to state 150
State 64
- 127 offset: expr .
+ 136 table: "(" TABLE bind_var_opt . table_fields ")"
- $default reduce using rule 127 (offset)
+ "(" shift, and go to state 151
+ NAT shift, and go to state 56
+ ANYFUNC shift, and go to state 152
+ elem_type go to state 153
+ table_sig go to state 154
+ limits go to state 155
+ nat go to state 156
+ table_fields go to state 157
+ inline_import go to state 158
+ inline_export go to state 159
-State 65
-
- 129 elem: "(" ELEM offset . var_list ")"
- $default reduce using rule 28 (var_list)
+State 65
- var_list go to state 164
+ 80 expr: "(" . expr1 ")"
+ 132 offset: "(" . OFFSET const_expr ")"
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ OFFSET shift, and go to state 163
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 66
- 137 memory: "(" MEMORY bind_var_opt . memory_fields ")"
+ 134 elem: "(" ELEM var . offset var_list ")"
- "(" shift, and go to state 165
- NAT shift, and go to state 53
+ "(" shift, and go to state 65
- memory_sig go to state 166
- limits go to state 167
- nat go to state 152
- memory_fields go to state 168
- inline_import go to state 169
- inline_export go to state 170
+ expr go to state 67
+ offset go to state 167
State 67
- 135 data: "(" DATA var . offset text_list_opt ")"
-
- "(" shift, and go to state 62
+ 133 offset: expr .
- expr go to state 64
- offset go to state 171
+ $default reduce using rule 133 (offset)
State 68
- 136 data: "(" DATA offset . text_list_opt ")"
+ 135 elem: "(" ELEM offset . var_list ")"
- TEXT shift, and go to state 172
-
- $default reduce using rule 3 (text_list_opt)
+ $default reduce using rule 28 (var_list)
- text_list go to state 173
- text_list_opt go to state 174
+ var_list go to state 168
State 69
- 5 quoted_text: TEXT .
+ 143 memory: "(" MEMORY bind_var_opt . memory_fields ")"
- $default reduce using rule 5 (quoted_text)
+ "(" shift, and go to state 169
+ NAT shift, and go to state 56
+
+ memory_sig go to state 170
+ limits go to state 171
+ nat go to state 156
+ memory_fields go to state 172
+ inline_import go to state 173
+ inline_export go to state 174
State 70
- 151 import: "(" IMPORT quoted_text . quoted_text import_desc ")"
+ 141 data: "(" DATA var . offset text_list_opt ")"
- TEXT shift, and go to state 69
+ "(" shift, and go to state 65
- quoted_text go to state 175
+ expr go to state 67
+ offset go to state 175
State 71
- 157 export: "(" EXPORT quoted_text . export_desc ")"
+ 142 data: "(" DATA offset . text_list_opt ")"
- "(" shift, and go to state 176
-
- export_desc go to state 177
+ TEXT shift, and go to state 176
+ $default reduce using rule 3 (text_list_opt)
-State 72
+ text_list go to state 177
+ text_list_opt go to state 178
- 180 script_module: "(" MODULE bind_var_opt . module_fields_opt ")"
- 181 | "(" MODULE bind_var_opt . BIN text_list ")"
- 182 | "(" MODULE bind_var_opt . QUOTE text_list ")"
- "(" shift, and go to state 45
- BIN shift, and go to state 178
- QUOTE shift, and go to state 179
+State 72
- $default reduce using rule 172 (module_fields_opt)
+ 5 quoted_text: TEXT .
- func go to state 2
- elem go to state 3
- table go to state 4
- data go to state 5
- memory go to state 6
- global go to state 7
- import go to state 8
- export go to state 9
- type_def go to state 10
- start go to state 11
- module_field go to state 12
- module_fields_opt go to state 180
- module_fields go to state 181
+ $default reduce using rule 5 (quoted_text)
State 73
- 197 cmd: "(" REGISTER quoted_text . script_var_opt ")"
+ 158 import: "(" IMPORT quoted_text . quoted_text import_desc ")"
- VAR shift, and go to state 74
+ TEXT shift, and go to state 72
- $default reduce using rule 178 (script_var_opt)
-
- script_var_opt go to state 182
+ quoted_text go to state 179
State 74
- 179 script_var_opt: VAR .
+ 165 export: "(" EXPORT quoted_text . export_desc ")"
+
+ "(" shift, and go to state 180
- $default reduce using rule 179 (script_var_opt)
+ export_desc go to state 181
State 75
- 183 action: "(" INVOKE script_var_opt . quoted_text const_list ")"
+ 108 exception: "(" EXCEPT bind_var_opt . value_type_list ")"
- TEXT shift, and go to state 69
+ $default reduce using rule 6 (value_type_list)
- quoted_text go to state 183
+ value_type_list go to state 182
State 76
- 184 action: "(" GET script_var_opt . quoted_text ")"
+ 189 script_module: "(" MODULE bind_var_opt . module_fields_opt ")"
+ 190 | "(" MODULE bind_var_opt . BIN text_list ")"
+ 191 | "(" MODULE bind_var_opt . QUOTE text_list ")"
+
+ "(" shift, and go to state 48
+ BIN shift, and go to state 183
+ QUOTE shift, and go to state 184
+
+ $default reduce using rule 181 (module_fields_opt)
+
+ exception go to state 2
+ exception_field go to state 3
+ func go to state 4
+ elem go to state 5
+ table go to state 6
+ data go to state 7
+ memory go to state 8
+ global go to state 9
+ import go to state 10
+ export go to state 11
+ type_def go to state 12
+ start go to state 13
+ module_field go to state 14
+ module_fields_opt go to state 185
+ module_fields go to state 186
- TEXT shift, and go to state 69
- quoted_text go to state 184
+State 77
+ 206 cmd: "(" REGISTER quoted_text . script_var_opt ")"
-State 77
+ VAR shift, and go to state 78
- 180 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
- 181 | "(" . MODULE bind_var_opt BIN text_list ")"
- 182 | "(" . MODULE bind_var_opt QUOTE text_list ")"
+ $default reduce using rule 187 (script_var_opt)
- MODULE shift, and go to state 33
+ script_var_opt go to state 187
State 78
- 185 assertion: "(" ASSERT_MALFORMED script_module . quoted_text ")"
-
- TEXT shift, and go to state 69
+ 188 script_var_opt: VAR .
- quoted_text go to state 185
+ $default reduce using rule 188 (script_var_opt)
State 79
- 186 assertion: "(" ASSERT_INVALID script_module . quoted_text ")"
+ 192 action: "(" INVOKE script_var_opt . quoted_text const_list ")"
- TEXT shift, and go to state 69
+ TEXT shift, and go to state 72
- quoted_text go to state 186
+ quoted_text go to state 188
State 80
- 187 assertion: "(" ASSERT_UNLINKABLE script_module . quoted_text ")"
+ 193 action: "(" GET script_var_opt . quoted_text ")"
- TEXT shift, and go to state 69
+ TEXT shift, and go to state 72
- quoted_text go to state 187
+ quoted_text go to state 189
State 81
- 183 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
- 184 | "(" . GET script_var_opt quoted_text ")"
+ 189 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
+ 190 | "(" . MODULE bind_var_opt BIN text_list ")"
+ 191 | "(" . MODULE bind_var_opt QUOTE text_list ")"
- INVOKE shift, and go to state 35
- GET shift, and go to state 36
+ MODULE shift, and go to state 36
State 82
- 189 assertion: "(" ASSERT_RETURN action . const_list ")"
+ 194 assertion: "(" ASSERT_MALFORMED script_module . quoted_text ")"
- $default reduce using rule 201 (const_list)
+ TEXT shift, and go to state 72
- const_list go to state 188
+ quoted_text go to state 190
State 83
- 190 assertion: "(" ASSERT_RETURN_CANONICAL_NAN action . ")"
+ 195 assertion: "(" ASSERT_INVALID script_module . quoted_text ")"
- ")" shift, and go to state 189
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 191
State 84
- 191 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN action . ")"
+ 196 assertion: "(" ASSERT_UNLINKABLE script_module . quoted_text ")"
- ")" shift, and go to state 190
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 192
State 85
- 180 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
- 181 | "(" . MODULE bind_var_opt BIN text_list ")"
- 182 | "(" . MODULE bind_var_opt QUOTE text_list ")"
- 183 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
- 184 | "(" . GET script_var_opt quoted_text ")"
+ 192 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
+ 193 | "(" . GET script_var_opt quoted_text ")"
- MODULE shift, and go to state 33
- INVOKE shift, and go to state 35
- GET shift, and go to state 36
+ INVOKE shift, and go to state 38
+ GET shift, and go to state 39
State 86
- 188 assertion: "(" ASSERT_TRAP script_module . quoted_text ")"
+ 198 assertion: "(" ASSERT_RETURN action . const_list ")"
- TEXT shift, and go to state 69
+ $default reduce using rule 210 (const_list)
- quoted_text go to state 191
+ const_list go to state 193
State 87
- 192 assertion: "(" ASSERT_TRAP action . quoted_text ")"
-
- TEXT shift, and go to state 69
+ 199 assertion: "(" ASSERT_RETURN_CANONICAL_NAN action . ")"
- quoted_text go to state 192
+ ")" shift, and go to state 194
State 88
- 193 assertion: "(" ASSERT_EXHAUSTION action . quoted_text ")"
-
- TEXT shift, and go to state 69
+ 200 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN action . ")"
- quoted_text go to state 193
+ ")" shift, and go to state 195
State 89
+ 189 script_module: "(" . MODULE bind_var_opt module_fields_opt ")"
+ 190 | "(" . MODULE bind_var_opt BIN text_list ")"
+ 191 | "(" . MODULE bind_var_opt QUOTE text_list ")"
+ 192 action: "(" . INVOKE script_var_opt quoted_text const_list ")"
+ 193 | "(" . GET script_var_opt quoted_text ")"
+
+ MODULE shift, and go to state 36
+ INVOKE shift, and go to state 38
+ GET shift, and go to state 39
+
+
+State 90
+
+ 197 assertion: "(" ASSERT_TRAP script_module . quoted_text ")"
+
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 196
+
+
+State 91
+
+ 201 assertion: "(" ASSERT_TRAP action . quoted_text ")"
+
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 197
+
+
+State 92
+
+ 202 assertion: "(" ASSERT_EXHAUSTION action . quoted_text ")"
+
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 198
+
+
+State 93
+
21 type_use: "(" . TYPE var ")"
80 expr: "(" . expr1 ")"
- 118 func_fields_body1: "(" . PARAM value_type_list ")" func_fields_body1
- 119 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_body1
- 121 func_result_body: "(" . RESULT value_type_list ")" func_result_body
- 124 func_body1: "(" . LOCAL value_type_list ")" func_body1
- 125 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
- 152 inline_import: "(" . IMPORT quoted_text quoted_text ")"
- 158 inline_export: "(" . EXPORT quoted_text ")"
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- TYPE shift, and go to state 194
- PARAM shift, and go to state 195
- RESULT shift, and go to state 196
- LOCAL shift, and go to state 197
- IMPORT shift, and go to state 198
- EXPORT shift, and go to state 199
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 124 func_fields_body1: "(" . PARAM value_type_list ")" func_fields_body1
+ 125 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_body1
+ 127 func_result_body: "(" . RESULT value_type_list ")" func_result_body
+ 130 func_body1: "(" . LOCAL value_type_list ")" func_body1
+ 131 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
+ 159 inline_import: "(" . IMPORT quoted_text quoted_text ")"
+ 166 inline_export: "(" . EXPORT quoted_text ")"
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ TYPE shift, and go to state 199
+ PARAM shift, and go to state 200
+ RESULT shift, and go to state 201
+ LOCAL shift, and go to state 202
+ IMPORT shift, and go to state 203
+ EXPORT shift, and go to state 204
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
-State 90
+State 94
43 plain_instr: NOP .
$default reduce using rule 43 (plain_instr)
-State 91
+State 95
44 plain_instr: DROP .
$default reduce using rule 44 (plain_instr)
-State 92
+State 96
68 block_instr: BLOCK . labeling_opt block END labeling_opt
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 201
+ bind_var go to state 205
+ labeling_opt go to state 206
-State 93
+State 97
70 block_instr: IF . labeling_opt block END labeling_opt
71 | IF . labeling_opt block ELSE labeling_opt instr_list END labeling_opt
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 202
+ bind_var go to state 205
+ labeling_opt go to state 207
-State 94
+State 98
69 block_instr: LOOP . labeling_opt block END labeling_opt
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 203
+ bind_var go to state 205
+ labeling_opt go to state 208
-State 95
+State 99
46 plain_instr: BR . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 204
+ nat go to state 58
+ var go to state 209
-State 96
+State 100
47 plain_instr: BR_IF . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 205
+ nat go to state 58
+ var go to state 210
-State 97
+State 101
48 plain_instr: BR_TABLE . var_list var
$default reduce using rule 28 (var_list)
- var_list go to state 206
+ var_list go to state 211
-State 98
+State 102
- 98 try_check: TRY .
+ 102 try_check: TRY .
- $default reduce using rule 98 (try_check)
+ $default reduce using rule 102 (try_check)
-State 99
+State 103
- 97 throw_check: THROW .
+ 101 throw_check: THROW .
- $default reduce using rule 97 (throw_check)
+ $default reduce using rule 101 (throw_check)
-State 100
+State 104
- 96 rethrow_check: RETHROW .
+ 100 rethrow_check: RETHROW .
- $default reduce using rule 96 (rethrow_check)
+ $default reduce using rule 100 (rethrow_check)
-State 101
+State 105
50 plain_instr: CALL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 207
+ nat go to state 58
+ var go to state 212
-State 102
+State 106
51 plain_instr: CALL_INDIRECT . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 208
+ nat go to state 58
+ var go to state 213
-State 103
+State 107
49 plain_instr: RETURN .
$default reduce using rule 49 (plain_instr)
-State 104
+State 108
52 plain_instr: GET_LOCAL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 209
+ nat go to state 58
+ var go to state 214
-State 105
+State 109
53 plain_instr: SET_LOCAL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 210
+ nat go to state 58
+ var go to state 215
-State 106
+State 110
54 plain_instr: TEE_LOCAL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 211
+ nat go to state 58
+ var go to state 216
-State 107
+State 111
55 plain_instr: GET_GLOBAL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 212
+ nat go to state 58
+ var go to state 217
-State 108
+State 112
56 plain_instr: SET_GLOBAL . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 213
+ nat go to state 58
+ var go to state 218
-State 109
+State 113
57 plain_instr: LOAD . offset_opt align_opt
- OFFSET_EQ_NAT shift, and go to state 214
+ OFFSET_EQ_NAT shift, and go to state 219
$default reduce using rule 35 (offset_opt)
- offset_opt go to state 215
+ offset_opt go to state 220
-State 110
+State 114
58 plain_instr: STORE . offset_opt align_opt
- OFFSET_EQ_NAT shift, and go to state 214
+ OFFSET_EQ_NAT shift, and go to state 219
$default reduce using rule 35 (offset_opt)
- offset_opt go to state 216
+ offset_opt go to state 221
-State 111
+State 115
59 plain_instr: CONST . literal
- NAT shift, and go to state 217
- INT shift, and go to state 218
- FLOAT shift, and go to state 219
+ NAT shift, and go to state 222
+ INT shift, and go to state 223
+ FLOAT shift, and go to state 224
- literal go to state 220
+ literal go to state 225
-State 112
+State 116
60 plain_instr: UNARY .
$default reduce using rule 60 (plain_instr)
-State 113
+State 117
61 plain_instr: BINARY .
$default reduce using rule 61 (plain_instr)
-State 114
+State 118
62 plain_instr: COMPARE .
$default reduce using rule 62 (plain_instr)
-State 115
+State 119
63 plain_instr: CONVERT .
$default reduce using rule 63 (plain_instr)
-State 116
+State 120
45 plain_instr: SELECT .
$default reduce using rule 45 (plain_instr)
-State 117
+State 121
42 plain_instr: UNREACHABLE .
$default reduce using rule 42 (plain_instr)
-State 118
+State 122
64 plain_instr: CURRENT_MEMORY .
$default reduce using rule 64 (plain_instr)
-State 119
+State 123
65 plain_instr: GROW_MEMORY .
$default reduce using rule 65 (plain_instr)
-State 120
+State 124
- 105 func_fields: type_use . func_fields_body
-
- "(" shift, and go to state 221
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_fields_body go to state 222
- func_fields_body1 go to state 131
- func_result_body go to state 132
- func_body go to state 133
- func_body1 go to state 134
+ 111 func_fields: type_use . func_fields_body
+
+ "(" shift, and go to state 226
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_fields_body go to state 227
+ func_fields_body1 go to state 135
+ func_result_body go to state 136
+ func_body go to state 137
+ func_body1 go to state 138
-State 121
+State 125
- 100 instr_list: instr . instr_list
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 224
+ 104 instr_list: instr . instr_list
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 229
-State 122
+State 126
39 instr: plain_instr .
$default reduce using rule 39 (instr)
-State 123
+State 127
40 instr: block_instr .
$default reduce using rule 40 (instr)
-State 124
+State 128
41 instr: expr .
$default reduce using rule 41 (instr)
-State 125
+State 129
67 plain_instr: rethrow_check . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 225
+ nat go to state 58
+ var go to state 230
-State 126
+State 130
66 plain_instr: throw_check . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 226
+ nat go to state 58
+ var go to state 231
-State 127
+State 131
72 block_instr: try_check . labeling_opt block catch_instr_list END labeling_opt
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 227
+ bind_var go to state 205
+ labeling_opt go to state 232
-State 128
+State 132
- 123 func_body1: instr_list .
+ 129 func_body1: instr_list .
- $default reduce using rule 123 (func_body1)
+ $default reduce using rule 129 (func_body1)
-State 129
+State 133
- 104 func: "(" FUNC bind_var_opt func_fields . ")"
+ 110 func: "(" FUNC bind_var_opt func_fields . ")"
- ")" shift, and go to state 228
+ ")" shift, and go to state 233
-State 130
+State 134
- 106 func_fields: func_fields_body .
+ 112 func_fields: func_fields_body .
- $default reduce using rule 106 (func_fields)
+ $default reduce using rule 112 (func_fields)
-State 131
+State 135
- 116 func_fields_body: func_fields_body1 .
+ 122 func_fields_body: func_fields_body1 .
- $default reduce using rule 116 (func_fields_body)
+ $default reduce using rule 122 (func_fields_body)
-State 132
+State 136
- 117 func_fields_body1: func_result_body .
+ 123 func_fields_body1: func_result_body .
- $default reduce using rule 117 (func_fields_body1)
+ $default reduce using rule 123 (func_fields_body1)
-State 133
+State 137
- 120 func_result_body: func_body .
+ 126 func_result_body: func_body .
- $default reduce using rule 120 (func_result_body)
+ $default reduce using rule 126 (func_result_body)
-State 134
+State 138
- 122 func_body: func_body1 .
+ 128 func_body: func_body1 .
- $default reduce using rule 122 (func_body)
+ $default reduce using rule 128 (func_body)
-State 135
+State 139
- 107 func_fields: inline_import . type_use func_fields_import
- 108 | inline_import . func_fields_import
+ 113 func_fields: inline_import . type_use func_fields_import
+ 114 | inline_import . func_fields_import
- "(" shift, and go to state 229
+ "(" shift, and go to state 234
- $default reduce using rule 114 (func_fields_import_result)
+ $default reduce using rule 120 (func_fields_import_result)
- type_use go to state 230
- func_fields_import go to state 231
- func_fields_import1 go to state 232
- func_fields_import_result go to state 233
+ type_use go to state 235
+ func_fields_import go to state 236
+ func_fields_import1 go to state 237
+ func_fields_import_result go to state 238
-State 136
+State 140
- 109 func_fields: inline_export . func_fields
-
- "(" shift, and go to state 89
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- type_use go to state 120
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_fields go to state 234
- func_fields_body go to state 130
- func_fields_body1 go to state 131
- func_result_body go to state 132
- func_body go to state 133
- func_body1 go to state 134
- inline_import go to state 135
- inline_export go to state 136
+ 115 func_fields: inline_export . func_fields
+
+ "(" shift, and go to state 93
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ type_use go to state 124
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_fields go to state 239
+ func_fields_body go to state 134
+ func_fields_body1 go to state 135
+ func_result_body go to state 136
+ func_body go to state 137
+ func_body1 go to state 138
+ inline_import go to state 139
+ inline_export go to state 140
-State 137
+State 141
- 161 start: "(" START var ")" .
+ 169 start: "(" START var ")" .
- $default reduce using rule 161 (start)
+ $default reduce using rule 169 (start)
-State 138
+State 142
11 func_type: "(" FUNC . func_sig ")"
- "(" shift, and go to state 235
+ "(" shift, and go to state 240
$default reduce using rule 15 (func_sig_result)
- func_sig go to state 236
- func_sig_result go to state 237
+ func_sig go to state 241
+ func_sig_result go to state 242
-State 139
+State 143
- 159 type_def: "(" TYPE func_type ")" .
+ 167 type_def: "(" TYPE func_type ")" .
- $default reduce using rule 159 (type_def)
+ $default reduce using rule 167 (type_def)
-State 140
+State 144
- 160 type_def: "(" TYPE bind_var func_type . ")"
+ 168 type_def: "(" TYPE bind_var func_type . ")"
- ")" shift, and go to state 238
+ ")" shift, and go to state 243
-State 141
+State 145
10 global_type: "(" . MUT VALUE_TYPE ")"
- 152 inline_import: "(" . IMPORT quoted_text quoted_text ")"
- 158 inline_export: "(" . EXPORT quoted_text ")"
+ 159 inline_import: "(" . IMPORT quoted_text quoted_text ")"
+ 166 inline_export: "(" . EXPORT quoted_text ")"
- MUT shift, and go to state 239
- IMPORT shift, and go to state 198
- EXPORT shift, and go to state 199
+ MUT shift, and go to state 244
+ IMPORT shift, and go to state 203
+ EXPORT shift, and go to state 204
-State 142
+State 146
9 global_type: VALUE_TYPE .
$default reduce using rule 9 (global_type)
-State 143
+State 147
- 143 global_fields: global_type . const_expr
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 240
- const_expr go to state 241
+ 149 global_fields: global_type . const_expr
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 245
+ const_expr go to state 246
-State 144
+State 148
- 142 global: "(" GLOBAL bind_var_opt global_fields . ")"
+ 148 global: "(" GLOBAL bind_var_opt global_fields . ")"
- ")" shift, and go to state 242
+ ")" shift, and go to state 247
-State 145
+State 149
- 144 global_fields: inline_import . global_type
+ 150 global_fields: inline_import . global_type
- "(" shift, and go to state 243
- VALUE_TYPE shift, and go to state 142
+ "(" shift, and go to state 248
+ VALUE_TYPE shift, and go to state 146
- global_type go to state 244
+ global_type go to state 249
-State 146
+State 150
- 145 global_fields: inline_export . global_fields
+ 151 global_fields: inline_export . global_fields
- "(" shift, and go to state 141
- VALUE_TYPE shift, and go to state 142
+ "(" shift, and go to state 145
+ VALUE_TYPE shift, and go to state 146
- global_type go to state 143
- global_fields go to state 245
- inline_import go to state 145
- inline_export go to state 146
+ global_type go to state 147
+ global_fields go to state 250
+ inline_import go to state 149
+ inline_export go to state 150
-State 147
+State 151
- 152 inline_import: "(" . IMPORT quoted_text quoted_text ")"
- 158 inline_export: "(" . EXPORT quoted_text ")"
+ 159 inline_import: "(" . IMPORT quoted_text quoted_text ")"
+ 166 inline_export: "(" . EXPORT quoted_text ")"
- IMPORT shift, and go to state 198
- EXPORT shift, and go to state 199
+ IMPORT shift, and go to state 203
+ EXPORT shift, and go to state 204
-State 148
+State 152
8 elem_type: ANYFUNC .
$default reduce using rule 8 (elem_type)
-State 149
+State 153
- 134 table_fields: elem_type . "(" ELEM var_list ")"
+ 140 table_fields: elem_type . "(" ELEM var_list ")"
- "(" shift, and go to state 246
+ "(" shift, and go to state 251
-State 150
+State 154
- 131 table_fields: table_sig .
+ 137 table_fields: table_sig .
- $default reduce using rule 131 (table_fields)
+ $default reduce using rule 137 (table_fields)
-State 151
+State 155
17 table_sig: limits . elem_type
- ANYFUNC shift, and go to state 148
+ ANYFUNC shift, and go to state 152
- elem_type go to state 247
+ elem_type go to state 252
-State 152
+State 156
19 limits: nat .
20 | nat . nat
- NAT shift, and go to state 53
+ NAT shift, and go to state 56
$default reduce using rule 19 (limits)
- nat go to state 248
+ nat go to state 253
-State 153
+State 157
- 130 table: "(" TABLE bind_var_opt table_fields . ")"
+ 136 table: "(" TABLE bind_var_opt table_fields . ")"
- ")" shift, and go to state 249
+ ")" shift, and go to state 254
-State 154
+State 158
- 132 table_fields: inline_import . table_sig
+ 138 table_fields: inline_import . table_sig
- NAT shift, and go to state 53
+ NAT shift, and go to state 56
- table_sig go to state 250
- limits go to state 151
- nat go to state 152
+ table_sig go to state 255
+ limits go to state 155
+ nat go to state 156
-State 155
+State 159
- 133 table_fields: inline_export . table_fields
+ 139 table_fields: inline_export . table_fields
- "(" shift, and go to state 147
- NAT shift, and go to state 53
- ANYFUNC shift, and go to state 148
+ "(" shift, and go to state 151
+ NAT shift, and go to state 56
+ ANYFUNC shift, and go to state 152
- elem_type go to state 149
- table_sig go to state 150
- limits go to state 151
- nat go to state 152
- table_fields go to state 251
- inline_import go to state 154
- inline_export go to state 155
+ elem_type go to state 153
+ table_sig go to state 154
+ limits go to state 155
+ nat go to state 156
+ table_fields go to state 256
+ inline_import go to state 158
+ inline_export go to state 159
-State 156
+State 160
82 expr1: BLOCK . labeling_opt block
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 252
+ bind_var go to state 205
+ labeling_opt go to state 257
-State 157
+State 161
84 expr1: IF . labeling_opt if_block
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 253
+ bind_var go to state 205
+ labeling_opt go to state 258
-State 158
+State 162
83 expr1: LOOP . labeling_opt block
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 33 (labeling_opt)
- bind_var go to state 200
- labeling_opt go to state 254
+ bind_var go to state 205
+ labeling_opt go to state 259
-State 159
+State 163
- 126 offset: "(" OFFSET . const_expr ")"
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 240
- const_expr go to state 255
+ 132 offset: "(" OFFSET . const_expr ")"
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 245
+ const_expr go to state 260
-State 160
+State 164
81 expr1: plain_instr . expr_list
- "(" shift, and go to state 223
+ "(" shift, and go to state 228
- $default reduce using rule 101 (expr_list)
+ $default reduce using rule 105 (expr_list)
- expr go to state 256
- expr_list go to state 257
+ expr go to state 261
+ expr_list go to state 262
-State 161
+State 165
80 expr: "(" expr1 . ")"
- ")" shift, and go to state 258
+ ")" shift, and go to state 263
-State 162
+State 166
- 85 expr1: try_check . "(" BLOCK labeling_opt block ")" catch_list
+ 85 expr1: try_check . labeling_opt try_
- "(" shift, and go to state 259
+ VAR shift, and go to state 53
+ $default reduce using rule 33 (labeling_opt)
-State 163
+ bind_var go to state 205
+ labeling_opt go to state 264
+
+
+State 167
- 128 elem: "(" ELEM var offset . var_list ")"
+ 134 elem: "(" ELEM var offset . var_list ")"
$default reduce using rule 28 (var_list)
- var_list go to state 260
+ var_list go to state 265
-State 164
+State 168
29 var_list: var_list . var
- 129 elem: "(" ELEM offset var_list . ")"
+ 135 elem: "(" ELEM offset var_list . ")"
- ")" shift, and go to state 261
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ ")" shift, and go to state 266
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 262
+ nat go to state 58
+ var go to state 267
-State 165
+State 169
- 141 memory_fields: "(" . DATA text_list_opt ")"
- 152 inline_import: "(" . IMPORT quoted_text quoted_text ")"
- 158 inline_export: "(" . EXPORT quoted_text ")"
+ 147 memory_fields: "(" . DATA text_list_opt ")"
+ 159 inline_import: "(" . IMPORT quoted_text quoted_text ")"
+ 166 inline_export: "(" . EXPORT quoted_text ")"
- DATA shift, and go to state 263
- IMPORT shift, and go to state 198
- EXPORT shift, and go to state 199
+ DATA shift, and go to state 268
+ IMPORT shift, and go to state 203
+ EXPORT shift, and go to state 204
-State 166
+State 170
- 138 memory_fields: memory_sig .
+ 144 memory_fields: memory_sig .
- $default reduce using rule 138 (memory_fields)
+ $default reduce using rule 144 (memory_fields)
-State 167
+State 171
18 memory_sig: limits .
$default reduce using rule 18 (memory_sig)
-State 168
+State 172
- 137 memory: "(" MEMORY bind_var_opt memory_fields . ")"
+ 143 memory: "(" MEMORY bind_var_opt memory_fields . ")"
- ")" shift, and go to state 264
+ ")" shift, and go to state 269
-State 169
+State 173
- 139 memory_fields: inline_import . memory_sig
+ 145 memory_fields: inline_import . memory_sig
- NAT shift, and go to state 53
+ NAT shift, and go to state 56
- memory_sig go to state 265
- limits go to state 167
- nat go to state 152
+ memory_sig go to state 270
+ limits go to state 171
+ nat go to state 156
-State 170
+State 174
- 140 memory_fields: inline_export . memory_fields
+ 146 memory_fields: inline_export . memory_fields
- "(" shift, and go to state 165
- NAT shift, and go to state 53
+ "(" shift, and go to state 169
+ NAT shift, and go to state 56
- memory_sig go to state 166
- limits go to state 167
- nat go to state 152
- memory_fields go to state 266
- inline_import go to state 169
- inline_export go to state 170
+ memory_sig go to state 170
+ limits go to state 171
+ nat go to state 156
+ memory_fields go to state 271
+ inline_import go to state 173
+ inline_export go to state 174
-State 171
+State 175
- 135 data: "(" DATA var offset . text_list_opt ")"
+ 141 data: "(" DATA var offset . text_list_opt ")"
- TEXT shift, and go to state 172
+ TEXT shift, and go to state 176
$default reduce using rule 3 (text_list_opt)
- text_list go to state 173
- text_list_opt go to state 267
+ text_list go to state 177
+ text_list_opt go to state 272
-State 172
+State 176
1 text_list: TEXT .
$default reduce using rule 1 (text_list)
-State 173
+State 177
2 text_list: text_list . TEXT
4 text_list_opt: text_list .
- TEXT shift, and go to state 268
+ TEXT shift, and go to state 273
$default reduce using rule 4 (text_list_opt)
-State 174
+State 178
- 136 data: "(" DATA offset text_list_opt . ")"
+ 142 data: "(" DATA offset text_list_opt . ")"
- ")" shift, and go to state 269
+ ")" shift, and go to state 274
-State 175
+State 179
- 151 import: "(" IMPORT quoted_text quoted_text . import_desc ")"
+ 158 import: "(" IMPORT quoted_text quoted_text . import_desc ")"
- "(" shift, and go to state 270
+ "(" shift, and go to state 275
- import_desc go to state 271
+ exception go to state 276
+ import_desc go to state 277
-State 176
+State 180
- 153 export_desc: "(" . FUNC var ")"
- 154 | "(" . TABLE var ")"
- 155 | "(" . MEMORY var ")"
- 156 | "(" . GLOBAL var ")"
+ 160 export_desc: "(" . FUNC var ")"
+ 161 | "(" . TABLE var ")"
+ 162 | "(" . MEMORY var ")"
+ 163 | "(" . GLOBAL var ")"
+ 164 | "(" . EXCEPT var ")"
- FUNC shift, and go to state 272
- GLOBAL shift, and go to state 273
- TABLE shift, and go to state 274
- MEMORY shift, and go to state 275
+ FUNC shift, and go to state 278
+ GLOBAL shift, and go to state 279
+ TABLE shift, and go to state 280
+ MEMORY shift, and go to state 281
+ EXCEPT shift, and go to state 282
-State 177
+State 181
- 157 export: "(" EXPORT quoted_text export_desc . ")"
+ 165 export: "(" EXPORT quoted_text export_desc . ")"
- ")" shift, and go to state 276
+ ")" shift, and go to state 283
-State 178
+State 182
- 181 script_module: "(" MODULE bind_var_opt BIN . text_list ")"
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 108 exception: "(" EXCEPT bind_var_opt value_type_list . ")"
- TEXT shift, and go to state 172
+ ")" shift, and go to state 284
+ VALUE_TYPE shift, and go to state 285
- text_list go to state 277
+State 183
-State 179
+ 190 script_module: "(" MODULE bind_var_opt BIN . text_list ")"
- 182 script_module: "(" MODULE bind_var_opt QUOTE . text_list ")"
+ TEXT shift, and go to state 176
- TEXT shift, and go to state 172
+ text_list go to state 286
- text_list go to state 278
+State 184
-State 180
+ 191 script_module: "(" MODULE bind_var_opt QUOTE . text_list ")"
- 180 script_module: "(" MODULE bind_var_opt module_fields_opt . ")"
+ TEXT shift, and go to state 176
- ")" shift, and go to state 279
+ text_list go to state 287
-State 181
+State 185
- 173 module_fields_opt: module_fields .
- 175 module_fields: module_fields . module_field
+ 189 script_module: "(" MODULE bind_var_opt module_fields_opt . ")"
- "(" shift, and go to state 45
+ ")" shift, and go to state 288
- $default reduce using rule 173 (module_fields_opt)
- func go to state 2
- elem go to state 3
- table go to state 4
- data go to state 5
- memory go to state 6
- global go to state 7
- import go to state 8
- export go to state 9
- type_def go to state 10
- start go to state 11
- module_field go to state 46
+State 186
+ 182 module_fields_opt: module_fields .
+ 184 module_fields: module_fields . module_field
-State 182
+ "(" shift, and go to state 48
- 197 cmd: "(" REGISTER quoted_text script_var_opt . ")"
+ $default reduce using rule 182 (module_fields_opt)
- ")" shift, and go to state 280
+ exception go to state 2
+ exception_field go to state 3
+ func go to state 4
+ elem go to state 5
+ table go to state 6
+ data go to state 7
+ memory go to state 8
+ global go to state 9
+ import go to state 10
+ export go to state 11
+ type_def go to state 12
+ start go to state 13
+ module_field go to state 49
-State 183
+State 187
- 183 action: "(" INVOKE script_var_opt quoted_text . const_list ")"
+ 206 cmd: "(" REGISTER quoted_text script_var_opt . ")"
- $default reduce using rule 201 (const_list)
+ ")" shift, and go to state 289
- const_list go to state 281
+State 188
-State 184
+ 192 action: "(" INVOKE script_var_opt quoted_text . const_list ")"
- 184 action: "(" GET script_var_opt quoted_text . ")"
+ $default reduce using rule 210 (const_list)
- ")" shift, and go to state 282
+ const_list go to state 290
-State 185
+State 189
- 185 assertion: "(" ASSERT_MALFORMED script_module quoted_text . ")"
+ 193 action: "(" GET script_var_opt quoted_text . ")"
- ")" shift, and go to state 283
+ ")" shift, and go to state 291
-State 186
+State 190
- 186 assertion: "(" ASSERT_INVALID script_module quoted_text . ")"
+ 194 assertion: "(" ASSERT_MALFORMED script_module quoted_text . ")"
- ")" shift, and go to state 284
+ ")" shift, and go to state 292
-State 187
+State 191
- 187 assertion: "(" ASSERT_UNLINKABLE script_module quoted_text . ")"
+ 195 assertion: "(" ASSERT_INVALID script_module quoted_text . ")"
- ")" shift, and go to state 285
+ ")" shift, and go to state 293
-State 188
+State 192
- 189 assertion: "(" ASSERT_RETURN action const_list . ")"
- 202 const_list: const_list . const
+ 196 assertion: "(" ASSERT_UNLINKABLE script_module quoted_text . ")"
- "(" shift, and go to state 286
- ")" shift, and go to state 287
+ ")" shift, and go to state 294
- const go to state 288
+State 193
-State 189
+ 198 assertion: "(" ASSERT_RETURN action const_list . ")"
+ 211 const_list: const_list . const
- 190 assertion: "(" ASSERT_RETURN_CANONICAL_NAN action ")" .
+ "(" shift, and go to state 295
+ ")" shift, and go to state 296
- $default reduce using rule 190 (assertion)
+ const go to state 297
-State 190
+State 194
- 191 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN action ")" .
+ 199 assertion: "(" ASSERT_RETURN_CANONICAL_NAN action ")" .
- $default reduce using rule 191 (assertion)
+ $default reduce using rule 199 (assertion)
-State 191
+State 195
- 188 assertion: "(" ASSERT_TRAP script_module quoted_text . ")"
+ 200 assertion: "(" ASSERT_RETURN_ARITHMETIC_NAN action ")" .
- ")" shift, and go to state 289
+ $default reduce using rule 200 (assertion)
-State 192
+State 196
- 192 assertion: "(" ASSERT_TRAP action quoted_text . ")"
+ 197 assertion: "(" ASSERT_TRAP script_module quoted_text . ")"
- ")" shift, and go to state 290
+ ")" shift, and go to state 298
-State 193
+State 197
- 193 assertion: "(" ASSERT_EXHAUSTION action quoted_text . ")"
+ 201 assertion: "(" ASSERT_TRAP action quoted_text . ")"
- ")" shift, and go to state 291
+ ")" shift, and go to state 299
-State 194
+State 198
+
+ 202 assertion: "(" ASSERT_EXHAUSTION action quoted_text . ")"
+
+ ")" shift, and go to state 300
+
+
+State 199
21 type_use: "(" TYPE . var ")"
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 292
+ nat go to state 58
+ var go to state 301
-State 195
+State 200
- 118 func_fields_body1: "(" PARAM . value_type_list ")" func_fields_body1
- 119 | "(" PARAM . bind_var VALUE_TYPE ")" func_fields_body1
+ 124 func_fields_body1: "(" PARAM . value_type_list ")" func_fields_body1
+ 125 | "(" PARAM . bind_var VALUE_TYPE ")" func_fields_body1
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 6 (value_type_list)
- value_type_list go to state 293
- bind_var go to state 294
+ value_type_list go to state 302
+ bind_var go to state 303
-State 196
+State 201
- 121 func_result_body: "(" RESULT . value_type_list ")" func_result_body
+ 127 func_result_body: "(" RESULT . value_type_list ")" func_result_body
$default reduce using rule 6 (value_type_list)
- value_type_list go to state 295
+ value_type_list go to state 304
-State 197
+State 202
- 124 func_body1: "(" LOCAL . value_type_list ")" func_body1
- 125 | "(" LOCAL . bind_var VALUE_TYPE ")" func_body1
+ 130 func_body1: "(" LOCAL . value_type_list ")" func_body1
+ 131 | "(" LOCAL . bind_var VALUE_TYPE ")" func_body1
- VAR shift, and go to state 50
+ VAR shift, and go to state 53
$default reduce using rule 6 (value_type_list)
- value_type_list go to state 296
- bind_var go to state 297
+ value_type_list go to state 305
+ bind_var go to state 306
-State 198
+State 203
- 152 inline_import: "(" IMPORT . quoted_text quoted_text ")"
+ 159 inline_import: "(" IMPORT . quoted_text quoted_text ")"
- TEXT shift, and go to state 69
+ TEXT shift, and go to state 72
- quoted_text go to state 298
+ quoted_text go to state 307
-State 199
+State 204
- 158 inline_export: "(" EXPORT . quoted_text ")"
+ 166 inline_export: "(" EXPORT . quoted_text ")"
- TEXT shift, and go to state 69
+ TEXT shift, and go to state 72
- quoted_text go to state 299
+ quoted_text go to state 308
-State 200
+State 205
34 labeling_opt: bind_var .
$default reduce using rule 34 (labeling_opt)
-State 201
+State 206
68 block_instr: BLOCK labeling_opt . block END labeling_opt
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 302
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 311
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
-State 202
+State 207
70 block_instr: IF labeling_opt . block END labeling_opt
71 | IF labeling_opt . block ELSE labeling_opt instr_list END labeling_opt
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 304
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 313
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
-State 203
+State 208
69 block_instr: LOOP labeling_opt . block END labeling_opt
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 305
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 314
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
-State 204
+State 209
46 plain_instr: BR var .
$default reduce using rule 46 (plain_instr)
-State 205
+State 210
47 plain_instr: BR_IF var .
$default reduce using rule 47 (plain_instr)
-State 206
+State 211
29 var_list: var_list . var
48 plain_instr: BR_TABLE var_list . var
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- nat go to state 55
- var go to state 306
+ nat go to state 58
+ var go to state 315
-State 207
+State 212
50 plain_instr: CALL var .
$default reduce using rule 50 (plain_instr)
-State 208
+State 213
51 plain_instr: CALL_INDIRECT var .
$default reduce using rule 51 (plain_instr)
-State 209
+State 214
52 plain_instr: GET_LOCAL var .
$default reduce using rule 52 (plain_instr)
-State 210
+State 215
53 plain_instr: SET_LOCAL var .
$default reduce using rule 53 (plain_instr)
-State 211
+State 216
54 plain_instr: TEE_LOCAL var .
$default reduce using rule 54 (plain_instr)
-State 212
+State 217
55 plain_instr: GET_GLOBAL var .
$default reduce using rule 55 (plain_instr)
-State 213
+State 218
56 plain_instr: SET_GLOBAL var .
$default reduce using rule 56 (plain_instr)
-State 214
+State 219
36 offset_opt: OFFSET_EQ_NAT .
$default reduce using rule 36 (offset_opt)
-State 215
+State 220
57 plain_instr: LOAD offset_opt . align_opt
- ALIGN_EQ_NAT shift, and go to state 307
+ ALIGN_EQ_NAT shift, and go to state 316
$default reduce using rule 37 (align_opt)
- align_opt go to state 308
+ align_opt go to state 317
-State 216
+State 221
58 plain_instr: STORE offset_opt . align_opt
- ALIGN_EQ_NAT shift, and go to state 307
+ ALIGN_EQ_NAT shift, and go to state 316
$default reduce using rule 37 (align_opt)
- align_opt go to state 309
+ align_opt go to state 318
-State 217
+State 222
23 literal: NAT .
$default reduce using rule 23 (literal)
-State 218
+State 223
24 literal: INT .
$default reduce using rule 24 (literal)
-State 219
+State 224
25 literal: FLOAT .
$default reduce using rule 25 (literal)
-State 220
+State 225
59 plain_instr: CONST literal .
$default reduce using rule 59 (plain_instr)
-State 221
-
- 80 expr: "(" . expr1 ")"
- 118 func_fields_body1: "(" . PARAM value_type_list ")" func_fields_body1
- 119 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_body1
- 121 func_result_body: "(" . RESULT value_type_list ")" func_result_body
- 124 func_body1: "(" . LOCAL value_type_list ")" func_body1
- 125 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- PARAM shift, and go to state 195
- RESULT shift, and go to state 196
- LOCAL shift, and go to state 197
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
-
-
-State 222
-
- 105 func_fields: type_use func_fields_body .
-
- $default reduce using rule 105 (func_fields)
-
-
-State 223
-
- 80 expr: "(" . expr1 ")"
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
-
-
-State 224
-
- 100 instr_list: instr instr_list .
-
- $default reduce using rule 100 (instr_list)
-
-
-State 225
-
- 67 plain_instr: rethrow_check var .
-
- $default reduce using rule 67 (plain_instr)
-
-
State 226
- 66 plain_instr: throw_check var .
-
- $default reduce using rule 66 (plain_instr)
+ 80 expr: "(" . expr1 ")"
+ 124 func_fields_body1: "(" . PARAM value_type_list ")" func_fields_body1
+ 125 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_body1
+ 127 func_result_body: "(" . RESULT value_type_list ")" func_result_body
+ 130 func_body1: "(" . LOCAL value_type_list ")" func_body1
+ 131 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ PARAM shift, and go to state 200
+ RESULT shift, and go to state 201
+ LOCAL shift, and go to state 202
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 227
- 72 block_instr: try_check labeling_opt . block catch_instr_list END labeling_opt
+ 111 func_fields: type_use func_fields_body .
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 310
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ $default reduce using rule 111 (func_fields)
State 228
- 104 func: "(" FUNC bind_var_opt func_fields ")" .
+ 80 expr: "(" . expr1 ")"
- $default reduce using rule 104 (func)
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 229
- 21 type_use: "(" . TYPE var ")"
- 112 func_fields_import1: "(" . PARAM value_type_list ")" func_fields_import1
- 113 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_import1
- 115 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
+ 104 instr_list: instr instr_list .
- TYPE shift, and go to state 194
- PARAM shift, and go to state 311
- RESULT shift, and go to state 312
+ $default reduce using rule 104 (instr_list)
State 230
- 107 func_fields: inline_import type_use . func_fields_import
-
- "(" shift, and go to state 313
-
- $default reduce using rule 114 (func_fields_import_result)
+ 67 plain_instr: rethrow_check var .
- func_fields_import go to state 314
- func_fields_import1 go to state 232
- func_fields_import_result go to state 233
+ $default reduce using rule 67 (plain_instr)
State 231
- 108 func_fields: inline_import func_fields_import .
+ 66 plain_instr: throw_check var .
- $default reduce using rule 108 (func_fields)
+ $default reduce using rule 66 (plain_instr)
State 232
- 110 func_fields_import: func_fields_import1 .
+ 72 block_instr: try_check labeling_opt . block catch_instr_list END labeling_opt
- $default reduce using rule 110 (func_fields_import)
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 319
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
State 233
- 111 func_fields_import1: func_fields_import_result .
+ 110 func: "(" FUNC bind_var_opt func_fields ")" .
- $default reduce using rule 111 (func_fields_import1)
+ $default reduce using rule 110 (func)
State 234
- 109 func_fields: inline_export func_fields .
+ 21 type_use: "(" . TYPE var ")"
+ 118 func_fields_import1: "(" . PARAM value_type_list ")" func_fields_import1
+ 119 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_import1
+ 121 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
- $default reduce using rule 109 (func_fields)
+ TYPE shift, and go to state 199
+ PARAM shift, and go to state 320
+ RESULT shift, and go to state 321
State 235
- 13 func_sig: "(" . PARAM value_type_list ")" func_sig
- 14 | "(" . PARAM bind_var VALUE_TYPE ")" func_sig
- 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
+ 113 func_fields: inline_import type_use . func_fields_import
+
+ "(" shift, and go to state 322
+
+ $default reduce using rule 120 (func_fields_import_result)
- PARAM shift, and go to state 315
- RESULT shift, and go to state 316
+ func_fields_import go to state 323
+ func_fields_import1 go to state 237
+ func_fields_import_result go to state 238
State 236
- 11 func_type: "(" FUNC func_sig . ")"
+ 114 func_fields: inline_import func_fields_import .
- ")" shift, and go to state 317
+ $default reduce using rule 114 (func_fields)
State 237
- 12 func_sig: func_sig_result .
+ 116 func_fields_import: func_fields_import1 .
- $default reduce using rule 12 (func_sig)
+ $default reduce using rule 116 (func_fields_import)
State 238
- 160 type_def: "(" TYPE bind_var func_type ")" .
+ 117 func_fields_import1: func_fields_import_result .
- $default reduce using rule 160 (type_def)
+ $default reduce using rule 117 (func_fields_import1)
State 239
- 10 global_type: "(" MUT . VALUE_TYPE ")"
+ 115 func_fields: inline_export func_fields .
- VALUE_TYPE shift, and go to state 318
+ $default reduce using rule 115 (func_fields)
State 240
- 103 const_expr: instr_list .
+ 13 func_sig: "(" . PARAM value_type_list ")" func_sig
+ 14 | "(" . PARAM bind_var VALUE_TYPE ")" func_sig
+ 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
- $default reduce using rule 103 (const_expr)
+ PARAM shift, and go to state 324
+ RESULT shift, and go to state 325
State 241
- 143 global_fields: global_type const_expr .
+ 11 func_type: "(" FUNC func_sig . ")"
- $default reduce using rule 143 (global_fields)
+ ")" shift, and go to state 326
State 242
- 142 global: "(" GLOBAL bind_var_opt global_fields ")" .
+ 12 func_sig: func_sig_result .
- $default reduce using rule 142 (global)
+ $default reduce using rule 12 (func_sig)
State 243
- 10 global_type: "(" . MUT VALUE_TYPE ")"
+ 168 type_def: "(" TYPE bind_var func_type ")" .
- MUT shift, and go to state 239
+ $default reduce using rule 168 (type_def)
State 244
- 144 global_fields: inline_import global_type .
+ 10 global_type: "(" MUT . VALUE_TYPE ")"
- $default reduce using rule 144 (global_fields)
+ VALUE_TYPE shift, and go to state 327
State 245
- 145 global_fields: inline_export global_fields .
+ 107 const_expr: instr_list .
- $default reduce using rule 145 (global_fields)
+ $default reduce using rule 107 (const_expr)
State 246
- 134 table_fields: elem_type "(" . ELEM var_list ")"
+ 149 global_fields: global_type const_expr .
- ELEM shift, and go to state 319
+ $default reduce using rule 149 (global_fields)
State 247
- 17 table_sig: limits elem_type .
+ 148 global: "(" GLOBAL bind_var_opt global_fields ")" .
- $default reduce using rule 17 (table_sig)
+ $default reduce using rule 148 (global)
State 248
- 20 limits: nat nat .
+ 10 global_type: "(" . MUT VALUE_TYPE ")"
- $default reduce using rule 20 (limits)
+ MUT shift, and go to state 244
State 249
- 130 table: "(" TABLE bind_var_opt table_fields ")" .
+ 150 global_fields: inline_import global_type .
- $default reduce using rule 130 (table)
+ $default reduce using rule 150 (global_fields)
State 250
- 132 table_fields: inline_import table_sig .
+ 151 global_fields: inline_export global_fields .
- $default reduce using rule 132 (table_fields)
+ $default reduce using rule 151 (global_fields)
State 251
- 133 table_fields: inline_export table_fields .
+ 140 table_fields: elem_type "(" . ELEM var_list ")"
- $default reduce using rule 133 (table_fields)
+ ELEM shift, and go to state 328
State 252
- 82 expr1: BLOCK labeling_opt . block
+ 17 table_sig: limits elem_type .
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 320
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ $default reduce using rule 17 (table_sig)
State 253
- 84 expr1: IF labeling_opt . if_block
-
- "(" shift, and go to state 321
+ 20 limits: nat nat .
- block_sig go to state 322
- expr go to state 323
- if_block go to state 324
- if_ go to state 325
+ $default reduce using rule 20 (limits)
State 254
- 83 expr1: LOOP labeling_opt . block
+ 136 table: "(" TABLE bind_var_opt table_fields ")" .
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 326
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ $default reduce using rule 136 (table)
State 255
- 126 offset: "(" OFFSET const_expr . ")"
+ 138 table_fields: inline_import table_sig .
- ")" shift, and go to state 327
+ $default reduce using rule 138 (table_fields)
State 256
- 102 expr_list: expr . expr_list
-
- "(" shift, and go to state 223
+ 139 table_fields: inline_export table_fields .
- $default reduce using rule 101 (expr_list)
-
- expr go to state 256
- expr_list go to state 328
+ $default reduce using rule 139 (table_fields)
State 257
- 81 expr1: plain_instr expr_list .
+ 82 expr1: BLOCK labeling_opt . block
- $default reduce using rule 81 (expr1)
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 329
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
State 258
- 80 expr: "(" expr1 ")" .
+ 84 expr1: IF labeling_opt . if_block
- $default reduce using rule 80 (expr)
+ "(" shift, and go to state 330
+
+ block_sig go to state 331
+ expr go to state 332
+ if_block go to state 333
+ if_ go to state 334
State 259
- 85 expr1: try_check "(" . BLOCK labeling_opt block ")" catch_list
+ 83 expr1: LOOP labeling_opt . block
- BLOCK shift, and go to state 329
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 335
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
State 260
- 29 var_list: var_list . var
- 128 elem: "(" ELEM var offset var_list . ")"
-
- ")" shift, and go to state 330
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ 132 offset: "(" OFFSET const_expr . ")"
- nat go to state 55
- var go to state 262
+ ")" shift, and go to state 336
State 261
- 129 elem: "(" ELEM offset var_list ")" .
+ 106 expr_list: expr . expr_list
- $default reduce using rule 129 (elem)
+ "(" shift, and go to state 228
+ $default reduce using rule 105 (expr_list)
-State 262
+ expr go to state 261
+ expr_list go to state 337
- 29 var_list: var_list var .
- $default reduce using rule 29 (var_list)
+State 262
+ 81 expr1: plain_instr expr_list .
-State 263
+ $default reduce using rule 81 (expr1)
- 141 memory_fields: "(" DATA . text_list_opt ")"
- TEXT shift, and go to state 172
+State 263
- $default reduce using rule 3 (text_list_opt)
+ 80 expr: "(" expr1 ")" .
- text_list go to state 173
- text_list_opt go to state 331
+ $default reduce using rule 80 (expr)
State 264
- 137 memory: "(" MEMORY bind_var_opt memory_fields ")" .
-
- $default reduce using rule 137 (memory)
+ 85 expr1: try_check labeling_opt . try_
+
+ "(" shift, and go to state 338
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ instr go to state 339
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 340
+ expr go to state 128
+ try_ go to state 341
+ try_instr_list go to state 342
+ catch_list go to state 343
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
State 265
- 139 memory_fields: inline_import memory_sig .
+ 29 var_list: var_list . var
+ 134 elem: "(" ELEM var offset var_list . ")"
+
+ ")" shift, and go to state 344
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- $default reduce using rule 139 (memory_fields)
+ nat go to state 58
+ var go to state 267
State 266
- 140 memory_fields: inline_export memory_fields .
+ 135 elem: "(" ELEM offset var_list ")" .
- $default reduce using rule 140 (memory_fields)
+ $default reduce using rule 135 (elem)
State 267
- 135 data: "(" DATA var offset text_list_opt . ")"
+ 29 var_list: var_list var .
- ")" shift, and go to state 332
+ $default reduce using rule 29 (var_list)
State 268
- 2 text_list: text_list TEXT .
+ 147 memory_fields: "(" DATA . text_list_opt ")"
- $default reduce using rule 2 (text_list)
+ TEXT shift, and go to state 176
+
+ $default reduce using rule 3 (text_list_opt)
+
+ text_list go to state 177
+ text_list_opt go to state 345
State 269
- 136 data: "(" DATA offset text_list_opt ")" .
+ 143 memory: "(" MEMORY bind_var_opt memory_fields ")" .
- $default reduce using rule 136 (data)
+ $default reduce using rule 143 (memory)
State 270
- 146 import_desc: "(" . FUNC bind_var_opt type_use ")"
- 147 | "(" . FUNC bind_var_opt func_sig ")"
- 148 | "(" . TABLE bind_var_opt table_sig ")"
- 149 | "(" . MEMORY bind_var_opt memory_sig ")"
- 150 | "(" . GLOBAL bind_var_opt global_type ")"
+ 145 memory_fields: inline_import memory_sig .
- FUNC shift, and go to state 333
- GLOBAL shift, and go to state 334
- TABLE shift, and go to state 335
- MEMORY shift, and go to state 336
+ $default reduce using rule 145 (memory_fields)
State 271
- 151 import: "(" IMPORT quoted_text quoted_text import_desc . ")"
+ 146 memory_fields: inline_export memory_fields .
- ")" shift, and go to state 337
+ $default reduce using rule 146 (memory_fields)
State 272
- 153 export_desc: "(" FUNC . var ")"
+ 141 data: "(" DATA var offset text_list_opt . ")"
- NAT shift, and go to state 53
- VAR shift, and go to state 54
-
- nat go to state 55
- var go to state 338
+ ")" shift, and go to state 346
State 273
- 156 export_desc: "(" GLOBAL . var ")"
-
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ 2 text_list: text_list TEXT .
- nat go to state 55
- var go to state 339
+ $default reduce using rule 2 (text_list)
State 274
- 154 export_desc: "(" TABLE . var ")"
-
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ 142 data: "(" DATA offset text_list_opt ")" .
- nat go to state 55
- var go to state 340
+ $default reduce using rule 142 (data)
State 275
- 155 export_desc: "(" MEMORY . var ")"
+ 108 exception: "(" . EXCEPT bind_var_opt value_type_list ")"
+ 152 import_desc: "(" . FUNC bind_var_opt type_use ")"
+ 153 | "(" . FUNC bind_var_opt func_sig ")"
+ 154 | "(" . TABLE bind_var_opt table_sig ")"
+ 155 | "(" . MEMORY bind_var_opt memory_sig ")"
+ 156 | "(" . GLOBAL bind_var_opt global_type ")"
- NAT shift, and go to state 53
- VAR shift, and go to state 54
-
- nat go to state 55
- var go to state 341
+ FUNC shift, and go to state 347
+ GLOBAL shift, and go to state 348
+ TABLE shift, and go to state 349
+ MEMORY shift, and go to state 350
+ EXCEPT shift, and go to state 35
State 276
- 157 export: "(" EXPORT quoted_text export_desc ")" .
+ 157 import_desc: exception .
- $default reduce using rule 157 (export)
+ $default reduce using rule 157 (import_desc)
State 277
- 2 text_list: text_list . TEXT
- 181 script_module: "(" MODULE bind_var_opt BIN text_list . ")"
+ 158 import: "(" IMPORT quoted_text quoted_text import_desc . ")"
- ")" shift, and go to state 342
- TEXT shift, and go to state 268
+ ")" shift, and go to state 351
State 278
- 2 text_list: text_list . TEXT
- 182 script_module: "(" MODULE bind_var_opt QUOTE text_list . ")"
+ 160 export_desc: "(" FUNC . var ")"
+
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- ")" shift, and go to state 343
- TEXT shift, and go to state 268
+ nat go to state 58
+ var go to state 352
State 279
- 180 script_module: "(" MODULE bind_var_opt module_fields_opt ")" .
+ 163 export_desc: "(" GLOBAL . var ")"
- $default reduce using rule 180 (script_module)
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
+
+ nat go to state 58
+ var go to state 353
State 280
- 197 cmd: "(" REGISTER quoted_text script_var_opt ")" .
+ 161 export_desc: "(" TABLE . var ")"
+
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- $default reduce using rule 197 (cmd)
+ nat go to state 58
+ var go to state 354
State 281
- 183 action: "(" INVOKE script_var_opt quoted_text const_list . ")"
- 202 const_list: const_list . const
+ 162 export_desc: "(" MEMORY . var ")"
- "(" shift, and go to state 286
- ")" shift, and go to state 344
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- const go to state 288
+ nat go to state 58
+ var go to state 355
State 282
- 184 action: "(" GET script_var_opt quoted_text ")" .
+ 164 export_desc: "(" EXCEPT . var ")"
+
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- $default reduce using rule 184 (action)
+ nat go to state 58
+ var go to state 356
State 283
- 185 assertion: "(" ASSERT_MALFORMED script_module quoted_text ")" .
+ 165 export: "(" EXPORT quoted_text export_desc ")" .
- $default reduce using rule 185 (assertion)
+ $default reduce using rule 165 (export)
State 284
- 186 assertion: "(" ASSERT_INVALID script_module quoted_text ")" .
+ 108 exception: "(" EXCEPT bind_var_opt value_type_list ")" .
- $default reduce using rule 186 (assertion)
+ $default reduce using rule 108 (exception)
State 285
- 187 assertion: "(" ASSERT_UNLINKABLE script_module quoted_text ")" .
+ 7 value_type_list: value_type_list VALUE_TYPE .
- $default reduce using rule 187 (assertion)
+ $default reduce using rule 7 (value_type_list)
State 286
- 200 const: "(" . CONST literal ")"
+ 2 text_list: text_list . TEXT
+ 190 script_module: "(" MODULE bind_var_opt BIN text_list . ")"
- CONST shift, and go to state 345
+ ")" shift, and go to state 357
+ TEXT shift, and go to state 273
State 287
- 189 assertion: "(" ASSERT_RETURN action const_list ")" .
+ 2 text_list: text_list . TEXT
+ 191 script_module: "(" MODULE bind_var_opt QUOTE text_list . ")"
- $default reduce using rule 189 (assertion)
+ ")" shift, and go to state 358
+ TEXT shift, and go to state 273
State 288
- 202 const_list: const_list const .
+ 189 script_module: "(" MODULE bind_var_opt module_fields_opt ")" .
- $default reduce using rule 202 (const_list)
+ $default reduce using rule 189 (script_module)
State 289
- 188 assertion: "(" ASSERT_TRAP script_module quoted_text ")" .
+ 206 cmd: "(" REGISTER quoted_text script_var_opt ")" .
- $default reduce using rule 188 (assertion)
+ $default reduce using rule 206 (cmd)
State 290
- 192 assertion: "(" ASSERT_TRAP action quoted_text ")" .
+ 192 action: "(" INVOKE script_var_opt quoted_text const_list . ")"
+ 211 const_list: const_list . const
- $default reduce using rule 192 (assertion)
+ "(" shift, and go to state 295
+ ")" shift, and go to state 359
+
+ const go to state 297
State 291
- 193 assertion: "(" ASSERT_EXHAUSTION action quoted_text ")" .
+ 193 action: "(" GET script_var_opt quoted_text ")" .
- $default reduce using rule 193 (assertion)
+ $default reduce using rule 193 (action)
State 292
- 21 type_use: "(" TYPE var . ")"
+ 194 assertion: "(" ASSERT_MALFORMED script_module quoted_text ")" .
- ")" shift, and go to state 346
+ $default reduce using rule 194 (assertion)
State 293
- 7 value_type_list: value_type_list . VALUE_TYPE
- 118 func_fields_body1: "(" PARAM value_type_list . ")" func_fields_body1
+ 195 assertion: "(" ASSERT_INVALID script_module quoted_text ")" .
- ")" shift, and go to state 347
- VALUE_TYPE shift, and go to state 348
+ $default reduce using rule 195 (assertion)
State 294
- 119 func_fields_body1: "(" PARAM bind_var . VALUE_TYPE ")" func_fields_body1
+ 196 assertion: "(" ASSERT_UNLINKABLE script_module quoted_text ")" .
- VALUE_TYPE shift, and go to state 349
+ $default reduce using rule 196 (assertion)
State 295
- 7 value_type_list: value_type_list . VALUE_TYPE
- 121 func_result_body: "(" RESULT value_type_list . ")" func_result_body
+ 209 const: "(" . CONST literal ")"
- ")" shift, and go to state 350
- VALUE_TYPE shift, and go to state 348
+ CONST shift, and go to state 360
State 296
- 7 value_type_list: value_type_list . VALUE_TYPE
- 124 func_body1: "(" LOCAL value_type_list . ")" func_body1
+ 198 assertion: "(" ASSERT_RETURN action const_list ")" .
- ")" shift, and go to state 351
- VALUE_TYPE shift, and go to state 348
+ $default reduce using rule 198 (assertion)
State 297
- 125 func_body1: "(" LOCAL bind_var . VALUE_TYPE ")" func_body1
+ 211 const_list: const_list const .
- VALUE_TYPE shift, and go to state 352
+ $default reduce using rule 211 (const_list)
State 298
- 152 inline_import: "(" IMPORT quoted_text . quoted_text ")"
+ 197 assertion: "(" ASSERT_TRAP script_module quoted_text ")" .
- TEXT shift, and go to state 69
-
- quoted_text go to state 353
+ $default reduce using rule 197 (assertion)
State 299
- 158 inline_export: "(" EXPORT quoted_text . ")"
+ 201 assertion: "(" ASSERT_TRAP action quoted_text ")" .
- ")" shift, and go to state 354
+ $default reduce using rule 201 (assertion)
State 300
- 73 block_sig: "(" . RESULT value_type_list ")"
- 80 expr: "(" . expr1 ")"
+ 202 assertion: "(" ASSERT_EXHAUSTION action quoted_text ")" .
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- RESULT shift, and go to state 355
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ $default reduce using rule 202 (assertion)
State 301
- 74 block: block_sig . block
+ 21 type_use: "(" TYPE var . ")"
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 356
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ ")" shift, and go to state 361
State 302
- 68 block_instr: BLOCK labeling_opt block . END labeling_opt
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 124 func_fields_body1: "(" PARAM value_type_list . ")" func_fields_body1
- END shift, and go to state 357
+ ")" shift, and go to state 362
+ VALUE_TYPE shift, and go to state 285
State 303
- 75 block: instr_list .
+ 125 func_fields_body1: "(" PARAM bind_var . VALUE_TYPE ")" func_fields_body1
- $default reduce using rule 75 (block)
+ VALUE_TYPE shift, and go to state 363
State 304
- 70 block_instr: IF labeling_opt block . END labeling_opt
- 71 | IF labeling_opt block . ELSE labeling_opt instr_list END labeling_opt
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 127 func_result_body: "(" RESULT value_type_list . ")" func_result_body
- END shift, and go to state 358
- ELSE shift, and go to state 359
+ ")" shift, and go to state 364
+ VALUE_TYPE shift, and go to state 285
State 305
- 69 block_instr: LOOP labeling_opt block . END labeling_opt
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 130 func_body1: "(" LOCAL value_type_list . ")" func_body1
- END shift, and go to state 360
+ ")" shift, and go to state 365
+ VALUE_TYPE shift, and go to state 285
State 306
- 29 var_list: var_list var .
- 48 plain_instr: BR_TABLE var_list var .
+ 131 func_body1: "(" LOCAL bind_var . VALUE_TYPE ")" func_body1
- NAT reduce using rule 29 (var_list)
- VAR reduce using rule 29 (var_list)
- $default reduce using rule 48 (plain_instr)
+ VALUE_TYPE shift, and go to state 366
State 307
- 38 align_opt: ALIGN_EQ_NAT .
+ 159 inline_import: "(" IMPORT quoted_text . quoted_text ")"
- $default reduce using rule 38 (align_opt)
+ TEXT shift, and go to state 72
+
+ quoted_text go to state 367
State 308
- 57 plain_instr: LOAD offset_opt align_opt .
+ 166 inline_export: "(" EXPORT quoted_text . ")"
- $default reduce using rule 57 (plain_instr)
+ ")" shift, and go to state 368
State 309
- 58 plain_instr: STORE offset_opt align_opt .
+ 73 block_sig: "(" . RESULT value_type_list ")"
+ 80 expr: "(" . expr1 ")"
- $default reduce using rule 58 (plain_instr)
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ RESULT shift, and go to state 369
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 310
- 72 block_instr: try_check labeling_opt block . catch_instr_list END labeling_opt
-
- CATCH shift, and go to state 361
- CATCH_ALL shift, and go to state 362
+ 74 block: block_sig . block
- catch_instr go to state 363
- catch_instr_list go to state 364
+ "(" shift, and go to state 309
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 310
+ block go to state 370
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 312
State 311
- 112 func_fields_import1: "(" PARAM . value_type_list ")" func_fields_import1
- 113 | "(" PARAM . bind_var VALUE_TYPE ")" func_fields_import1
-
- VAR shift, and go to state 50
-
- $default reduce using rule 6 (value_type_list)
+ 68 block_instr: BLOCK labeling_opt block . END labeling_opt
- value_type_list go to state 365
- bind_var go to state 366
+ END shift, and go to state 371
State 312
- 115 func_fields_import_result: "(" RESULT . value_type_list ")" func_fields_import_result
-
- $default reduce using rule 6 (value_type_list)
+ 75 block: instr_list .
- value_type_list go to state 367
+ $default reduce using rule 75 (block)
State 313
- 112 func_fields_import1: "(" . PARAM value_type_list ")" func_fields_import1
- 113 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_import1
- 115 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
+ 70 block_instr: IF labeling_opt block . END labeling_opt
+ 71 | IF labeling_opt block . ELSE labeling_opt instr_list END labeling_opt
- PARAM shift, and go to state 311
- RESULT shift, and go to state 312
+ END shift, and go to state 372
+ ELSE shift, and go to state 373
State 314
- 107 func_fields: inline_import type_use func_fields_import .
+ 69 block_instr: LOOP labeling_opt block . END labeling_opt
- $default reduce using rule 107 (func_fields)
+ END shift, and go to state 374
State 315
- 13 func_sig: "(" PARAM . value_type_list ")" func_sig
- 14 | "(" PARAM . bind_var VALUE_TYPE ")" func_sig
-
- VAR shift, and go to state 50
-
- $default reduce using rule 6 (value_type_list)
+ 29 var_list: var_list var .
+ 48 plain_instr: BR_TABLE var_list var .
- value_type_list go to state 368
- bind_var go to state 369
+ NAT reduce using rule 29 (var_list)
+ VAR reduce using rule 29 (var_list)
+ $default reduce using rule 48 (plain_instr)
State 316
- 16 func_sig_result: "(" RESULT . value_type_list ")" func_sig_result
-
- $default reduce using rule 6 (value_type_list)
+ 38 align_opt: ALIGN_EQ_NAT .
- value_type_list go to state 370
+ $default reduce using rule 38 (align_opt)
State 317
- 11 func_type: "(" FUNC func_sig ")" .
+ 57 plain_instr: LOAD offset_opt align_opt .
- $default reduce using rule 11 (func_type)
+ $default reduce using rule 57 (plain_instr)
State 318
- 10 global_type: "(" MUT VALUE_TYPE . ")"
+ 58 plain_instr: STORE offset_opt align_opt .
- ")" shift, and go to state 371
+ $default reduce using rule 58 (plain_instr)
State 319
- 134 table_fields: elem_type "(" ELEM . var_list ")"
+ 72 block_instr: try_check labeling_opt block . catch_instr_list END labeling_opt
- $default reduce using rule 28 (var_list)
+ CATCH shift, and go to state 375
+ CATCH_ALL shift, and go to state 376
- var_list go to state 372
+ catch_instr go to state 377
+ catch_instr_list go to state 378
State 320
- 82 expr1: BLOCK labeling_opt block .
+ 118 func_fields_import1: "(" PARAM . value_type_list ")" func_fields_import1
+ 119 | "(" PARAM . bind_var VALUE_TYPE ")" func_fields_import1
- $default reduce using rule 82 (expr1)
+ VAR shift, and go to state 53
+
+ $default reduce using rule 6 (value_type_list)
+
+ value_type_list go to state 379
+ bind_var go to state 380
State 321
- 73 block_sig: "(" . RESULT value_type_list ")"
- 80 expr: "(" . expr1 ")"
- 90 if_: "(" . THEN instr_list ")" "(" ELSE instr_list ")"
- 91 | "(" . THEN instr_list ")"
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- THEN shift, and go to state 373
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- RESULT shift, and go to state 355
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 121 func_fields_import_result: "(" RESULT . value_type_list ")" func_fields_import_result
+
+ $default reduce using rule 6 (value_type_list)
+ value_type_list go to state 381
-State 322
- 88 if_block: block_sig . if_block
+State 322
- "(" shift, and go to state 321
+ 118 func_fields_import1: "(" . PARAM value_type_list ")" func_fields_import1
+ 119 | "(" . PARAM bind_var VALUE_TYPE ")" func_fields_import1
+ 121 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
- block_sig go to state 322
- expr go to state 323
- if_block go to state 374
- if_ go to state 325
+ PARAM shift, and go to state 320
+ RESULT shift, and go to state 321
State 323
- 92 if_: expr . "(" THEN instr_list ")" "(" ELSE instr_list ")"
- 93 | expr . "(" THEN instr_list ")"
- 94 | expr . expr expr
- 95 | expr . expr
-
- "(" shift, and go to state 375
+ 113 func_fields: inline_import type_use func_fields_import .
- expr go to state 376
+ $default reduce using rule 113 (func_fields)
State 324
- 84 expr1: IF labeling_opt if_block .
+ 13 func_sig: "(" PARAM . value_type_list ")" func_sig
+ 14 | "(" PARAM . bind_var VALUE_TYPE ")" func_sig
- $default reduce using rule 84 (expr1)
+ VAR shift, and go to state 53
+
+ $default reduce using rule 6 (value_type_list)
+
+ value_type_list go to state 382
+ bind_var go to state 383
State 325
- 89 if_block: if_ .
+ 16 func_sig_result: "(" RESULT . value_type_list ")" func_sig_result
+
+ $default reduce using rule 6 (value_type_list)
- $default reduce using rule 89 (if_block)
+ value_type_list go to state 384
State 326
- 83 expr1: LOOP labeling_opt block .
+ 11 func_type: "(" FUNC func_sig ")" .
- $default reduce using rule 83 (expr1)
+ $default reduce using rule 11 (func_type)
State 327
- 126 offset: "(" OFFSET const_expr ")" .
+ 10 global_type: "(" MUT VALUE_TYPE . ")"
- $default reduce using rule 126 (offset)
+ ")" shift, and go to state 385
State 328
- 102 expr_list: expr expr_list .
-
- $default reduce using rule 102 (expr_list)
+ 140 table_fields: elem_type "(" ELEM . var_list ")"
+ $default reduce using rule 28 (var_list)
-State 329
+ var_list go to state 386
- 85 expr1: try_check "(" BLOCK . labeling_opt block ")" catch_list
- VAR shift, and go to state 50
+State 329
- $default reduce using rule 33 (labeling_opt)
+ 82 expr1: BLOCK labeling_opt block .
- bind_var go to state 200
- labeling_opt go to state 377
+ $default reduce using rule 82 (expr1)
State 330
- 128 elem: "(" ELEM var offset var_list ")" .
-
- $default reduce using rule 128 (elem)
+ 73 block_sig: "(" . RESULT value_type_list ")"
+ 80 expr: "(" . expr1 ")"
+ 94 if_: "(" . THEN instr_list ")" "(" ELSE instr_list ")"
+ 95 | "(" . THEN instr_list ")"
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ THEN shift, and go to state 387
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ RESULT shift, and go to state 369
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 331
- 141 memory_fields: "(" DATA text_list_opt . ")"
+ 92 if_block: block_sig . if_block
- ")" shift, and go to state 378
+ "(" shift, and go to state 330
+
+ block_sig go to state 331
+ expr go to state 332
+ if_block go to state 388
+ if_ go to state 334
State 332
- 135 data: "(" DATA var offset text_list_opt ")" .
+ 96 if_: expr . "(" THEN instr_list ")" "(" ELSE instr_list ")"
+ 97 | expr . "(" THEN instr_list ")"
+ 98 | expr . expr expr
+ 99 | expr . expr
- $default reduce using rule 135 (data)
+ "(" shift, and go to state 389
+ expr go to state 390
-State 333
- 146 import_desc: "(" FUNC . bind_var_opt type_use ")"
- 147 | "(" FUNC . bind_var_opt func_sig ")"
-
- VAR shift, and go to state 50
+State 333
- $default reduce using rule 30 (bind_var_opt)
+ 84 expr1: IF labeling_opt if_block .
- bind_var_opt go to state 379
- bind_var go to state 52
+ $default reduce using rule 84 (expr1)
State 334
- 150 import_desc: "(" GLOBAL . bind_var_opt global_type ")"
-
- VAR shift, and go to state 50
-
- $default reduce using rule 30 (bind_var_opt)
+ 93 if_block: if_ .
- bind_var_opt go to state 380
- bind_var go to state 52
+ $default reduce using rule 93 (if_block)
State 335
- 148 import_desc: "(" TABLE . bind_var_opt table_sig ")"
-
- VAR shift, and go to state 50
-
- $default reduce using rule 30 (bind_var_opt)
+ 83 expr1: LOOP labeling_opt block .
- bind_var_opt go to state 381
- bind_var go to state 52
+ $default reduce using rule 83 (expr1)
State 336
- 149 import_desc: "(" MEMORY . bind_var_opt memory_sig ")"
-
- VAR shift, and go to state 50
-
- $default reduce using rule 30 (bind_var_opt)
+ 132 offset: "(" OFFSET const_expr ")" .
- bind_var_opt go to state 382
- bind_var go to state 52
+ $default reduce using rule 132 (offset)
State 337
- 151 import: "(" IMPORT quoted_text quoted_text import_desc ")" .
+ 106 expr_list: expr expr_list .
- $default reduce using rule 151 (import)
+ $default reduce using rule 106 (expr_list)
State 338
- 153 export_desc: "(" FUNC var . ")"
-
- ")" shift, and go to state 383
+ 73 block_sig: "(" . RESULT value_type_list ")"
+ 80 expr: "(" . expr1 ")"
+ 90 catch_list: "(" . catch_instr ")"
+ 91 | "(" . catch_instr ")" catch_list
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ CATCH shift, and go to state 375
+ CATCH_ALL shift, and go to state 376
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ RESULT shift, and go to state 369
+
+ plain_instr go to state 164
+ catch_instr go to state 391
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 339
- 156 export_desc: "(" GLOBAL var . ")"
+ 89 try_instr_list: instr . try_instr_list
- ")" shift, and go to state 384
+ "(" shift, and go to state 392
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ instr go to state 339
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ try_instr_list go to state 393
+ catch_list go to state 343
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
State 340
- 154 export_desc: "(" TABLE var . ")"
-
- ")" shift, and go to state 385
+ 86 try_: block_sig . try_
+
+ "(" shift, and go to state 338
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ instr go to state 339
+ plain_instr go to state 126
+ block_instr go to state 127
+ block_sig go to state 340
+ expr go to state 128
+ try_ go to state 394
+ try_instr_list go to state 342
+ catch_list go to state 343
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
State 341
- 155 export_desc: "(" MEMORY var . ")"
+ 85 expr1: try_check labeling_opt try_ .
- ")" shift, and go to state 386
+ $default reduce using rule 85 (expr1)
State 342
- 181 script_module: "(" MODULE bind_var_opt BIN text_list ")" .
+ 87 try_: try_instr_list .
- $default reduce using rule 181 (script_module)
+ $default reduce using rule 87 (try_)
State 343
- 182 script_module: "(" MODULE bind_var_opt QUOTE text_list ")" .
+ 88 try_instr_list: catch_list .
- $default reduce using rule 182 (script_module)
+ $default reduce using rule 88 (try_instr_list)
State 344
- 183 action: "(" INVOKE script_var_opt quoted_text const_list ")" .
+ 134 elem: "(" ELEM var offset var_list ")" .
- $default reduce using rule 183 (action)
+ $default reduce using rule 134 (elem)
State 345
- 200 const: "(" CONST . literal ")"
-
- NAT shift, and go to state 217
- INT shift, and go to state 218
- FLOAT shift, and go to state 219
+ 147 memory_fields: "(" DATA text_list_opt . ")"
- literal go to state 387
+ ")" shift, and go to state 395
State 346
- 21 type_use: "(" TYPE var ")" .
+ 141 data: "(" DATA var offset text_list_opt ")" .
- $default reduce using rule 21 (type_use)
+ $default reduce using rule 141 (data)
State 347
- 118 func_fields_body1: "(" PARAM value_type_list ")" . func_fields_body1
-
- "(" shift, and go to state 221
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_fields_body1 go to state 388
- func_result_body go to state 132
- func_body go to state 133
- func_body1 go to state 134
+ 152 import_desc: "(" FUNC . bind_var_opt type_use ")"
+ 153 | "(" FUNC . bind_var_opt func_sig ")"
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 30 (bind_var_opt)
+
+ bind_var_opt go to state 396
+ bind_var go to state 55
State 348
- 7 value_type_list: value_type_list VALUE_TYPE .
+ 156 import_desc: "(" GLOBAL . bind_var_opt global_type ")"
- $default reduce using rule 7 (value_type_list)
+ VAR shift, and go to state 53
+
+ $default reduce using rule 30 (bind_var_opt)
+
+ bind_var_opt go to state 397
+ bind_var go to state 55
State 349
- 119 func_fields_body1: "(" PARAM bind_var VALUE_TYPE . ")" func_fields_body1
+ 154 import_desc: "(" TABLE . bind_var_opt table_sig ")"
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 30 (bind_var_opt)
- ")" shift, and go to state 389
+ bind_var_opt go to state 398
+ bind_var go to state 55
State 350
- 121 func_result_body: "(" RESULT value_type_list ")" . func_result_body
-
- "(" shift, and go to state 390
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_result_body go to state 391
- func_body go to state 133
- func_body1 go to state 134
+ 155 import_desc: "(" MEMORY . bind_var_opt memory_sig ")"
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 30 (bind_var_opt)
+
+ bind_var_opt go to state 399
+ bind_var go to state 55
State 351
- 124 func_body1: "(" LOCAL value_type_list ")" . func_body1
+ 158 import: "(" IMPORT quoted_text quoted_text import_desc ")" .
- "(" shift, and go to state 392
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_body1 go to state 393
+ $default reduce using rule 158 (import)
State 352
- 125 func_body1: "(" LOCAL bind_var VALUE_TYPE . ")" func_body1
+ 160 export_desc: "(" FUNC var . ")"
- ")" shift, and go to state 394
+ ")" shift, and go to state 400
State 353
- 152 inline_import: "(" IMPORT quoted_text quoted_text . ")"
+ 163 export_desc: "(" GLOBAL var . ")"
- ")" shift, and go to state 395
+ ")" shift, and go to state 401
State 354
- 158 inline_export: "(" EXPORT quoted_text ")" .
+ 161 export_desc: "(" TABLE var . ")"
- $default reduce using rule 158 (inline_export)
+ ")" shift, and go to state 402
State 355
- 73 block_sig: "(" RESULT . value_type_list ")"
-
- $default reduce using rule 6 (value_type_list)
+ 162 export_desc: "(" MEMORY var . ")"
- value_type_list go to state 396
+ ")" shift, and go to state 403
State 356
- 74 block: block_sig block .
+ 164 export_desc: "(" EXCEPT var . ")"
- $default reduce using rule 74 (block)
+ ")" shift, and go to state 404
State 357
- 68 block_instr: BLOCK labeling_opt block END . labeling_opt
-
- VAR shift, and go to state 50
-
- $default reduce using rule 33 (labeling_opt)
+ 190 script_module: "(" MODULE bind_var_opt BIN text_list ")" .
- bind_var go to state 200
- labeling_opt go to state 397
+ $default reduce using rule 190 (script_module)
State 358
- 70 block_instr: IF labeling_opt block END . labeling_opt
-
- VAR shift, and go to state 50
-
- $default reduce using rule 33 (labeling_opt)
+ 191 script_module: "(" MODULE bind_var_opt QUOTE text_list ")" .
- bind_var go to state 200
- labeling_opt go to state 398
+ $default reduce using rule 191 (script_module)
State 359
- 71 block_instr: IF labeling_opt block ELSE . labeling_opt instr_list END labeling_opt
-
- VAR shift, and go to state 50
-
- $default reduce using rule 33 (labeling_opt)
+ 192 action: "(" INVOKE script_var_opt quoted_text const_list ")" .
- bind_var go to state 200
- labeling_opt go to state 399
+ $default reduce using rule 192 (action)
State 360
- 69 block_instr: LOOP labeling_opt block END . labeling_opt
+ 209 const: "(" CONST . literal ")"
- VAR shift, and go to state 50
+ NAT shift, and go to state 222
+ INT shift, and go to state 223
+ FLOAT shift, and go to state 224
- $default reduce using rule 33 (labeling_opt)
-
- bind_var go to state 200
- labeling_opt go to state 400
+ literal go to state 405
State 361
- 76 catch_instr: CATCH . var instr_list
-
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ 21 type_use: "(" TYPE var ")" .
- nat go to state 55
- var go to state 401
+ $default reduce using rule 21 (type_use)
State 362
- 77 catch_instr: CATCH_ALL . var instr_list
-
- NAT shift, and go to state 53
- VAR shift, and go to state 54
-
- nat go to state 55
- var go to state 402
+ 124 func_fields_body1: "(" PARAM value_type_list ")" . func_fields_body1
+
+ "(" shift, and go to state 226
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_fields_body1 go to state 406
+ func_result_body go to state 136
+ func_body go to state 137
+ func_body1 go to state 138
State 363
- 78 catch_instr_list: catch_instr .
- 79 | catch_instr . catch_instr_list
-
- CATCH shift, and go to state 361
- CATCH_ALL shift, and go to state 362
-
- $default reduce using rule 78 (catch_instr_list)
+ 125 func_fields_body1: "(" PARAM bind_var VALUE_TYPE . ")" func_fields_body1
- catch_instr go to state 363
- catch_instr_list go to state 403
+ ")" shift, and go to state 407
State 364
- 72 block_instr: try_check labeling_opt block catch_instr_list . END labeling_opt
-
- END shift, and go to state 404
+ 127 func_result_body: "(" RESULT value_type_list ")" . func_result_body
+
+ "(" shift, and go to state 408
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_result_body go to state 409
+ func_body go to state 137
+ func_body1 go to state 138
State 365
- 7 value_type_list: value_type_list . VALUE_TYPE
- 112 func_fields_import1: "(" PARAM value_type_list . ")" func_fields_import1
-
- ")" shift, and go to state 405
- VALUE_TYPE shift, and go to state 348
+ 130 func_body1: "(" LOCAL value_type_list ")" . func_body1
+
+ "(" shift, and go to state 410
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_body1 go to state 411
State 366
- 113 func_fields_import1: "(" PARAM bind_var . VALUE_TYPE ")" func_fields_import1
+ 131 func_body1: "(" LOCAL bind_var VALUE_TYPE . ")" func_body1
- VALUE_TYPE shift, and go to state 406
+ ")" shift, and go to state 412
State 367
- 7 value_type_list: value_type_list . VALUE_TYPE
- 115 func_fields_import_result: "(" RESULT value_type_list . ")" func_fields_import_result
+ 159 inline_import: "(" IMPORT quoted_text quoted_text . ")"
- ")" shift, and go to state 407
- VALUE_TYPE shift, and go to state 348
+ ")" shift, and go to state 413
State 368
- 7 value_type_list: value_type_list . VALUE_TYPE
- 13 func_sig: "(" PARAM value_type_list . ")" func_sig
+ 166 inline_export: "(" EXPORT quoted_text ")" .
- ")" shift, and go to state 408
- VALUE_TYPE shift, and go to state 348
+ $default reduce using rule 166 (inline_export)
State 369
- 14 func_sig: "(" PARAM bind_var . VALUE_TYPE ")" func_sig
+ 73 block_sig: "(" RESULT . value_type_list ")"
+
+ $default reduce using rule 6 (value_type_list)
- VALUE_TYPE shift, and go to state 409
+ value_type_list go to state 414
State 370
- 7 value_type_list: value_type_list . VALUE_TYPE
- 16 func_sig_result: "(" RESULT value_type_list . ")" func_sig_result
+ 74 block: block_sig block .
- ")" shift, and go to state 410
- VALUE_TYPE shift, and go to state 348
+ $default reduce using rule 74 (block)
State 371
- 10 global_type: "(" MUT VALUE_TYPE ")" .
+ 68 block_instr: BLOCK labeling_opt block END . labeling_opt
- $default reduce using rule 10 (global_type)
+ VAR shift, and go to state 53
+
+ $default reduce using rule 33 (labeling_opt)
+
+ bind_var go to state 205
+ labeling_opt go to state 415
State 372
- 29 var_list: var_list . var
- 134 table_fields: elem_type "(" ELEM var_list . ")"
+ 70 block_instr: IF labeling_opt block END . labeling_opt
+
+ VAR shift, and go to state 53
- ")" shift, and go to state 411
- NAT shift, and go to state 53
- VAR shift, and go to state 54
+ $default reduce using rule 33 (labeling_opt)
- nat go to state 55
- var go to state 262
+ bind_var go to state 205
+ labeling_opt go to state 416
State 373
- 90 if_: "(" THEN . instr_list ")" "(" ELSE instr_list ")"
- 91 | "(" THEN . instr_list ")"
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 412
+ 71 block_instr: IF labeling_opt block ELSE . labeling_opt instr_list END labeling_opt
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 33 (labeling_opt)
+
+ bind_var go to state 205
+ labeling_opt go to state 417
State 374
- 88 if_block: block_sig if_block .
+ 69 block_instr: LOOP labeling_opt block END . labeling_opt
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 33 (labeling_opt)
- $default reduce using rule 88 (if_block)
+ bind_var go to state 205
+ labeling_opt go to state 418
State 375
- 80 expr: "(" . expr1 ")"
- 92 if_: expr "(" . THEN instr_list ")" "(" ELSE instr_list ")"
- 93 | expr "(" . THEN instr_list ")"
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- THEN shift, and go to state 413
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 76 catch_instr: CATCH . var instr_list
+
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
+
+ nat go to state 58
+ var go to state 419
State 376
- 94 if_: expr expr . expr
- 95 | expr expr .
+ 77 catch_instr: CATCH_ALL . instr_list
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 420
- "(" shift, and go to state 223
- $default reduce using rule 95 (if_)
+State 377
- expr go to state 414
+ 78 catch_instr_list: catch_instr .
+ 79 | catch_instr . catch_instr_list
+ CATCH shift, and go to state 375
+ CATCH_ALL shift, and go to state 376
-State 377
+ $default reduce using rule 78 (catch_instr_list)
- 85 expr1: try_check "(" BLOCK labeling_opt . block ")" catch_list
-
- "(" shift, and go to state 300
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- block_sig go to state 301
- block go to state 415
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 303
+ catch_instr go to state 377
+ catch_instr_list go to state 421
State 378
- 141 memory_fields: "(" DATA text_list_opt ")" .
+ 72 block_instr: try_check labeling_opt block catch_instr_list . END labeling_opt
- $default reduce using rule 141 (memory_fields)
+ END shift, and go to state 422
State 379
- 146 import_desc: "(" FUNC bind_var_opt . type_use ")"
- 147 | "(" FUNC bind_var_opt . func_sig ")"
-
- "(" shift, and go to state 416
-
- $default reduce using rule 15 (func_sig_result)
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 118 func_fields_import1: "(" PARAM value_type_list . ")" func_fields_import1
- func_sig go to state 417
- func_sig_result go to state 237
- type_use go to state 418
+ ")" shift, and go to state 423
+ VALUE_TYPE shift, and go to state 285
State 380
- 150 import_desc: "(" GLOBAL bind_var_opt . global_type ")"
-
- "(" shift, and go to state 243
- VALUE_TYPE shift, and go to state 142
+ 119 func_fields_import1: "(" PARAM bind_var . VALUE_TYPE ")" func_fields_import1
- global_type go to state 419
+ VALUE_TYPE shift, and go to state 424
State 381
- 148 import_desc: "(" TABLE bind_var_opt . table_sig ")"
-
- NAT shift, and go to state 53
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 121 func_fields_import_result: "(" RESULT value_type_list . ")" func_fields_import_result
- table_sig go to state 420
- limits go to state 151
- nat go to state 152
+ ")" shift, and go to state 425
+ VALUE_TYPE shift, and go to state 285
State 382
- 149 import_desc: "(" MEMORY bind_var_opt . memory_sig ")"
-
- NAT shift, and go to state 53
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 13 func_sig: "(" PARAM value_type_list . ")" func_sig
- memory_sig go to state 421
- limits go to state 167
- nat go to state 152
+ ")" shift, and go to state 426
+ VALUE_TYPE shift, and go to state 285
State 383
- 153 export_desc: "(" FUNC var ")" .
+ 14 func_sig: "(" PARAM bind_var . VALUE_TYPE ")" func_sig
- $default reduce using rule 153 (export_desc)
+ VALUE_TYPE shift, and go to state 427
State 384
- 156 export_desc: "(" GLOBAL var ")" .
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 16 func_sig_result: "(" RESULT value_type_list . ")" func_sig_result
- $default reduce using rule 156 (export_desc)
+ ")" shift, and go to state 428
+ VALUE_TYPE shift, and go to state 285
State 385
- 154 export_desc: "(" TABLE var ")" .
+ 10 global_type: "(" MUT VALUE_TYPE ")" .
- $default reduce using rule 154 (export_desc)
+ $default reduce using rule 10 (global_type)
State 386
- 155 export_desc: "(" MEMORY var ")" .
+ 29 var_list: var_list . var
+ 140 table_fields: elem_type "(" ELEM var_list . ")"
+
+ ")" shift, and go to state 429
+ NAT shift, and go to state 56
+ VAR shift, and go to state 57
- $default reduce using rule 155 (export_desc)
+ nat go to state 58
+ var go to state 267
State 387
- 200 const: "(" CONST literal . ")"
-
- ")" shift, and go to state 422
+ 94 if_: "(" THEN . instr_list ")" "(" ELSE instr_list ")"
+ 95 | "(" THEN . instr_list ")"
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 430
State 388
- 118 func_fields_body1: "(" PARAM value_type_list ")" func_fields_body1 .
+ 92 if_block: block_sig if_block .
- $default reduce using rule 118 (func_fields_body1)
+ $default reduce using rule 92 (if_block)
State 389
- 119 func_fields_body1: "(" PARAM bind_var VALUE_TYPE ")" . func_fields_body1
-
- "(" shift, and go to state 221
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_fields_body1 go to state 423
- func_result_body go to state 132
- func_body go to state 133
- func_body1 go to state 134
+ 80 expr: "(" . expr1 ")"
+ 96 if_: expr "(" . THEN instr_list ")" "(" ELSE instr_list ")"
+ 97 | expr "(" . THEN instr_list ")"
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ THEN shift, and go to state 431
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 390
- 80 expr: "(" . expr1 ")"
- 121 func_result_body: "(" . RESULT value_type_list ")" func_result_body
- 124 func_body1: "(" . LOCAL value_type_list ")" func_body1
- 125 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- RESULT shift, and go to state 196
- LOCAL shift, and go to state 197
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 98 if_: expr expr . expr
+ 99 | expr expr .
+
+ "(" shift, and go to state 228
+
+ $default reduce using rule 99 (if_)
+
+ expr go to state 432
State 391
- 121 func_result_body: "(" RESULT value_type_list ")" func_result_body .
+ 90 catch_list: "(" catch_instr . ")"
+ 91 | "(" catch_instr . ")" catch_list
- $default reduce using rule 121 (func_result_body)
+ ")" shift, and go to state 433
State 392
80 expr: "(" . expr1 ")"
- 124 func_body1: "(" . LOCAL value_type_list ")" func_body1
- 125 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
-
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 156
- IF shift, and go to state 157
- LOOP shift, and go to state 158
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
- LOCAL shift, and go to state 197
-
- plain_instr go to state 160
- expr1 go to state 161
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 162
+ 90 catch_list: "(" . catch_instr ")"
+ 91 | "(" . catch_instr ")" catch_list
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ CATCH shift, and go to state 375
+ CATCH_ALL shift, and go to state 376
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ plain_instr go to state 164
+ catch_instr go to state 391
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 393
- 124 func_body1: "(" LOCAL value_type_list ")" func_body1 .
+ 89 try_instr_list: instr try_instr_list .
- $default reduce using rule 124 (func_body1)
+ $default reduce using rule 89 (try_instr_list)
State 394
- 125 func_body1: "(" LOCAL bind_var VALUE_TYPE ")" . func_body1
+ 86 try_: block_sig try_ .
- "(" shift, and go to state 392
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 128
- func_body1 go to state 424
+ $default reduce using rule 86 (try_)
State 395
- 152 inline_import: "(" IMPORT quoted_text quoted_text ")" .
+ 147 memory_fields: "(" DATA text_list_opt ")" .
- $default reduce using rule 152 (inline_import)
+ $default reduce using rule 147 (memory_fields)
State 396
- 7 value_type_list: value_type_list . VALUE_TYPE
- 73 block_sig: "(" RESULT value_type_list . ")"
+ 152 import_desc: "(" FUNC bind_var_opt . type_use ")"
+ 153 | "(" FUNC bind_var_opt . func_sig ")"
- ")" shift, and go to state 425
- VALUE_TYPE shift, and go to state 348
+ "(" shift, and go to state 434
+
+ $default reduce using rule 15 (func_sig_result)
+
+ func_sig go to state 435
+ func_sig_result go to state 242
+ type_use go to state 436
State 397
- 68 block_instr: BLOCK labeling_opt block END labeling_opt .
+ 156 import_desc: "(" GLOBAL bind_var_opt . global_type ")"
- $default reduce using rule 68 (block_instr)
+ "(" shift, and go to state 248
+ VALUE_TYPE shift, and go to state 146
+
+ global_type go to state 437
State 398
- 70 block_instr: IF labeling_opt block END labeling_opt .
+ 154 import_desc: "(" TABLE bind_var_opt . table_sig ")"
- $default reduce using rule 70 (block_instr)
+ NAT shift, and go to state 56
+
+ table_sig go to state 438
+ limits go to state 155
+ nat go to state 156
State 399
- 71 block_instr: IF labeling_opt block ELSE labeling_opt . instr_list END labeling_opt
+ 155 import_desc: "(" MEMORY bind_var_opt . memory_sig ")"
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 426
+ NAT shift, and go to state 56
+
+ memory_sig go to state 439
+ limits go to state 171
+ nat go to state 156
State 400
- 69 block_instr: LOOP labeling_opt block END labeling_opt .
+ 160 export_desc: "(" FUNC var ")" .
- $default reduce using rule 69 (block_instr)
+ $default reduce using rule 160 (export_desc)
State 401
- 76 catch_instr: CATCH var . instr_list
+ 163 export_desc: "(" GLOBAL var ")" .
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 427
+ $default reduce using rule 163 (export_desc)
State 402
- 77 catch_instr: CATCH_ALL var . instr_list
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 428
+ 161 export_desc: "(" TABLE var ")" .
+
+ $default reduce using rule 161 (export_desc)
State 403
- 79 catch_instr_list: catch_instr catch_instr_list .
+ 162 export_desc: "(" MEMORY var ")" .
- $default reduce using rule 79 (catch_instr_list)
+ $default reduce using rule 162 (export_desc)
State 404
- 72 block_instr: try_check labeling_opt block catch_instr_list END . labeling_opt
-
- VAR shift, and go to state 50
-
- $default reduce using rule 33 (labeling_opt)
+ 164 export_desc: "(" EXCEPT var ")" .
- bind_var go to state 200
- labeling_opt go to state 429
+ $default reduce using rule 164 (export_desc)
State 405
- 112 func_fields_import1: "(" PARAM value_type_list ")" . func_fields_import1
-
- "(" shift, and go to state 313
+ 209 const: "(" CONST literal . ")"
- $default reduce using rule 114 (func_fields_import_result)
-
- func_fields_import1 go to state 430
- func_fields_import_result go to state 233
+ ")" shift, and go to state 440
State 406
- 113 func_fields_import1: "(" PARAM bind_var VALUE_TYPE . ")" func_fields_import1
+ 124 func_fields_body1: "(" PARAM value_type_list ")" func_fields_body1 .
- ")" shift, and go to state 431
+ $default reduce using rule 124 (func_fields_body1)
State 407
- 115 func_fields_import_result: "(" RESULT value_type_list ")" . func_fields_import_result
-
- "(" shift, and go to state 432
-
- $default reduce using rule 114 (func_fields_import_result)
-
- func_fields_import_result go to state 433
+ 125 func_fields_body1: "(" PARAM bind_var VALUE_TYPE ")" . func_fields_body1
+
+ "(" shift, and go to state 226
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_fields_body1 go to state 441
+ func_result_body go to state 136
+ func_body go to state 137
+ func_body1 go to state 138
State 408
- 13 func_sig: "(" PARAM value_type_list ")" . func_sig
-
- "(" shift, and go to state 235
-
- $default reduce using rule 15 (func_sig_result)
-
- func_sig go to state 434
- func_sig_result go to state 237
+ 80 expr: "(" . expr1 ")"
+ 127 func_result_body: "(" . RESULT value_type_list ")" func_result_body
+ 130 func_body1: "(" . LOCAL value_type_list ")" func_body1
+ 131 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ RESULT shift, and go to state 201
+ LOCAL shift, and go to state 202
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 409
- 14 func_sig: "(" PARAM bind_var VALUE_TYPE . ")" func_sig
+ 127 func_result_body: "(" RESULT value_type_list ")" func_result_body .
- ")" shift, and go to state 435
+ $default reduce using rule 127 (func_result_body)
State 410
- 16 func_sig_result: "(" RESULT value_type_list ")" . func_sig_result
-
- "(" shift, and go to state 436
-
- $default reduce using rule 15 (func_sig_result)
-
- func_sig_result go to state 437
+ 80 expr: "(" . expr1 ")"
+ 130 func_body1: "(" . LOCAL value_type_list ")" func_body1
+ 131 | "(" . LOCAL bind_var VALUE_TYPE ")" func_body1
+
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 160
+ IF shift, and go to state 161
+ LOOP shift, and go to state 162
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+ LOCAL shift, and go to state 202
+
+ plain_instr go to state 164
+ expr1 go to state 165
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 166
State 411
- 134 table_fields: elem_type "(" ELEM var_list ")" .
+ 130 func_body1: "(" LOCAL value_type_list ")" func_body1 .
- $default reduce using rule 134 (table_fields)
+ $default reduce using rule 130 (func_body1)
State 412
- 90 if_: "(" THEN instr_list . ")" "(" ELSE instr_list ")"
- 91 | "(" THEN instr_list . ")"
-
- ")" shift, and go to state 438
+ 131 func_body1: "(" LOCAL bind_var VALUE_TYPE ")" . func_body1
+
+ "(" shift, and go to state 410
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 132
+ func_body1 go to state 442
State 413
- 92 if_: expr "(" THEN . instr_list ")" "(" ELSE instr_list ")"
- 93 | expr "(" THEN . instr_list ")"
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 439
+ 159 inline_import: "(" IMPORT quoted_text quoted_text ")" .
+
+ $default reduce using rule 159 (inline_import)
State 414
- 94 if_: expr expr expr .
+ 7 value_type_list: value_type_list . VALUE_TYPE
+ 73 block_sig: "(" RESULT value_type_list . ")"
- $default reduce using rule 94 (if_)
+ ")" shift, and go to state 443
+ VALUE_TYPE shift, and go to state 285
State 415
- 85 expr1: try_check "(" BLOCK labeling_opt block . ")" catch_list
+ 68 block_instr: BLOCK labeling_opt block END labeling_opt .
- ")" shift, and go to state 440
+ $default reduce using rule 68 (block_instr)
State 416
- 13 func_sig: "(" . PARAM value_type_list ")" func_sig
- 14 | "(" . PARAM bind_var VALUE_TYPE ")" func_sig
- 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
- 21 type_use: "(" . TYPE var ")"
+ 70 block_instr: IF labeling_opt block END labeling_opt .
- TYPE shift, and go to state 194
- PARAM shift, and go to state 315
- RESULT shift, and go to state 316
+ $default reduce using rule 70 (block_instr)
State 417
- 147 import_desc: "(" FUNC bind_var_opt func_sig . ")"
+ 71 block_instr: IF labeling_opt block ELSE labeling_opt . instr_list END labeling_opt
- ")" shift, and go to state 441
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 444
State 418
- 146 import_desc: "(" FUNC bind_var_opt type_use . ")"
+ 69 block_instr: LOOP labeling_opt block END labeling_opt .
- ")" shift, and go to state 442
+ $default reduce using rule 69 (block_instr)
State 419
- 150 import_desc: "(" GLOBAL bind_var_opt global_type . ")"
+ 76 catch_instr: CATCH var . instr_list
- ")" shift, and go to state 443
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 445
State 420
- 148 import_desc: "(" TABLE bind_var_opt table_sig . ")"
+ 77 catch_instr: CATCH_ALL instr_list .
- ")" shift, and go to state 444
+ $default reduce using rule 77 (catch_instr)
State 421
- 149 import_desc: "(" MEMORY bind_var_opt memory_sig . ")"
+ 79 catch_instr_list: catch_instr catch_instr_list .
- ")" shift, and go to state 445
+ $default reduce using rule 79 (catch_instr_list)
State 422
- 200 const: "(" CONST literal ")" .
+ 72 block_instr: try_check labeling_opt block catch_instr_list END . labeling_opt
+
+ VAR shift, and go to state 53
- $default reduce using rule 200 (const)
+ $default reduce using rule 33 (labeling_opt)
+
+ bind_var go to state 205
+ labeling_opt go to state 446
State 423
- 119 func_fields_body1: "(" PARAM bind_var VALUE_TYPE ")" func_fields_body1 .
+ 118 func_fields_import1: "(" PARAM value_type_list ")" . func_fields_import1
+
+ "(" shift, and go to state 322
- $default reduce using rule 119 (func_fields_body1)
+ $default reduce using rule 120 (func_fields_import_result)
+
+ func_fields_import1 go to state 447
+ func_fields_import_result go to state 238
State 424
- 125 func_body1: "(" LOCAL bind_var VALUE_TYPE ")" func_body1 .
+ 119 func_fields_import1: "(" PARAM bind_var VALUE_TYPE . ")" func_fields_import1
- $default reduce using rule 125 (func_body1)
+ ")" shift, and go to state 448
State 425
- 73 block_sig: "(" RESULT value_type_list ")" .
+ 121 func_fields_import_result: "(" RESULT value_type_list ")" . func_fields_import_result
- $default reduce using rule 73 (block_sig)
+ "(" shift, and go to state 449
+
+ $default reduce using rule 120 (func_fields_import_result)
+
+ func_fields_import_result go to state 450
State 426
- 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list . END labeling_opt
+ 13 func_sig: "(" PARAM value_type_list ")" . func_sig
- END shift, and go to state 446
+ "(" shift, and go to state 240
+
+ $default reduce using rule 15 (func_sig_result)
+
+ func_sig go to state 451
+ func_sig_result go to state 242
State 427
- 76 catch_instr: CATCH var instr_list .
+ 14 func_sig: "(" PARAM bind_var VALUE_TYPE . ")" func_sig
- $default reduce using rule 76 (catch_instr)
+ ")" shift, and go to state 452
State 428
- 77 catch_instr: CATCH_ALL var instr_list .
+ 16 func_sig_result: "(" RESULT value_type_list ")" . func_sig_result
- $default reduce using rule 77 (catch_instr)
+ "(" shift, and go to state 453
+
+ $default reduce using rule 15 (func_sig_result)
+
+ func_sig_result go to state 454
State 429
- 72 block_instr: try_check labeling_opt block catch_instr_list END labeling_opt .
+ 140 table_fields: elem_type "(" ELEM var_list ")" .
- $default reduce using rule 72 (block_instr)
+ $default reduce using rule 140 (table_fields)
State 430
- 112 func_fields_import1: "(" PARAM value_type_list ")" func_fields_import1 .
+ 94 if_: "(" THEN instr_list . ")" "(" ELSE instr_list ")"
+ 95 | "(" THEN instr_list . ")"
- $default reduce using rule 112 (func_fields_import1)
+ ")" shift, and go to state 455
State 431
- 113 func_fields_import1: "(" PARAM bind_var VALUE_TYPE ")" . func_fields_import1
-
- "(" shift, and go to state 313
-
- $default reduce using rule 114 (func_fields_import_result)
-
- func_fields_import1 go to state 447
- func_fields_import_result go to state 233
+ 96 if_: expr "(" THEN . instr_list ")" "(" ELSE instr_list ")"
+ 97 | expr "(" THEN . instr_list ")"
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 456
State 432
- 115 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
+ 98 if_: expr expr expr .
- RESULT shift, and go to state 312
+ $default reduce using rule 98 (if_)
State 433
- 115 func_fields_import_result: "(" RESULT value_type_list ")" func_fields_import_result .
+ 90 catch_list: "(" catch_instr ")" .
+ 91 | "(" catch_instr ")" . catch_list
+
+ "(" shift, and go to state 457
- $default reduce using rule 115 (func_fields_import_result)
+ $default reduce using rule 90 (catch_list)
+
+ catch_list go to state 458
State 434
- 13 func_sig: "(" PARAM value_type_list ")" func_sig .
+ 13 func_sig: "(" . PARAM value_type_list ")" func_sig
+ 14 | "(" . PARAM bind_var VALUE_TYPE ")" func_sig
+ 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
+ 21 type_use: "(" . TYPE var ")"
- $default reduce using rule 13 (func_sig)
+ TYPE shift, and go to state 199
+ PARAM shift, and go to state 324
+ RESULT shift, and go to state 325
State 435
- 14 func_sig: "(" PARAM bind_var VALUE_TYPE ")" . func_sig
-
- "(" shift, and go to state 235
+ 153 import_desc: "(" FUNC bind_var_opt func_sig . ")"
- $default reduce using rule 15 (func_sig_result)
-
- func_sig go to state 448
- func_sig_result go to state 237
+ ")" shift, and go to state 459
State 436
- 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
+ 152 import_desc: "(" FUNC bind_var_opt type_use . ")"
- RESULT shift, and go to state 316
+ ")" shift, and go to state 460
State 437
- 16 func_sig_result: "(" RESULT value_type_list ")" func_sig_result .
+ 156 import_desc: "(" GLOBAL bind_var_opt global_type . ")"
- $default reduce using rule 16 (func_sig_result)
+ ")" shift, and go to state 461
State 438
- 90 if_: "(" THEN instr_list ")" . "(" ELSE instr_list ")"
- 91 | "(" THEN instr_list ")" .
-
- "(" shift, and go to state 449
+ 154 import_desc: "(" TABLE bind_var_opt table_sig . ")"
- $default reduce using rule 91 (if_)
+ ")" shift, and go to state 462
State 439
- 92 if_: expr "(" THEN instr_list . ")" "(" ELSE instr_list ")"
- 93 | expr "(" THEN instr_list . ")"
+ 155 import_desc: "(" MEMORY bind_var_opt memory_sig . ")"
- ")" shift, and go to state 450
+ ")" shift, and go to state 463
State 440
- 85 expr1: try_check "(" BLOCK labeling_opt block ")" . catch_list
-
- "(" shift, and go to state 451
+ 209 const: "(" CONST literal ")" .
- catch_list go to state 452
+ $default reduce using rule 209 (const)
State 441
- 147 import_desc: "(" FUNC bind_var_opt func_sig ")" .
+ 125 func_fields_body1: "(" PARAM bind_var VALUE_TYPE ")" func_fields_body1 .
- $default reduce using rule 147 (import_desc)
+ $default reduce using rule 125 (func_fields_body1)
State 442
- 146 import_desc: "(" FUNC bind_var_opt type_use ")" .
+ 131 func_body1: "(" LOCAL bind_var VALUE_TYPE ")" func_body1 .
- $default reduce using rule 146 (import_desc)
+ $default reduce using rule 131 (func_body1)
State 443
- 150 import_desc: "(" GLOBAL bind_var_opt global_type ")" .
+ 73 block_sig: "(" RESULT value_type_list ")" .
- $default reduce using rule 150 (import_desc)
+ $default reduce using rule 73 (block_sig)
State 444
- 148 import_desc: "(" TABLE bind_var_opt table_sig ")" .
+ 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list . END labeling_opt
- $default reduce using rule 148 (import_desc)
+ END shift, and go to state 464
State 445
- 149 import_desc: "(" MEMORY bind_var_opt memory_sig ")" .
+ 76 catch_instr: CATCH var instr_list .
- $default reduce using rule 149 (import_desc)
+ $default reduce using rule 76 (catch_instr)
State 446
- 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list END . labeling_opt
-
- VAR shift, and go to state 50
-
- $default reduce using rule 33 (labeling_opt)
+ 72 block_instr: try_check labeling_opt block catch_instr_list END labeling_opt .
- bind_var go to state 200
- labeling_opt go to state 453
+ $default reduce using rule 72 (block_instr)
State 447
- 113 func_fields_import1: "(" PARAM bind_var VALUE_TYPE ")" func_fields_import1 .
+ 118 func_fields_import1: "(" PARAM value_type_list ")" func_fields_import1 .
- $default reduce using rule 113 (func_fields_import1)
+ $default reduce using rule 118 (func_fields_import1)
State 448
- 14 func_sig: "(" PARAM bind_var VALUE_TYPE ")" func_sig .
+ 119 func_fields_import1: "(" PARAM bind_var VALUE_TYPE ")" . func_fields_import1
- $default reduce using rule 14 (func_sig)
+ "(" shift, and go to state 322
+
+ $default reduce using rule 120 (func_fields_import_result)
+
+ func_fields_import1 go to state 465
+ func_fields_import_result go to state 238
State 449
- 90 if_: "(" THEN instr_list ")" "(" . ELSE instr_list ")"
+ 121 func_fields_import_result: "(" . RESULT value_type_list ")" func_fields_import_result
- ELSE shift, and go to state 454
+ RESULT shift, and go to state 321
State 450
- 92 if_: expr "(" THEN instr_list ")" . "(" ELSE instr_list ")"
- 93 | expr "(" THEN instr_list ")" .
-
- "(" shift, and go to state 455
+ 121 func_fields_import_result: "(" RESULT value_type_list ")" func_fields_import_result .
- $default reduce using rule 93 (if_)
+ $default reduce using rule 121 (func_fields_import_result)
State 451
- 86 catch_list: "(" . catch_instr ")"
- 87 | "(" . catch_instr ")" catch_list
-
- CATCH shift, and go to state 361
- CATCH_ALL shift, and go to state 362
+ 13 func_sig: "(" PARAM value_type_list ")" func_sig .
- catch_instr go to state 456
+ $default reduce using rule 13 (func_sig)
State 452
- 85 expr1: try_check "(" BLOCK labeling_opt block ")" catch_list .
+ 14 func_sig: "(" PARAM bind_var VALUE_TYPE ")" . func_sig
- $default reduce using rule 85 (expr1)
+ "(" shift, and go to state 240
+
+ $default reduce using rule 15 (func_sig_result)
+
+ func_sig go to state 466
+ func_sig_result go to state 242
State 453
- 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list END labeling_opt .
+ 16 func_sig_result: "(" . RESULT value_type_list ")" func_sig_result
- $default reduce using rule 71 (block_instr)
+ RESULT shift, and go to state 325
State 454
- 90 if_: "(" THEN instr_list ")" "(" ELSE . instr_list ")"
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 457
+ 16 func_sig_result: "(" RESULT value_type_list ")" func_sig_result .
+
+ $default reduce using rule 16 (func_sig_result)
State 455
- 92 if_: expr "(" THEN instr_list ")" "(" . ELSE instr_list ")"
+ 94 if_: "(" THEN instr_list ")" . "(" ELSE instr_list ")"
+ 95 | "(" THEN instr_list ")" .
+
+ "(" shift, and go to state 467
- ELSE shift, and go to state 458
+ $default reduce using rule 95 (if_)
State 456
- 86 catch_list: "(" catch_instr . ")"
- 87 | "(" catch_instr . ")" catch_list
+ 96 if_: expr "(" THEN instr_list . ")" "(" ELSE instr_list ")"
+ 97 | expr "(" THEN instr_list . ")"
- ")" shift, and go to state 459
+ ")" shift, and go to state 468
State 457
- 90 if_: "(" THEN instr_list ")" "(" ELSE instr_list . ")"
+ 90 catch_list: "(" . catch_instr ")"
+ 91 | "(" . catch_instr ")" catch_list
- ")" shift, and go to state 460
+ CATCH shift, and go to state 375
+ CATCH_ALL shift, and go to state 376
+ catch_instr go to state 391
-State 458
- 92 if_: expr "(" THEN instr_list ")" "(" ELSE . instr_list ")"
-
- "(" shift, and go to state 223
- NOP shift, and go to state 90
- DROP shift, and go to state 91
- BLOCK shift, and go to state 92
- IF shift, and go to state 93
- LOOP shift, and go to state 94
- BR shift, and go to state 95
- BR_IF shift, and go to state 96
- BR_TABLE shift, and go to state 97
- TRY shift, and go to state 98
- THROW shift, and go to state 99
- RETHROW shift, and go to state 100
- CALL shift, and go to state 101
- CALL_INDIRECT shift, and go to state 102
- RETURN shift, and go to state 103
- GET_LOCAL shift, and go to state 104
- SET_LOCAL shift, and go to state 105
- TEE_LOCAL shift, and go to state 106
- GET_GLOBAL shift, and go to state 107
- SET_GLOBAL shift, and go to state 108
- LOAD shift, and go to state 109
- STORE shift, and go to state 110
- CONST shift, and go to state 111
- UNARY shift, and go to state 112
- BINARY shift, and go to state 113
- COMPARE shift, and go to state 114
- CONVERT shift, and go to state 115
- SELECT shift, and go to state 116
- UNREACHABLE shift, and go to state 117
- CURRENT_MEMORY shift, and go to state 118
- GROW_MEMORY shift, and go to state 119
-
- $default reduce using rule 99 (instr_list)
-
- instr go to state 121
- plain_instr go to state 122
- block_instr go to state 123
- expr go to state 124
- rethrow_check go to state 125
- throw_check go to state 126
- try_check go to state 127
- instr_list go to state 461
+State 458
+ 91 catch_list: "(" catch_instr ")" catch_list .
-State 459
+ $default reduce using rule 91 (catch_list)
- 86 catch_list: "(" catch_instr ")" .
- 87 | "(" catch_instr ")" . catch_list
- "(" shift, and go to state 451
+State 459
- $default reduce using rule 86 (catch_list)
+ 153 import_desc: "(" FUNC bind_var_opt func_sig ")" .
- catch_list go to state 462
+ $default reduce using rule 153 (import_desc)
State 460
- 90 if_: "(" THEN instr_list ")" "(" ELSE instr_list ")" .
+ 152 import_desc: "(" FUNC bind_var_opt type_use ")" .
- $default reduce using rule 90 (if_)
+ $default reduce using rule 152 (import_desc)
State 461
- 92 if_: expr "(" THEN instr_list ")" "(" ELSE instr_list . ")"
+ 156 import_desc: "(" GLOBAL bind_var_opt global_type ")" .
- ")" shift, and go to state 463
+ $default reduce using rule 156 (import_desc)
State 462
- 87 catch_list: "(" catch_instr ")" catch_list .
+ 154 import_desc: "(" TABLE bind_var_opt table_sig ")" .
- $default reduce using rule 87 (catch_list)
+ $default reduce using rule 154 (import_desc)
State 463
- 92 if_: expr "(" THEN instr_list ")" "(" ELSE instr_list ")" .
+ 155 import_desc: "(" MEMORY bind_var_opt memory_sig ")" .
+
+ $default reduce using rule 155 (import_desc)
+
+
+State 464
+
+ 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list END . labeling_opt
+
+ VAR shift, and go to state 53
+
+ $default reduce using rule 33 (labeling_opt)
+
+ bind_var go to state 205
+ labeling_opt go to state 469
+
+
+State 465
+
+ 119 func_fields_import1: "(" PARAM bind_var VALUE_TYPE ")" func_fields_import1 .
+
+ $default reduce using rule 119 (func_fields_import1)
+
+
+State 466
+
+ 14 func_sig: "(" PARAM bind_var VALUE_TYPE ")" func_sig .
+
+ $default reduce using rule 14 (func_sig)
+
+
+State 467
+
+ 94 if_: "(" THEN instr_list ")" "(" . ELSE instr_list ")"
+
+ ELSE shift, and go to state 470
+
+
+State 468
+
+ 96 if_: expr "(" THEN instr_list ")" . "(" ELSE instr_list ")"
+ 97 | expr "(" THEN instr_list ")" .
+
+ "(" shift, and go to state 471
+
+ $default reduce using rule 97 (if_)
+
+
+State 469
+
+ 71 block_instr: IF labeling_opt block ELSE labeling_opt instr_list END labeling_opt .
+
+ $default reduce using rule 71 (block_instr)
+
+
+State 470
+
+ 94 if_: "(" THEN instr_list ")" "(" ELSE . instr_list ")"
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 472
+
+
+State 471
+
+ 96 if_: expr "(" THEN instr_list ")" "(" . ELSE instr_list ")"
+
+ ELSE shift, and go to state 473
+
+
+State 472
+
+ 94 if_: "(" THEN instr_list ")" "(" ELSE instr_list . ")"
+
+ ")" shift, and go to state 474
+
+
+State 473
+
+ 96 if_: expr "(" THEN instr_list ")" "(" ELSE . instr_list ")"
+
+ "(" shift, and go to state 228
+ NOP shift, and go to state 94
+ DROP shift, and go to state 95
+ BLOCK shift, and go to state 96
+ IF shift, and go to state 97
+ LOOP shift, and go to state 98
+ BR shift, and go to state 99
+ BR_IF shift, and go to state 100
+ BR_TABLE shift, and go to state 101
+ TRY shift, and go to state 102
+ THROW shift, and go to state 103
+ RETHROW shift, and go to state 104
+ CALL shift, and go to state 105
+ CALL_INDIRECT shift, and go to state 106
+ RETURN shift, and go to state 107
+ GET_LOCAL shift, and go to state 108
+ SET_LOCAL shift, and go to state 109
+ TEE_LOCAL shift, and go to state 110
+ GET_GLOBAL shift, and go to state 111
+ SET_GLOBAL shift, and go to state 112
+ LOAD shift, and go to state 113
+ STORE shift, and go to state 114
+ CONST shift, and go to state 115
+ UNARY shift, and go to state 116
+ BINARY shift, and go to state 117
+ COMPARE shift, and go to state 118
+ CONVERT shift, and go to state 119
+ SELECT shift, and go to state 120
+ UNREACHABLE shift, and go to state 121
+ CURRENT_MEMORY shift, and go to state 122
+ GROW_MEMORY shift, and go to state 123
+
+ $default reduce using rule 103 (instr_list)
+
+ instr go to state 125
+ plain_instr go to state 126
+ block_instr go to state 127
+ expr go to state 128
+ rethrow_check go to state 129
+ throw_check go to state 130
+ try_check go to state 131
+ instr_list go to state 475
+
+
+State 474
+
+ 94 if_: "(" THEN instr_list ")" "(" ELSE instr_list ")" .
+
+ $default reduce using rule 94 (if_)
+
+
+State 475
+
+ 96 if_: expr "(" THEN instr_list ")" "(" ELSE instr_list . ")"
+
+ ")" shift, and go to state 476
+
+
+State 476
+
+ 96 if_: expr "(" THEN instr_list ")" "(" ELSE instr_list ")" .
- $default reduce using rule 92 (if_)
+ $default reduce using rule 96 (if_)
diff --git a/src/resolve-names.cc b/src/resolve-names.cc
index 5e2959ea..a55ec3c9 100644
--- a/src/resolve-names.cc
+++ b/src/resolve-names.cc
@@ -310,6 +310,10 @@ void NameResolver::VisitExport(Export* export_) {
case ExternalKind::Global:
ResolveGlobalVar(&export_->var);
break;
+
+ case ExternalKind::Except:
+ WABT_FATAL("NameResolver::VisitExport(except) not defined\n");
+ break;
}
}
diff --git a/src/validator.cc b/src/validator.cc
index 690d3943..b652bf3e 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -123,7 +123,7 @@ class Validator {
void CheckMemory(const Location* loc, const Memory* memory);
void CheckDataSegments(const Module* module);
void CheckImport(const Location* loc, const Import* import);
- void CheckExport(const Export* export_);
+ void CheckExport(const Location* loc, const Export* export_);
void CheckDuplicateExportBindings(const Module* module);
void CheckModule(const Module* module);
@@ -749,6 +749,10 @@ void Validator::CheckDataSegments(const Module* module) {
void Validator::CheckImport(const Location* loc, const Import* import) {
switch (import->kind) {
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define.
+ PrintError(loc, "import except: don't know how to validate");
+ break;
case ExternalKind::Func:
if (import->func->decl.has_func_type)
CheckFuncTypeVar(&import->func->decl.type_var, nullptr);
@@ -771,8 +775,12 @@ void Validator::CheckImport(const Location* loc, const Import* import) {
}
}
-void Validator::CheckExport(const Export* export_) {
+void Validator::CheckExport(const Location* loc, const Export* export_) {
switch (export_->kind) {
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define.
+ PrintError(loc, "except: don't know how to validate export");
+ break;
case ExternalKind::Func:
CheckFuncVar(&export_->var, nullptr);
break;
@@ -816,6 +824,10 @@ void Validator::CheckModule(const Module* module) {
for (ModuleField* field = module->first_field; field; field = field->next) {
switch (field->type) {
+ case ModuleFieldType::Except:
+ // TODO(karlschimpf) Define.
+ PrintError(&field->loc, "except clause: don't know how to validate");
+ break;
case ModuleFieldType::Func:
CheckFunc(&field->loc, field->func);
break;
@@ -830,7 +842,7 @@ void Validator::CheckModule(const Module* module) {
break;
case ModuleFieldType::Export:
- CheckExport(field->export_);
+ CheckExport(&field->loc, field->export_);
break;
case ModuleFieldType::Table:
diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc
index 1b4a81ef..bf1bb138 100644
--- a/src/wast-lexer.cc
+++ b/src/wast-lexer.cc
@@ -449,6 +449,7 @@ int WastLexer::GetToken(Token* lval, Location* loc, WastParser* parser) {
<i> "offset" { RETURN(OFFSET); }
<i> "import" { RETURN(IMPORT); }
<i> "export" { RETURN(EXPORT); }
+ <i> "except" { RETURN(EXCEPT); }
<i> "register" { RETURN(REGISTER); }
<i> "invoke" { RETURN(INVOKE); }
<i> "get" { RETURN(GET); }
diff --git a/src/wast-parser-lexer-shared.h b/src/wast-parser-lexer-shared.h
index 69ef6530..76be8f31 100644
--- a/src/wast-parser-lexer-shared.h
+++ b/src/wast-parser-lexer-shared.h
@@ -71,6 +71,7 @@ union Token {
ConstVector* consts;
DataSegment* data_segment;
ElemSegment* elem_segment;
+ Exception* exception;
Export* export_;
Expr* expr;
ExprList expr_list;
diff --git a/src/wast-parser.y b/src/wast-parser.y
index 277942ec..91dd633c 100644
--- a/src/wast-parser.y
+++ b/src/wast-parser.y
@@ -95,12 +95,12 @@
} \
} while (0)
-#define CHECK_ALLOW_EXCEPTIONS(loc, opcode_name) \
- do { \
- if (!parser->options->allow_exceptions) { \
- wast_parser_error(loc, lexer, parser, "opcode not allowed: %s", \
- opcode_name); \
- } \
+#define CHECK_ALLOW_EXCEPTIONS(loc, opcode_name) \
+ do { \
+ if (!parser->options->allow_exceptions) { \
+ wast_parser_error(loc, lexer, parser, "opcode not allowed: %s", \
+ opcode_name); \
+ } \
} while (0)
#define YYMALLOC(size) new char [size]
@@ -173,7 +173,7 @@ class BinaryErrorHandlerModule : public BinaryErrorHandler {
%token CONST UNARY BINARY COMPARE CONVERT SELECT
%token UNREACHABLE CURRENT_MEMORY GROW_MEMORY
%token FUNC START TYPE PARAM RESULT LOCAL GLOBAL
-%token TABLE ELEM MEMORY DATA OFFSET IMPORT EXPORT
+%token TABLE ELEM MEMORY DATA OFFSET IMPORT EXPORT EXCEPT
%token MODULE BIN QUOTE
%token REGISTER INVOKE GET
%token ASSERT_MALFORMED ASSERT_INVALID ASSERT_UNLINKABLE
@@ -193,8 +193,10 @@ class BinaryErrorHandlerModule : public BinaryErrorHandler {
%type<commands> cmd_list
%type<const_> const
%type<consts> const_list
+%type<exception> exception
%type<export_> export_desc inline_export
%type<expr> plain_instr block_instr
+%type<expr> try_ try_instr_list
%type<expr_list> catch_instr catch_list catch_instr_list
%type<expr_list> instr instr_list expr expr1 expr_list if_ if_block const_expr offset
%type<func> func_fields_body func_fields_body1 func_result_body func_body func_body1
@@ -205,7 +207,7 @@ class BinaryErrorHandlerModule : public BinaryErrorHandler {
%type<limits> limits
%type<memory> memory_sig
%type<module> module module_fields_opt module_fields inline_module
-%type<module_field> type_def start data elem import export
+%type<module_field> type_def start data elem import export exception_field
%type<module_fields> func func_fields table table_fields memory memory_fields global global_fields module_field
%type<script_module> script_module
%type<literal> literal
@@ -627,9 +629,8 @@ catch_instr :
delete $2;
$$ = join_exprs1(&@1, expr);
}
- | CATCH_ALL var instr_list {
- Expr* expr = Expr::CreateCatchAll(std::move(*$2), $3.first);
- delete $2;
+ | CATCH_ALL instr_list {
+ Expr* expr = Expr::CreateCatchAll($2.first);
$$ = join_exprs1(&@1, expr);
}
;
@@ -665,13 +666,40 @@ expr1 :
assert(if_->type == ExprType::If);
if_->if_.true_->label = $2;
}
- | try_check LPAR BLOCK labeling_opt block RPAR catch_list {
- $5->label = $4;
- Expr* try_ = Expr::CreateTry($5, $7.first);
- $$ = join_exprs1(&@1, try_);
+ | try_check labeling_opt try_ {
+ Block* block = $3->try_block.block;
+ block->label = $2;
+ $$ = join_exprs1(&@1, $3);
+ }
+ ;
+
+try_ :
+ block_sig try_ {
+ $$ = $2;
+ Block* block = $$->try_block.block;
+ block->sig.insert(block->sig.end(), $1->begin(), $1->end());
+ delete $1;
}
+ | try_instr_list
;
+try_instr_list :
+ catch_list {
+ Block* block = new Block();
+ $$ = Expr::CreateTry(block, $1.first);
+ }
+ | instr try_instr_list {
+ $$ = $2;
+ Block* block = $$->try_block.block;
+ if ($1.last) {
+ $1.last->next = block->first;
+ } else {
+ $1.first->next = block->first;
+ }
+ block->first = $1.first;
+ }
+ ;
+
catch_list :
LPAR catch_instr RPAR {
$$ = $2;
@@ -758,6 +786,23 @@ const_expr :
instr_list
;
+/* Exceptions */
+exception :
+ LPAR EXCEPT bind_var_opt value_type_list RPAR {
+ $$ = new Exception();
+ $$->name = $3;
+ $$->sig = std::move(*$4);
+ delete $4;
+ }
+ ;
+exception_field :
+ exception {
+ $$ = new ModuleField(ModuleFieldType::Except);
+ $$->loc = @1;
+ $$->except = $1;
+ }
+ ;
+
/* Functions */
func :
LPAR FUNC bind_var_opt func_fields RPAR {
@@ -1159,6 +1204,11 @@ import_desc :
$$->global = $4;
$$->global->name = $3;
}
+ | exception {
+ $$ = new Import();
+ $$->kind = ExternalKind::Except;
+ $$->except = $1;
+ }
;
import :
@@ -1204,6 +1254,12 @@ export_desc :
$$->var = std::move(*$3);
delete $3;
}
+ | LPAR EXCEPT var RPAR {
+ $$ = new Export();
+ $$->kind = ExternalKind::Except;
+ $$->var = std::move(*$3);
+ delete $3;
+ }
;
export :
LPAR EXPORT quoted_text export_desc RPAR {
@@ -1262,6 +1318,7 @@ module_field :
| start { $$.first = $$.last = $1; }
| import { $$.first = $$.last = $1; }
| export { $$.first = $$.last = $1; }
+ | exception_field { $$.first = $$.last = $1; }
;
module_fields_opt :
@@ -1739,7 +1796,8 @@ void check_import_ordering(Location* loc, WastLexer* lexer, WastParser* parser,
if (module->funcs.size() != module->num_func_imports ||
module->tables.size() != module->num_table_imports ||
module->memories.size() != module->num_memory_imports ||
- module->globals.size() != module->num_global_imports) {
+ module->globals.size() != module->num_global_imports ||
+ module->excepts.size() != module->num_except_imports) {
wast_parser_error(
loc, lexer, parser,
"imports must occur before all non-import definitions");
@@ -1806,6 +1864,13 @@ void append_module_fields(Module* module, ModuleField* first) {
module->globals.push_back(field->import->global);
++module->num_global_imports;
break;
+ case ExternalKind::Except:
+ name = &field->import->except->name;
+ bindings = &module->except_bindings;
+ index = module->excepts.size();
+ module->excepts.push_back(field->except);
+ ++module->num_except_imports;
+ break;
}
module->imports.push_back(field->import);
break;
@@ -1861,6 +1926,13 @@ void append_module_fields(Module* module, ModuleField* first) {
module->data_segments.push_back(field->data_segment);
break;
+ case ModuleFieldType::Except:
+ name = &field->except->name;
+ bindings = &module->except_bindings;
+ index = module->excepts.size();
+ module->excepts.push_back(field->except);
+ break;
+
case ModuleFieldType::Start:
module->start = &field->start;
break;
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index 6e1e1954..d3832065 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -987,6 +987,11 @@ void WatWriter::WriteImport(const Import* import) {
WriteBeginGlobal(import->global);
WriteCloseSpace();
break;
+
+ case ExternalKind::Except:
+ // TODO(karlschimpf) Define
+ WABT_FATAL("WriteImport(except) not implemented");
+ break;
}
WriteCloseNewline();
}
@@ -994,12 +999,9 @@ void WatWriter::WriteImport(const Import* import) {
void WatWriter::WriteExport(const Export* export_) {
if (options_->inline_export)
return;
- static const char* s_kind_names[] = {"func", "table", "memory", "global"};
- WABT_STATIC_ASSERT(WABT_ARRAY_SIZE(s_kind_names) == kExternalKindCount);
WriteOpenSpace("export");
WriteQuotedStringSlice(&export_->name, NextChar::Space);
- assert(static_cast<size_t>(export_->kind) < WABT_ARRAY_SIZE(s_kind_names));
- WriteOpenSpace(s_kind_names[static_cast<size_t>(export_->kind)]);
+ WriteOpenSpace(get_kind_name(export_->kind));
WriteVar(&export_->var, NextChar::Space);
WriteCloseSpace();
WriteCloseNewline();
@@ -1036,6 +1038,10 @@ Result WatWriter::WriteModule(const Module* module) {
case ModuleFieldType::Import:
WriteImport(field->import);
break;
+ case ModuleFieldType::Except:
+ // TODO(karlschimpf) Define
+ WABT_FATAL("WriteModule(except) not implemented");
+ break;
case ModuleFieldType::Export:
WriteExport(field->export_);
break;
@@ -1100,6 +1106,10 @@ void WatWriter::BuildExportMaps() {
global_to_export_map_[global_index] = export_;
break;
}
+
+ case ExternalKind::Except:
+ WABT_FATAL("BuildExportMaps(except) not implemented");
+ break;
}
}
}