summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2019-02-14 11:07:03 -0600
committerBen Smith <binjimin@gmail.com>2019-02-14 09:07:03 -0800
commit2b33a37dc49c033ba9b34f438233f204002415d9 (patch)
treec7c091542e4287b2e19dfb644e5186ce42235cf0
parent19191efaf1b5b92b0357b303be1b25cf439be9a2 (diff)
downloadwabt-2b33a37dc49c033ba9b34f438233f204002415d9.tar.gz
wabt-2b33a37dc49c033ba9b34f438233f204002415d9.tar.bz2
wabt-2b33a37dc49c033ba9b34f438233f204002415d9.zip
Add support for the reference types proposal (#938)
* Add support for the reference types proposal This commit adds support for the reference types proposal to wabt. Namely it adds new opcodes like `table.{get,set,grow}` as well as adds a new `anyref` type. These are plumbed throughout for various operations in relatively simple fashions, no support was added for a subtyping relationship between `anyref` and `anyfunc` just yet. This also raises the restriction that multiple tables are disallowed, allowing multiple tables to exist when `--enable-reference-types` is passed. * Allow nonzero table indices in `call_indirect` Plumb support throughout for the `call_indirect` instruction (and `return_call_indirect`) to work with multi-table modules according to the reference types proposal.
-rw-r--r--src/apply-names.cc26
-rw-r--r--src/binary-reader-ir.cc41
-rw-r--r--src/binary-reader-logging.cc10
-rw-r--r--src/binary-reader-logging.h10
-rw-r--r--src/binary-reader-nop.h10
-rw-r--r--src/binary-reader.cc95
-rw-r--r--src/binary-reader.h10
-rw-r--r--src/binary-writer.cc54
-rw-r--r--src/c-writer.cc6
-rw-r--r--src/common.h3
-rw-r--r--src/expr-visitor.cc24
-rw-r--r--src/expr-visitor.h12
-rw-r--r--src/feature.def1
-rw-r--r--src/interp/binary-reader-interp.cc10
-rw-r--r--src/interp/interp-disassemble.cc9
-rw-r--r--src/interp/interp-trace.cc9
-rw-r--r--src/interp/interp.cc12
-rw-r--r--src/interp/interp.h9
-rw-r--r--src/ir.cc6
-rw-r--r--src/ir.h22
-rw-r--r--src/opcode.cc8
-rw-r--r--src/opcode.def8
-rw-r--r--src/prebuilt/wast-lexer-gen.cc18873
-rw-r--r--src/resolve-names.cc26
-rw-r--r--src/token.def8
-rw-r--r--src/tools/spectest-interp.cc2
-rw-r--r--src/type-checker.cc33
-rw-r--r--src/type-checker.h6
-rw-r--r--src/validator.cc72
-rw-r--r--src/wast-lexer.cc7
-rw-r--r--src/wast-parser.cc59
-rw-r--r--src/wat-writer.cc66
-rw-r--r--test/dump/callindirect.txt2
-rw-r--r--test/dump/no-canonicalize.txt2
-rw-r--r--test/dump/reference-types.txt104
-rw-r--r--test/help/spectest-interp.txt1
-rw-r--r--test/help/wasm-interp.txt1
-rw-r--r--test/help/wasm-validate.txt1
-rw-r--r--test/help/wasm2wat.txt1
-rw-r--r--test/help/wast2json.txt1
-rw-r--r--test/help/wat-desugar.txt1
-rw-r--r--test/help/wat2wasm.txt1
-rw-r--r--test/interp/logging-all-opcodes.txt8
-rw-r--r--test/parse/expr/reference-types-call-indirect.txt18
-rw-r--r--test/parse/expr/reference-types-named.txt21
-rw-r--r--test/parse/expr/reference-types.txt55
-rw-r--r--test/parse/expr/table-get.txt8
-rw-r--r--test/parse/expr/table-grow.txt9
-rw-r--r--test/parse/expr/table-set.txt9
-rw-r--r--test/parse/func/bad-local-binding-no-type.txt2
-rw-r--r--test/parse/func/bad-local-binding.txt2
-rw-r--r--test/parse/func/bad-param-binding.txt2
-rw-r--r--test/parse/module/reference-types-disabled.txt20
-rw-r--r--test/roundtrip/fold-reference-types.txt22
-rw-r--r--test/roundtrip/generate-func-type-names.txt2
-rw-r--r--test/roundtrip/generate-some-names.txt2
-rwxr-xr-xtest/run-roundtrip.py3
-rw-r--r--test/typecheck/bad-bulk-memory-no-table.txt6
-rw-r--r--test/typecheck/bad-reference-types-no-table.txt20
-rw-r--r--test/typecheck/bad-returncallindirect-no-table.txt2
60 files changed, 10356 insertions, 9517 deletions
diff --git a/src/apply-names.cc b/src/apply-names.cc
index 4c7a2319..e331ff4b 100644
--- a/src/apply-names.cc
+++ b/src/apply-names.cc
@@ -58,6 +58,10 @@ class NameApplier : public ExprVisitor::DelegateNop {
Result OnMemoryInitExpr(MemoryInitExpr*) override;
Result OnElemDropExpr(ElemDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
+ Result OnTableGetExpr(TableGetExpr*) override;
+ Result OnTableSetExpr(TableSetExpr*) override;
+ Result OnTableGrowExpr(TableGrowExpr*) override;
+ Result OnTableSizeExpr(TableSizeExpr*) override;
Result BeginTryExpr(TryExpr*) override;
Result EndTryExpr(TryExpr*) override;
Result OnThrowExpr(ThrowExpr*) override;
@@ -258,6 +262,26 @@ Result NameApplier::OnTableInitExpr(TableInitExpr* expr) {
return Result::Ok;
}
+Result NameApplier::OnTableGetExpr(TableGetExpr* expr) {
+ CHECK_RESULT(UseNameForTableVar(&expr->var));
+ return Result::Ok;
+}
+
+Result NameApplier::OnTableSetExpr(TableSetExpr* expr) {
+ CHECK_RESULT(UseNameForTableVar(&expr->var));
+ return Result::Ok;
+}
+
+Result NameApplier::OnTableGrowExpr(TableGrowExpr* expr) {
+ CHECK_RESULT(UseNameForTableVar(&expr->var));
+ return Result::Ok;
+}
+
+Result NameApplier::OnTableSizeExpr(TableSizeExpr* expr) {
+ CHECK_RESULT(UseNameForTableVar(&expr->var));
+ return Result::Ok;
+}
+
Result NameApplier::OnBrExpr(BrExpr* expr) {
string_view label = FindLabelByVar(&expr->var);
UseNameForVar(label, &expr->var);
@@ -312,6 +336,7 @@ Result NameApplier::OnCallIndirectExpr(CallIndirectExpr* expr) {
if (expr->decl.has_func_type) {
CHECK_RESULT(UseNameForFuncTypeVar(&expr->decl.type_var));
}
+ CHECK_RESULT(UseNameForTableVar(&expr->table));
return Result::Ok;
}
@@ -324,6 +349,7 @@ Result NameApplier::OnReturnCallIndirectExpr(ReturnCallIndirectExpr* expr) {
if (expr->decl.has_func_type) {
CHECK_RESULT(UseNameForFuncTypeVar(&expr->decl.type_var));
}
+ CHECK_RESULT(UseNameForTableVar(&expr->table));
return Result::Ok;
}
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index a60de398..9d71f70b 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -143,9 +143,9 @@ class BinaryReaderIR : public BinaryReaderNop {
Index default_target_depth) override;
Result OnCallExpr(Index func_index) override;
Result OnCatchExpr() override;
- Result OnCallIndirectExpr(Index sig_index) override;
+ Result OnCallIndirectExpr(Index sig_index, Index table_index) override;
Result OnReturnCallExpr(Index func_index) override;
- Result OnReturnCallIndirectExpr(Index sig_index) override;
+ Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override;
Result OnCompareExpr(Opcode opcode) override;
Result OnConvertExpr(Opcode opcode) override;
Result OnDropExpr() override;
@@ -175,6 +175,12 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnTableCopyExpr() override;
Result OnElemDropExpr(Index segment_index) override;
Result OnTableInitExpr(Index segment_index) override;
+ Result OnTableGetExpr(Index table_index) override;
+ Result OnTableSetExpr(Index table_index) override;
+ Result OnTableGrowExpr(Index table_index) override;
+ Result OnTableSizeExpr(Index table_index) override;
+ Result OnRefNullExpr() override;
+ Result OnRefIsNullExpr() override;
Result OnNopExpr() override;
Result OnRethrowExpr() override;
Result OnReturnExpr() override;
@@ -480,6 +486,7 @@ Result BinaryReaderIR::OnTable(Index index,
auto field = MakeUnique<TableModuleField>(GetLocation());
Table& table = field->table;
table.elem_limits = *elem_limits;
+ table.elem_type = elem_type;
module_->AppendField(std::move(field));
return Result::Ok;
}
@@ -674,12 +681,13 @@ Result BinaryReaderIR::OnCallExpr(Index func_index) {
return AppendExpr(MakeUnique<CallExpr>(Var(func_index)));
}
-Result BinaryReaderIR::OnCallIndirectExpr(Index sig_index) {
+Result BinaryReaderIR::OnCallIndirectExpr(Index sig_index, Index table_index) {
assert(sig_index < module_->func_types.size());
auto expr = MakeUnique<CallIndirectExpr>();
expr->decl.has_func_type = true;
expr->decl.type_var = Var(sig_index, GetLocation());
expr->decl.sig = module_->func_types[sig_index]->sig;
+ expr->table = Var(table_index);
return AppendExpr(std::move(expr));
}
@@ -688,12 +696,13 @@ Result BinaryReaderIR::OnReturnCallExpr(Index func_index) {
return AppendExpr(MakeUnique<ReturnCallExpr>(Var(func_index)));
}
-Result BinaryReaderIR::OnReturnCallIndirectExpr(Index sig_index) {
+Result BinaryReaderIR::OnReturnCallIndirectExpr(Index sig_index, Index table_index) {
assert(sig_index < module_->func_types.size());
auto expr = MakeUnique<ReturnCallIndirectExpr>();
expr->decl.has_func_type = true;
expr->decl.type_var = Var(sig_index, GetLocation());
expr->decl.sig = module_->func_types[sig_index]->sig;
+ expr->table = Var(table_index);
return AppendExpr(std::move(expr));
}
@@ -848,6 +857,30 @@ Result BinaryReaderIR::OnTableInitExpr(Index segment) {
return AppendExpr(MakeUnique<TableInitExpr>(Var(segment)));
}
+Result BinaryReaderIR::OnTableGetExpr(Index table_index) {
+ return AppendExpr(MakeUnique<TableGetExpr>(Var(table_index)));
+}
+
+Result BinaryReaderIR::OnTableSetExpr(Index table_index) {
+ return AppendExpr(MakeUnique<TableSetExpr>(Var(table_index)));
+}
+
+Result BinaryReaderIR::OnTableGrowExpr(Index table_index) {
+ return AppendExpr(MakeUnique<TableGrowExpr>(Var(table_index)));
+}
+
+Result BinaryReaderIR::OnTableSizeExpr(Index table_index) {
+ return AppendExpr(MakeUnique<TableSizeExpr>(Var(table_index)));
+}
+
+Result BinaryReaderIR::OnRefNullExpr() {
+ return AppendExpr(MakeUnique<RefNullExpr>());
+}
+
+Result BinaryReaderIR::OnRefIsNullExpr() {
+ return AppendExpr(MakeUnique<RefIsNullExpr>());
+}
+
Result BinaryReaderIR::OnNopExpr() {
return AppendExpr(MakeUnique<NopExpr>());
}
diff --git a/src/binary-reader-logging.cc b/src/binary-reader-logging.cc
index 81fc3158..db139c55 100644
--- a/src/binary-reader-logging.cc
+++ b/src/binary-reader-logging.cc
@@ -669,7 +669,7 @@ DEFINE_LOAD_STORE_OPCODE(OnAtomicNotifyExpr);
DEFINE_INDEX_INDEX(OnBrOnExnExpr, "depth", "event_index");
DEFINE_OPCODE(OnBinaryExpr)
DEFINE_INDEX_DESC(OnCallExpr, "func_index")
-DEFINE_INDEX_DESC(OnCallIndirectExpr, "sig_index")
+DEFINE_INDEX_INDEX(OnCallIndirectExpr, "sig_index", "table_index")
DEFINE0(OnCatchExpr);
DEFINE_OPCODE(OnCompareExpr)
DEFINE_OPCODE(OnConvertExpr)
@@ -691,11 +691,17 @@ DEFINE0(OnMemorySizeExpr)
DEFINE0(OnTableCopyExpr)
DEFINE_INDEX(OnElemDropExpr)
DEFINE_INDEX(OnTableInitExpr)
+DEFINE_INDEX(OnTableSetExpr)
+DEFINE_INDEX(OnTableGetExpr)
+DEFINE_INDEX(OnTableGrowExpr)
+DEFINE_INDEX(OnTableSizeExpr)
+DEFINE0(OnRefNullExpr)
+DEFINE0(OnRefIsNullExpr)
DEFINE0(OnNopExpr)
DEFINE0(OnRethrowExpr);
DEFINE_INDEX_DESC(OnReturnCallExpr, "func_index")
-DEFINE_INDEX_DESC(OnReturnCallIndirectExpr, "sig_index")
+DEFINE_INDEX_INDEX(OnReturnCallIndirectExpr, "sig_index", "table_index")
DEFINE0(OnReturnExpr)
DEFINE0(OnSelectExpr)
DEFINE_LOAD_STORE_OPCODE(OnStoreExpr);
diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h
index a89529fa..03fb75a4 100644
--- a/src/binary-reader-logging.h
+++ b/src/binary-reader-logging.h
@@ -157,7 +157,7 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Index default_target_depth) override;
Result OnCallExpr(Index func_index) override;
Result OnCatchExpr() override;
- Result OnCallIndirectExpr(Index sig_index) override;
+ Result OnCallIndirectExpr(Index sig_index, Index table_index) override;
Result OnCompareExpr(Opcode opcode) override;
Result OnConvertExpr(Opcode opcode) override;
Result OnDropExpr() override;
@@ -188,10 +188,16 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnTableCopyExpr() override;
Result OnElemDropExpr(Index segment_index) override;
Result OnTableInitExpr(Index segment_index) override;
+ Result OnTableGetExpr(Index table) override;
+ Result OnTableSetExpr(Index table) override;
+ Result OnTableGrowExpr(Index table) override;
+ Result OnTableSizeExpr(Index table) override;
+ Result OnRefNullExpr() override;
+ Result OnRefIsNullExpr() override;
Result OnNopExpr() override;
Result OnRethrowExpr() override;
Result OnReturnCallExpr(Index func_index) override;
- Result OnReturnCallIndirectExpr(Index sig_index) override;
+ Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override;
Result OnReturnExpr() override;
Result OnSelectExpr() override;
Result OnStoreExpr(Opcode opcode,
diff --git a/src/binary-reader-nop.h b/src/binary-reader-nop.h
index ccbc14af..42605e19 100644
--- a/src/binary-reader-nop.h
+++ b/src/binary-reader-nop.h
@@ -218,7 +218,7 @@ class BinaryReaderNop : public BinaryReaderDelegate {
return Result::Ok;
}
Result OnCallExpr(Index func_index) override { return Result::Ok; }
- Result OnCallIndirectExpr(Index sig_index) override { return Result::Ok; }
+ Result OnCallIndirectExpr(Index sig_index, Index table_index) override { return Result::Ok; }
Result OnCatchExpr() override { return Result::Ok; }
Result OnCompareExpr(Opcode opcode) override { return Result::Ok; }
Result OnConvertExpr(Opcode opcode) override { return Result::Ok; }
@@ -252,10 +252,16 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnTableCopyExpr() override { return Result::Ok; }
Result OnElemDropExpr(Index segment_index) override { return Result::Ok; }
Result OnTableInitExpr(Index segment_index) override { return Result::Ok; }
+ Result OnTableGetExpr(Index table_index) override { return Result::Ok; }
+ Result OnTableSetExpr(Index table_index) override { return Result::Ok; }
+ Result OnTableGrowExpr(Index table_index) override { return Result::Ok; }
+ Result OnTableSizeExpr(Index table_index) override { return Result::Ok; }
+ Result OnRefNullExpr() override { return Result::Ok; }
+ Result OnRefIsNullExpr() override { return Result::Ok; }
Result OnNopExpr() override { return Result::Ok; }
Result OnRethrowExpr() override { return Result::Ok; }
Result OnReturnCallExpr(Index sig_index) override { return Result::Ok; }
- Result OnReturnCallIndirectExpr(Index sig_index) override { return Result::Ok; }
+ Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override { return Result::Ok; }
Result OnReturnExpr() override { return Result::Ok; }
Result OnSelectExpr() override { return Result::Ok; }
Result OnStoreExpr(Opcode opcode,
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index a9563b00..76956621 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -383,6 +383,9 @@ bool BinaryReader::IsConcreteType(Type type) {
case Type::V128:
return options_.features.simd_enabled();
+ case Type::Anyref:
+ return options_.features.reference_types_enabled();
+
default:
return false;
}
@@ -490,8 +493,8 @@ Result BinaryReader::ReadInitExpr(Index index, bool require_i32) {
Result BinaryReader::ReadTable(Type* out_elem_type, Limits* out_elem_limits) {
CHECK_RESULT(ReadType(out_elem_type, "table elem type"));
- ERROR_UNLESS(*out_elem_type == Type::Anyfunc,
- "table elem type must by anyfunc");
+ ERROR_UNLESS(*out_elem_type == Type::Anyfunc || *out_elem_type == Type::Anyref,
+ "table elem type must by anyfunc or anyref");
uint32_t flags;
uint32_t initial;
@@ -755,11 +758,19 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
CHECK_RESULT(ReadIndex(&sig_index, "call_indirect signature index"));
ERROR_UNLESS(sig_index < num_signatures_,
"invalid call_indirect signature index");
- uint8_t reserved;
- CHECK_RESULT(ReadU8(&reserved, "call_indirect reserved"));
- ERROR_UNLESS(reserved == 0, "call_indirect reserved value must be 0");
- CALLBACK(OnCallIndirectExpr, sig_index);
- CALLBACK(OnOpcodeUint32Uint32, sig_index, reserved);
+ Index table_index = 0;
+ if (options_.features.reference_types_enabled()) {
+ CHECK_RESULT(ReadIndex(&table_index, "call_indirect table index"));
+ ERROR_UNLESS(table_index < NumTotalTables(),
+ "invalid call_indirect table index");
+ } else {
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "call_indirect reserved"));
+ ERROR_UNLESS(reserved == 0,
+ "call_indirect reserved value must be 0");
+ }
+ CALLBACK(OnCallIndirectExpr, sig_index, table_index);
+ CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
break;
}
@@ -775,17 +786,23 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
}
case Opcode::ReturnCallIndirect: {
-
Index sig_index;
CHECK_RESULT(ReadIndex(&sig_index, "return_call_indirect"));
ERROR_UNLESS(sig_index < num_signatures_,
"invalid return_call_indirect signature index");
- uint8_t reserved;
- CHECK_RESULT(ReadU8(&reserved, "return_call_indirect reserved"));
- ERROR_UNLESS(reserved == 0,
- "return_call_indirect reserved value must be 0");
- CALLBACK(OnReturnCallIndirectExpr, sig_index);
- CALLBACK(OnOpcodeUint32Uint32, sig_index, reserved);
+ Index table_index = 0;
+ if (options_.features.reference_types_enabled()) {
+ CHECK_RESULT(ReadIndex(&table_index, "return_call_indirect table index"));
+ ERROR_UNLESS(table_index < NumTotalTables(),
+ "invalid return_call_indirect table index");
+ } else {
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "return_call_indirect reserved"));
+ ERROR_UNLESS(reserved == 0,
+ "return_call_indirect reserved value must be 0");
+ }
+ CALLBACK(OnReturnCallIndirectExpr, sig_index, table_index);
+ CALLBACK(OnOpcodeUint32Uint32, sig_index, table_index);
break;
}
@@ -1406,6 +1423,50 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
break;
}
+ case Opcode::TableGet: {
+ Index table;
+ CHECK_RESULT(ReadIndex(&table, "table index"));
+ CALLBACK(OnTableGetExpr, table);
+ CALLBACK(OnOpcodeUint32, table);
+ break;
+ }
+
+ case Opcode::TableSet: {
+ Index table;
+ CHECK_RESULT(ReadIndex(&table, "table index"));
+ CALLBACK(OnTableSetExpr, table);
+ CALLBACK(OnOpcodeUint32, table);
+ break;
+ }
+
+ case Opcode::TableGrow: {
+ Index table;
+ CHECK_RESULT(ReadIndex(&table, "table index"));
+ CALLBACK(OnTableGrowExpr, table);
+ CALLBACK(OnOpcodeUint32, table);
+ break;
+ }
+
+ case Opcode::TableSize: {
+ Index table;
+ CHECK_RESULT(ReadIndex(&table, "table index"));
+ CALLBACK(OnTableSizeExpr, table);
+ CALLBACK(OnOpcodeUint32, table);
+ break;
+ }
+
+ case Opcode::RefNull: {
+ CALLBACK(OnRefNullExpr);
+ CALLBACK0(OnOpcodeBare);
+ break;
+ }
+
+ case Opcode::RefIsNull: {
+ CALLBACK(OnRefIsNullExpr);
+ CALLBACK0(OnOpcodeBare);
+ break;
+ }
+
default:
return ReportUnexpectedOpcode(opcode);
}
@@ -1879,8 +1940,10 @@ Result BinaryReader::ReadFunctionSection(Offset section_size) {
Result BinaryReader::ReadTableSection(Offset section_size) {
CALLBACK(BeginTableSection, section_size);
CHECK_RESULT(ReadCount(&num_tables_, "table count"));
- ERROR_UNLESS(num_tables_ <= 1, "table count (%" PRIindex ") must be 0 or 1",
- num_tables_);
+ if (!options_.features.reference_types_enabled()) {
+ ERROR_UNLESS(num_tables_ <= 1, "table count (%" PRIindex ") must be 0 or 1",
+ num_tables_);
+ }
CALLBACK(OnTableCount, num_tables_);
for (Index i = 0; i < num_tables_; ++i) {
Index table_index = num_table_imports_ + i;
diff --git a/src/binary-reader.h b/src/binary-reader.h
index 2a1f324d..861c592f 100644
--- a/src/binary-reader.h
+++ b/src/binary-reader.h
@@ -212,7 +212,7 @@ class BinaryReaderDelegate {
Index* target_depths,
Index default_target_depth) = 0;
virtual Result OnCallExpr(Index func_index) = 0;
- virtual Result OnCallIndirectExpr(Index sig_index) = 0;
+ virtual Result OnCallIndirectExpr(Index sig_index, Index table_index) = 0;
virtual Result OnCatchExpr() = 0;
virtual Result OnCompareExpr(Opcode opcode) = 0;
virtual Result OnConvertExpr(Opcode opcode) = 0;
@@ -244,11 +244,17 @@ class BinaryReaderDelegate {
virtual Result OnTableCopyExpr() = 0;
virtual Result OnElemDropExpr(Index segment_index) = 0;
virtual Result OnTableInitExpr(Index segment_index) = 0;
+ virtual Result OnTableGetExpr(Index table_index) = 0;
+ virtual Result OnTableSetExpr(Index table_index) = 0;
+ virtual Result OnTableGrowExpr(Index table_index) = 0;
+ virtual Result OnTableSizeExpr(Index table_index) = 0;
+ virtual Result OnRefNullExpr() = 0;
+ virtual Result OnRefIsNullExpr() = 0;
virtual Result OnNopExpr() = 0;
virtual Result OnRethrowExpr() = 0;
virtual Result OnReturnExpr() = 0;
virtual Result OnReturnCallExpr(Index func_index) = 0;
- virtual Result OnReturnCallIndirectExpr(Index sig_index) = 0;
+ virtual Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) = 0;
virtual Result OnSelectExpr() = 0;
virtual Result OnStoreExpr(Opcode opcode,
uint32_t alignment_log2,
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index 22fc9d2f..92100d81 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -454,19 +454,23 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
break;
}
case ExprType::CallIndirect:{
- Index index =
+ Index sig_index =
module_->GetFuncTypeIndex(cast<CallIndirectExpr>(expr)->decl);
+ Index table_index =
+ module_->GetTableIndex(cast<CallIndirectExpr>(expr)->table);
WriteOpcode(stream_, Opcode::CallIndirect);
- WriteU32Leb128WithReloc(index, "signature index", RelocType::TypeIndexLEB);
- WriteU32Leb128(stream_, 0, "call_indirect reserved");
+ WriteU32Leb128WithReloc(sig_index, "signature index", RelocType::TypeIndexLEB);
+ WriteU32Leb128(stream_, table_index, "table index");
break;
}
case ExprType::ReturnCallIndirect: {
- Index index =
+ Index sig_index =
module_->GetFuncTypeIndex(cast<ReturnCallIndirectExpr>(expr)->decl);
+ Index table_index =
+ module_->GetTableIndex(cast<ReturnCallIndirectExpr>(expr)->table);
WriteOpcode(stream_, Opcode::ReturnCallIndirect);
- WriteU32Leb128WithReloc(index, "signature index", RelocType::TypeIndexLEB);
- WriteU32Leb128(stream_, 0, "return_call_indirect reserved");
+ WriteU32Leb128WithReloc(sig_index, "signature index", RelocType::TypeIndexLEB);
+ WriteU32Leb128(stream_, table_index, "table index");
break;
}
case ExprType::Compare:
@@ -610,6 +614,42 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
WriteU32Leb128(stream_, 0, "table.init reserved");
break;
}
+ case ExprType::TableGet: {
+ Index index =
+ module_->GetTableIndex(cast<TableGetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::TableGet);
+ WriteU32Leb128(stream_, index, "table.get table index");
+ break;
+ }
+ case ExprType::TableSet: {
+ Index index =
+ module_->GetTableIndex(cast<TableSetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::TableSet);
+ WriteU32Leb128(stream_, index, "table.set table index");
+ break;
+ }
+ case ExprType::TableGrow: {
+ Index index =
+ module_->GetTableIndex(cast<TableGrowExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::TableGrow);
+ WriteU32Leb128(stream_, index, "table.grow table index");
+ break;
+ }
+ case ExprType::TableSize: {
+ Index index =
+ module_->GetTableIndex(cast<TableSizeExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::TableSize);
+ WriteU32Leb128(stream_, index, "table.size table index");
+ break;
+ }
+ case ExprType::RefNull: {
+ WriteOpcode(stream_, Opcode::RefNull);
+ break;
+ }
+ case ExprType::RefIsNull: {
+ WriteOpcode(stream_, Opcode::RefIsNull);
+ break;
+ }
case ExprType::Nop:
WriteOpcode(stream_, Opcode::Nop);
break;
@@ -699,7 +739,7 @@ void BinaryWriter::WriteFunc(const Func* func) {
}
void BinaryWriter::WriteTable(const Table* table) {
- WriteType(stream_, Type::Anyfunc);
+ WriteType(stream_, table->elem_type);
WriteLimits(stream_, &table->elem_limits);
}
diff --git a/src/c-writer.cc b/src/c-writer.cc
index 58d3a4c4..0ba530e0 100644
--- a/src/c-writer.cc
+++ b/src/c-writer.cc
@@ -1584,6 +1584,12 @@ void CWriter::Write(const ExprList& exprs) {
case ExprType::TableCopy:
case ExprType::ElemDrop:
case ExprType::TableInit:
+ case ExprType::TableGet:
+ case ExprType::TableSet:
+ case ExprType::TableGrow:
+ case ExprType::TableSize:
+ case ExprType::RefNull:
+ case ExprType::RefIsNull:
UNIMPLEMENTED("...");
break;
diff --git a/src/common.h b/src/common.h
index 4a2311d4..49c1ce60 100644
--- a/src/common.h
+++ b/src/common.h
@@ -205,6 +205,7 @@ enum class Type : int32_t {
F64 = -0x04, // 0x7c
V128 = -0x05, // 0x7b
Anyfunc = -0x10, // 0x70
+ Anyref = -0x11, // 0x6f
ExceptRef = -0x18, // 0x68
Func = -0x20, // 0x60
Void = -0x40, // 0x40
@@ -359,6 +360,8 @@ static WABT_INLINE const char* GetTypeName(Type type) {
return "void";
case Type::Any:
return "any";
+ case Type::Anyref:
+ return "anyref";
default:
return "<type index>";
}
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc
index 6fc664ee..e1735a13 100644
--- a/src/expr-visitor.cc
+++ b/src/expr-visitor.cc
@@ -286,6 +286,30 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnTableInitExpr(cast<TableInitExpr>(expr)));
break;
+ case ExprType::TableGet:
+ CHECK_RESULT(delegate_->OnTableGetExpr(cast<TableGetExpr>(expr)));
+ break;
+
+ case ExprType::TableSet:
+ CHECK_RESULT(delegate_->OnTableSetExpr(cast<TableSetExpr>(expr)));
+ break;
+
+ case ExprType::TableGrow:
+ CHECK_RESULT(delegate_->OnTableGrowExpr(cast<TableGrowExpr>(expr)));
+ break;
+
+ case ExprType::TableSize:
+ CHECK_RESULT(delegate_->OnTableSizeExpr(cast<TableSizeExpr>(expr)));
+ break;
+
+ case ExprType::RefNull:
+ CHECK_RESULT(delegate_->OnRefNullExpr(cast<RefNullExpr>(expr)));
+ break;
+
+ case ExprType::RefIsNull:
+ CHECK_RESULT(delegate_->OnRefIsNullExpr(cast<RefIsNullExpr>(expr)));
+ break;
+
case ExprType::Nop:
CHECK_RESULT(delegate_->OnNopExpr(cast<NopExpr>(expr)));
break;
diff --git a/src/expr-visitor.h b/src/expr-visitor.h
index e42c36ad..a27357ad 100644
--- a/src/expr-visitor.h
+++ b/src/expr-visitor.h
@@ -97,6 +97,12 @@ class ExprVisitor::Delegate {
virtual Result OnTableCopyExpr(TableCopyExpr*) = 0;
virtual Result OnElemDropExpr(ElemDropExpr*) = 0;
virtual Result OnTableInitExpr(TableInitExpr*) = 0;
+ virtual Result OnTableGetExpr(TableGetExpr*) = 0;
+ virtual Result OnTableSetExpr(TableSetExpr*) = 0;
+ virtual Result OnTableGrowExpr(TableGrowExpr*) = 0;
+ virtual Result OnTableSizeExpr(TableSizeExpr*) = 0;
+ virtual Result OnRefNullExpr(RefNullExpr*) = 0;
+ virtual Result OnRefIsNullExpr(RefIsNullExpr*) = 0;
virtual Result OnNopExpr(NopExpr*) = 0;
virtual Result OnReturnExpr(ReturnExpr*) = 0;
virtual Result OnReturnCallExpr(ReturnCallExpr*) = 0;
@@ -156,6 +162,12 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
Result OnTableCopyExpr(TableCopyExpr*) override { return Result::Ok; }
Result OnElemDropExpr(ElemDropExpr*) override { return Result::Ok; }
Result OnTableInitExpr(TableInitExpr*) override { return Result::Ok; }
+ Result OnTableGetExpr(TableGetExpr*) override { return Result::Ok; }
+ Result OnTableSetExpr(TableSetExpr*) override { return Result::Ok; }
+ Result OnTableGrowExpr(TableGrowExpr*) override { return Result::Ok; }
+ Result OnTableSizeExpr(TableSizeExpr*) override { return Result::Ok; }
+ Result OnRefNullExpr(RefNullExpr*) override { return Result::Ok; }
+ Result OnRefIsNullExpr(RefIsNullExpr*) override { return Result::Ok; }
Result OnNopExpr(NopExpr*) override { return Result::Ok; }
Result OnReturnExpr(ReturnExpr*) override { return Result::Ok; }
Result OnReturnCallExpr(ReturnCallExpr*) override { return Result::Ok; }
diff --git a/src/feature.def b/src/feature.def
index bd510f87..79d8d494 100644
--- a/src/feature.def
+++ b/src/feature.def
@@ -31,3 +31,4 @@ WABT_FEATURE(threads, "threads", false, "Threading su
WABT_FEATURE(multi_value, "multi-value", false, "Multi-value")
WABT_FEATURE(tail_call, "tail-call", false, "Tail-call support")
WABT_FEATURE(bulk_memory, "bulk-memory", false, "Bulk-memory operations")
+WABT_FEATURE(reference_types, "reference-types", false, "Reference types (anyref)")
diff --git a/src/interp/binary-reader-interp.cc b/src/interp/binary-reader-interp.cc
index c1cceb65..94cf479c 100644
--- a/src/interp/binary-reader-interp.cc
+++ b/src/interp/binary-reader-interp.cc
@@ -164,9 +164,9 @@ class BinaryReaderInterp : public BinaryReaderNop {
Index* target_depths,
Index default_target_depth) override;
wabt::Result OnCallExpr(Index func_index) override;
- wabt::Result OnCallIndirectExpr(Index sig_index) override;
+ wabt::Result OnCallIndirectExpr(Index sig_index, Index table_index) override;
wabt::Result OnReturnCallExpr(Index func_index) override;
- wabt::Result OnReturnCallIndirectExpr(Index sig_index) override;
+ wabt::Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override;
wabt::Result OnCompareExpr(wabt::Opcode opcode) override;
wabt::Result OnConvertExpr(wabt::Opcode opcode) override;
wabt::Result OnDropExpr() override;
@@ -826,7 +826,7 @@ wabt::Result BinaryReaderInterp::OnTable(Index index,
PrintError("only one table allowed");
return wabt::Result::Error;
}
- env_->EmplaceBackTable(*elem_limits);
+ env_->EmplaceBackTable(elem_type, *elem_limits);
module_->table_index = env_->GetTableCount() - 1;
return wabt::Result::Ok;
}
@@ -1328,7 +1328,7 @@ wabt::Result BinaryReaderInterp::OnCallExpr(Index func_index) {
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnCallIndirectExpr(Index sig_index) {
+wabt::Result BinaryReaderInterp::OnCallIndirectExpr(Index sig_index, Index table_index) {
if (module_->table_index == kInvalidIndex) {
PrintError("found call_indirect operator, but no table");
return wabt::Result::Error;
@@ -1367,7 +1367,7 @@ wabt::Result BinaryReaderInterp::OnReturnCallExpr(Index func_index) {
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnReturnCallIndirectExpr(Index sig_index) {
+wabt::Result BinaryReaderInterp::OnReturnCallIndirectExpr(Index sig_index, Index table_index) {
if (module_->table_index == kInvalidIndex) {
PrintError("found return_call_indirect operator, but no table");
return wabt::Result::Error;
diff --git a/src/interp/interp-disassemble.cc b/src/interp/interp-disassemble.cc
index 3668fbfd..a653a73f 100644
--- a/src/interp/interp-disassemble.cc
+++ b/src/interp/interp-disassemble.cc
@@ -580,6 +580,15 @@ void Environment::Disassemble(Stream* stream,
break;
}
+ case Opcode::TableGet:
+ case Opcode::TableSet:
+ case Opcode::TableGrow:
+ case Opcode::TableSize:
+ case Opcode::RefNull:
+ case Opcode::RefIsNull:
+ WABT_UNREACHABLE;
+ break;
+
case Opcode::MemoryInit:
WABT_UNREACHABLE;
break;
diff --git a/src/interp/interp-trace.cc b/src/interp/interp-trace.cc
index b85ee336..cc2c16c3 100644
--- a/src/interp/interp-trace.cc
+++ b/src/interp/interp-trace.cc
@@ -690,6 +690,15 @@ void Thread::Trace(Stream* stream) {
break;
}
+ case Opcode::TableGet:
+ case Opcode::TableSet:
+ case Opcode::TableGrow:
+ case Opcode::TableSize:
+ case Opcode::RefNull:
+ case Opcode::RefIsNull:
+ WABT_UNREACHABLE;
+ break;
+
case Opcode::MemoryInit:
WABT_UNREACHABLE;
break;
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index 52fb15c2..f44c4021 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -266,8 +266,9 @@ std::pair<HostFunc*, Index> HostModule::AppendFuncExport(
}
std::pair<Table*, Index> HostModule::AppendTableExport(string_view name,
+ Type elem_type,
const Limits& limits) {
- Table* table = env_->EmplaceBackTable(limits);
+ Table* table = env_->EmplaceBackTable(elem_type, limits);
Index table_env_index = env_->GetTableCount() - 1;
Index export_index = AppendExport(ExternalKind::Table, table_env_index, name);
return {table, export_index};
@@ -3240,6 +3241,15 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(SimdUnop<v128, uint64_t>(IntTruncSat<uint64_t, double>));
break;
+ case Opcode::TableGet:
+ case Opcode::TableSet:
+ case Opcode::TableGrow:
+ case Opcode::TableSize:
+ case Opcode::RefNull:
+ case Opcode::RefIsNull:
+ WABT_UNREACHABLE;
+ break;
+
case Opcode::MemoryInit:
WABT_UNREACHABLE;
break;
diff --git a/src/interp/interp.h b/src/interp/interp.h
index 0c656cbb..16653abb 100644
--- a/src/interp/interp.h
+++ b/src/interp/interp.h
@@ -95,9 +95,10 @@ struct FuncSignature {
};
struct Table {
- explicit Table(const Limits& limits)
- : limits(limits), func_indexes(limits.initial, kInvalidIndex) {}
+ explicit Table(Type elem_type, const Limits& limits)
+ : elem_type(elem_type), limits(limits), func_indexes(limits.initial, kInvalidIndex) {}
+ Type elem_type;
Limits limits;
std::vector<Index> func_indexes;
};
@@ -341,7 +342,9 @@ struct HostModule : Module {
std::pair<HostFunc*, Index> AppendFuncExport(string_view name,
Index sig_index,
HostFunc::Callback);
- std::pair<Table*, Index> AppendTableExport(string_view name, const Limits&);
+ std::pair<Table*, Index> AppendTableExport(string_view name,
+ Type elem_type,
+ const Limits&);
std::pair<Memory*, Index> AppendMemoryExport(string_view name, const Limits&);
std::pair<Global*, Index> AppendGlobalExport(string_view name,
Type,
diff --git a/src/ir.cc b/src/ir.cc
index 52af00f1..70ca45c3 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -58,6 +58,8 @@ const char* ExprTypeName[] = {
"MemoryInit",
"MemorySize",
"Nop",
+ "RefIsNull",
+ "RefNull",
"Rethrow",
"Return",
"ReturnCall",
@@ -69,6 +71,10 @@ const char* ExprTypeName[] = {
"TableCopy",
"ElemDrop",
"TableInit",
+ "TableGet",
+ "TableGrow",
+ "TableSize",
+ "TableSet",
"Ternary",
"Throw",
"Try",
diff --git a/src/ir.h b/src/ir.h
index aa624036..3e220d35 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -189,6 +189,8 @@ enum class ExprType {
MemoryInit,
MemorySize,
Nop,
+ RefIsNull,
+ RefNull,
Rethrow,
Return,
ReturnCall,
@@ -200,6 +202,10 @@ enum class ExprType {
TableCopy,
ElemDrop,
TableInit,
+ TableGet,
+ TableGrow,
+ TableSize,
+ TableSet,
Ternary,
Throw,
Try,
@@ -265,6 +271,8 @@ typedef ExprMixin<ExprType::Rethrow> RethrowExpr;
typedef ExprMixin<ExprType::Return> ReturnExpr;
typedef ExprMixin<ExprType::Select> SelectExpr;
typedef ExprMixin<ExprType::Unreachable> UnreachableExpr;
+typedef ExprMixin<ExprType::RefNull> RefNullExpr;
+typedef ExprMixin<ExprType::RefIsNull> RefIsNullExpr;
template <ExprType TypeEnum>
class OpcodeExpr : public ExprMixin<TypeEnum> {
@@ -323,6 +331,10 @@ typedef VarExpr<ExprType::MemoryInit> MemoryInitExpr;
typedef VarExpr<ExprType::DataDrop> DataDropExpr;
typedef VarExpr<ExprType::TableInit> TableInitExpr;
typedef VarExpr<ExprType::ElemDrop> ElemDropExpr;
+typedef VarExpr<ExprType::TableGet> TableGetExpr;
+typedef VarExpr<ExprType::TableSet> TableSetExpr;
+typedef VarExpr<ExprType::TableGrow> TableGrowExpr;
+typedef VarExpr<ExprType::TableSize> TableSizeExpr;
class CallIndirectExpr : public ExprMixin<ExprType::CallIndirect> {
public:
@@ -330,13 +342,16 @@ class CallIndirectExpr : public ExprMixin<ExprType::CallIndirect> {
: ExprMixin<ExprType::CallIndirect>(loc) {}
FuncDeclaration decl;
+ Var table;
};
class ReturnCallIndirectExpr : public ExprMixin<ExprType::ReturnCallIndirect> {
public:
explicit ReturnCallIndirectExpr(const Location &loc = Location())
: ExprMixin<ExprType::ReturnCallIndirect>(loc) {}
- FuncDeclaration decl;
+
+ FuncDeclaration decl;
+ Var table;
};
template <ExprType TypeEnum>
@@ -522,10 +537,13 @@ struct Global {
};
struct Table {
- explicit Table(string_view name) : name(name.to_string()) {}
+ explicit Table(string_view name) :
+ name(name.to_string()),
+ elem_type(Type::Anyfunc) {}
std::string name;
Limits elem_limits;
+ Type elem_type;
};
struct ElemSegment {
diff --git a/src/opcode.cc b/src/opcode.cc
index 46f23af9..6377ccfd 100644
--- a/src/opcode.cc
+++ b/src/opcode.cc
@@ -311,6 +311,14 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::TableCopy:
return features.bulk_memory_enabled();
+ case Opcode::TableGet:
+ case Opcode::TableSet:
+ case Opcode::TableGrow:
+ case Opcode::TableSize:
+ case Opcode::RefNull:
+ case Opcode::RefIsNull:
+ return features.reference_types_enabled();
+
// Interpreter opcodes are never "enabled".
case Opcode::InterpAlloca:
case Opcode::InterpBrUnless:
diff --git a/src/opcode.def b/src/opcode.def
index 0af16368..9b46fb5a 100644
--- a/src/opcode.def
+++ b/src/opcode.def
@@ -247,6 +247,14 @@ WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0c, TableInit, "table.init")
WABT_OPCODE(___, ___, ___, ___, 0, 0xfc, 0x0d, ElemDrop, "elem.drop")
WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0e, TableCopy, "table.copy")
+/* Referene types (--enable-reference-types) */
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x25, TableGet, "table.get")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x26, TableSet, "table.set")
+WABT_OPCODE(___, ___, ___, ___, 0, 0xfc, 0x0f, TableGrow, "table.grow")
+WABT_OPCODE(___, ___, ___, ___, 0, 0xfc, 0x10, TableSize, "table.size")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xd0, RefNull, "ref.null")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xd1, RefIsNull, "ref.is_null")
+
/* Simd opcodes (--enable-simd) */
WABT_OPCODE(V128, I32, ___, ___, 16, 0xfd, 0x00, V128Load, "v128.load")
WABT_OPCODE(___, I32, V128, ___, 16, 0xfd, 0x01, V128Store, "v128.store")
diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc
index b3b96f0d..08b1297d 100644
--- a/src/prebuilt/wast-lexer-gen.cc
+++ b/src/prebuilt/wast-lexer-gen.cc
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.16 */
-#line 1 "src/wast-lexer.cc"
+/* Generated by re2c 1.0.1 on Thu Feb 14 07:25:49 2019 */
+#line 1 "/home/alex/code/wabt/src/wast-lexer.cc"
/*
* Copyright 2016 WebAssembly Community Group participants
*
@@ -28,6 +28,7 @@
#define YYMAXFILL 29
+
#define INITIAL_LEXER_BUFFER_SIZE (64 * 1024)
#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__)
@@ -189,22 +190,21 @@ Result WastLexer::Fill(size_t need) {
}
Token WastLexer::GetToken(WastParser* parser) {
-#line 193 "src/prebuilt/wast-lexer-gen.cc"
-
+ #line 194 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
enum YYCONDTYPE {
YYCOND_i,
YYCOND_BAD_TEXT,
YYCOND_LINE_COMMENT,
YYCOND_BLOCK_COMMENT,
};
+#line 190 "/home/alex/code/wabt/src/wast-lexer.cc"
-#line 190 "src/wast-lexer.cc"
YYCONDTYPE cond = YYCOND_i; // i is the initial state.
for (;;) {
next_pos_ = cursor_;
-#line 208 "src/prebuilt/wast-lexer-gen.cc"
+#line 208 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
{
unsigned char yych;
unsigned int yyaccept = 0;
@@ -222,491 +222,6 @@ enum YYCONDTYPE {
}
}
/* *********************************** */
-YYCOND_BAD_TEXT:
- if ((limit_ - cursor_) < 5) FILL(5);
- yych = *cursor_;
- if (yych <= 0x7F) {
- if (yych <= '!') {
- if (yych == '\n') goto yy5;
- if (yych >= ' ') goto yy7;
- } else {
- if (yych <= '"') goto yy9;
- if (yych == '\\') goto yy11;
- goto yy7;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy12;
- if (yych <= 0xDF) goto yy14;
- if (yych <= 0xE0) goto yy15;
- goto yy16;
- } else {
- if (yych <= 0xF0) goto yy17;
- if (yych <= 0xF3) goto yy18;
- if (yych <= 0xF4) goto yy19;
- goto yy12;
- }
- }
- ++cursor_;
-yy4:
-#line 252 "src/wast-lexer.cc"
- { ERROR("illegal character in string");
- continue; }
-#line 256 "src/prebuilt/wast-lexer-gen.cc"
-yy5:
- ++cursor_;
- BEGIN(YYCOND_i);
-#line 245 "src/wast-lexer.cc"
- { ERROR("newline in string");
- NEWLINE;
- continue; }
-#line 264 "src/prebuilt/wast-lexer-gen.cc"
-yy7:
- ++cursor_;
-#line 244 "src/wast-lexer.cc"
- { continue; }
-#line 269 "src/prebuilt/wast-lexer-gen.cc"
-yy9:
- ++cursor_;
- BEGIN(YYCOND_i);
-#line 251 "src/wast-lexer.cc"
- { RETURN_TEXT(Text); }
-#line 275 "src/prebuilt/wast-lexer-gen.cc"
-yy11:
- yyaccept = 0;
- yych = *(marker_ = ++cursor_);
- if (yych <= 'f') {
- if (yych <= '/') {
- if (yych <= '!') {
- if (yych == '\n') goto yy4;
- goto yy20;
- } else {
- if (yych <= '"') goto yy7;
- if (yych == '\'') goto yy7;
- goto yy20;
- }
- } else {
- if (yych <= 'F') {
- if (yych <= '9') goto yy22;
- if (yych <= '@') goto yy20;
- goto yy22;
- } else {
- if (yych == '\\') goto yy7;
- if (yych <= '`') goto yy20;
- goto yy22;
- }
- }
- } else {
- if (yych <= 0x7F) {
- if (yych <= 'q') {
- if (yych == 'n') goto yy7;
- goto yy20;
- } else {
- if (yych == 's') goto yy20;
- if (yych <= 't') goto yy7;
- goto yy20;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy4;
- if (yych <= 0xDF) goto yy23;
- if (yych <= 0xE0) goto yy25;
- goto yy26;
- } else {
- if (yych <= 0xF0) goto yy27;
- if (yych <= 0xF3) goto yy28;
- if (yych <= 0xF4) goto yy29;
- goto yy4;
- }
- }
- }
-yy12:
- ++cursor_;
-yy13:
-#line 254 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(" in string"); }
-#line 329 "src/prebuilt/wast-lexer-gen.cc"
-yy14:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy13;
- if (yych <= 0xBF) goto yy7;
- goto yy13;
-yy15:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy13;
- if (yych <= 0xBF) goto yy30;
- goto yy13;
-yy16:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy13;
- if (yych <= 0xBF) goto yy30;
- goto yy13;
-yy17:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy13;
- if (yych <= 0xBF) goto yy31;
- goto yy13;
-yy18:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy13;
- if (yych <= 0xBF) goto yy31;
- goto yy13;
-yy19:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy13;
- if (yych <= 0x8F) goto yy31;
- goto yy13;
-yy20:
- ++cursor_;
-yy21:
-#line 248 "src/wast-lexer.cc"
- { ERROR("bad escape \"%.*s\"",
- static_cast<int>(yyleng), yytext);
- continue; }
-#line 372 "src/prebuilt/wast-lexer-gen.cc"
-yy22:
- yych = *++cursor_;
- if (yych <= '@') {
- if (yych <= '/') goto yy21;
- if (yych <= '9') goto yy7;
- goto yy21;
- } else {
- if (yych <= 'F') goto yy7;
- if (yych <= '`') goto yy21;
- if (yych <= 'f') goto yy7;
- goto yy21;
- }
-yy23:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy24;
- if (yych <= 0xBF) goto yy20;
-yy24:
- cursor_ = marker_;
- if (yyaccept == 0) {
- goto yy4;
- } else {
- goto yy13;
- }
-yy25:
- yych = *++cursor_;
- if (yych <= 0x9F) goto yy24;
- if (yych <= 0xBF) goto yy23;
- goto yy24;
-yy26:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy24;
- if (yych <= 0xBF) goto yy23;
- goto yy24;
-yy27:
- yych = *++cursor_;
- if (yych <= 0x8F) goto yy24;
- if (yych <= 0xBF) goto yy26;
- goto yy24;
-yy28:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy24;
- if (yych <= 0xBF) goto yy26;
- goto yy24;
-yy29:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy24;
- if (yych <= 0x8F) goto yy26;
- goto yy24;
-yy30:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy24;
- if (yych <= 0xBF) goto yy7;
- goto yy24;
-yy31:
- ++cursor_;
- if ((yych = *cursor_) <= 0x7F) goto yy24;
- if (yych <= 0xBF) goto yy30;
- goto yy24;
-/* *********************************** */
-YYCOND_BLOCK_COMMENT:
- if ((limit_ - cursor_) < 4) FILL(4);
- yych = *cursor_;
- if (yych <= 0x7F) {
- if (yych <= '\'') {
- if (yych == '\n') goto yy36;
- } else {
- if (yych <= '(') goto yy38;
- if (yych == ';') goto yy39;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy40;
- if (yych <= 0xDF) goto yy42;
- if (yych <= 0xE0) goto yy43;
- goto yy44;
- } else {
- if (yych <= 0xF0) goto yy45;
- if (yych <= 0xF3) goto yy46;
- if (yych <= 0xF4) goto yy47;
- goto yy40;
- }
- }
-yy34:
- ++cursor_;
-yy35:
-#line 758 "src/wast-lexer.cc"
- { continue; }
-#line 460 "src/prebuilt/wast-lexer-gen.cc"
-yy36:
- ++cursor_;
-#line 757 "src/wast-lexer.cc"
- { NEWLINE; continue; }
-#line 465 "src/prebuilt/wast-lexer-gen.cc"
-yy38:
- yych = *++cursor_;
- if (yych == ';') goto yy48;
- goto yy35;
-yy39:
- yych = *++cursor_;
- if (yych == ')') goto yy50;
- goto yy35;
-yy40:
- ++cursor_;
-yy41:
-#line 759 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(" in block comment"); }
-#line 479 "src/prebuilt/wast-lexer-gen.cc"
-yy42:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy41;
- if (yych <= 0xBF) goto yy34;
- goto yy41;
-yy43:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy41;
- if (yych <= 0xBF) goto yy52;
- goto yy41;
-yy44:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy41;
- if (yych <= 0xBF) goto yy52;
- goto yy41;
-yy45:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy41;
- if (yych <= 0xBF) goto yy54;
- goto yy41;
-yy46:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy41;
- if (yych <= 0xBF) goto yy54;
- goto yy41;
-yy47:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy41;
- if (yych <= 0x8F) goto yy54;
- goto yy41;
-yy48:
- ++cursor_;
-#line 752 "src/wast-lexer.cc"
- { COMMENT_NESTING++; continue; }
-#line 514 "src/prebuilt/wast-lexer-gen.cc"
-yy50:
- ++cursor_;
-#line 753 "src/wast-lexer.cc"
- { if (--COMMENT_NESTING == 0) {
- BEGIN(YYCOND_i);
- }
- continue; }
-#line 522 "src/prebuilt/wast-lexer-gen.cc"
-yy52:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy53;
- if (yych <= 0xBF) goto yy34;
-yy53:
- cursor_ = marker_;
- goto yy41;
-yy54:
- ++cursor_;
- if ((yych = *cursor_) <= 0x7F) goto yy53;
- if (yych <= 0xBF) goto yy52;
- goto yy53;
-/* *********************************** */
-YYCOND_LINE_COMMENT:
- {
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((limit_ - cursor_) < 2) FILL(2);
- yych = *cursor_;
- if (yybm[0+yych] & 128) {
- goto yy57;
- }
- if (yych <= 0xE0) {
- if (yych <= '\n') goto yy60;
- if (yych <= 0xC1) goto yy62;
- if (yych <= 0xDF) goto yy64;
- goto yy65;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy66;
- goto yy67;
- } else {
- if (yych <= 0xF3) goto yy68;
- if (yych <= 0xF4) goto yy69;
- goto yy62;
- }
- }
-yy57:
- yyaccept = 0;
- marker_ = ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yybm[0+yych] & 128) {
- goto yy57;
- }
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy59;
- if (yych <= 0xDF) goto yy70;
- if (yych <= 0xE0) goto yy72;
- goto yy73;
- } else {
- if (yych <= 0xF0) goto yy74;
- if (yych <= 0xF3) goto yy75;
- if (yych <= 0xF4) goto yy76;
- }
-yy59:
-#line 750 "src/wast-lexer.cc"
- { continue; }
-#line 613 "src/prebuilt/wast-lexer-gen.cc"
-yy60:
- ++cursor_;
- BEGIN(YYCOND_i);
-#line 749 "src/wast-lexer.cc"
- { NEWLINE; continue; }
-#line 619 "src/prebuilt/wast-lexer-gen.cc"
-yy62:
- ++cursor_;
-yy63:
-#line 764 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(""); }
-#line 625 "src/prebuilt/wast-lexer-gen.cc"
-yy64:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy63;
- if (yych <= 0xBF) goto yy57;
- goto yy63;
-yy65:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy63;
- if (yych <= 0xBF) goto yy70;
- goto yy63;
-yy66:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy63;
- if (yych <= 0xBF) goto yy70;
- goto yy63;
-yy67:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy63;
- if (yych <= 0xBF) goto yy73;
- goto yy63;
-yy68:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy63;
- if (yych <= 0xBF) goto yy73;
- goto yy63;
-yy69:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy63;
- if (yych <= 0x8F) goto yy73;
- goto yy63;
-yy70:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy71;
- if (yych <= 0xBF) goto yy57;
-yy71:
- cursor_ = marker_;
- if (yyaccept == 0) {
- goto yy59;
- } else {
- goto yy63;
- }
-yy72:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x9F) goto yy71;
- if (yych <= 0xBF) goto yy70;
- goto yy71;
-yy73:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy71;
- if (yych <= 0xBF) goto yy70;
- goto yy71;
-yy74:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x8F) goto yy71;
- if (yych <= 0xBF) goto yy73;
- goto yy71;
-yy75:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy71;
- if (yych <= 0xBF) goto yy73;
- goto yy71;
-yy76:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy71;
- if (yych <= 0x8F) goto yy73;
- goto yy71;
- }
-/* *********************************** */
YYCOND_i:
{
static const unsigned char yybm[] = {
@@ -746,49 +261,49 @@ YYCOND_i:
if ((limit_ - cursor_) < 29) FILL(29);
yych = *cursor_;
if (yybm[0+yych] & 4) {
- goto yy81;
+ goto yy5;
}
if (yych <= 'e') {
if (yych <= '+') {
if (yych <= '#') {
if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy79;
- if (yych <= '\n') goto yy84;
+ if (yych <= 0x08) goto yy3;
+ if (yych <= '\n') goto yy8;
} else {
- if (yych == '"') goto yy89;
- goto yy86;
+ if (yych == '"') goto yy13;
+ goto yy10;
}
} else {
if (yych <= '(') {
- if (yych <= '$') goto yy91;
- if (yych <= '\'') goto yy86;
- goto yy92;
+ if (yych <= '$') goto yy15;
+ if (yych <= '\'') goto yy10;
+ goto yy16;
} else {
- if (yych <= ')') goto yy94;
- if (yych <= '*') goto yy86;
- goto yy96;
+ if (yych <= ')') goto yy18;
+ if (yych <= '*') goto yy10;
+ goto yy20;
}
}
} else {
if (yych <= ':') {
if (yych <= '/') {
- if (yych == '-') goto yy96;
- goto yy86;
+ if (yych == '-') goto yy20;
+ goto yy10;
} else {
- if (yych <= '0') goto yy97;
- if (yych <= '9') goto yy99;
- goto yy86;
+ if (yych <= '0') goto yy21;
+ if (yych <= '9') goto yy23;
+ goto yy10;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy101;
- if (yych <= '`') goto yy86;
- goto yy102;
+ if (yych <= ';') goto yy25;
+ if (yych <= '`') goto yy10;
+ goto yy26;
} else {
- if (yych <= 'b') goto yy103;
- if (yych <= 'c') goto yy104;
- if (yych <= 'd') goto yy105;
- goto yy106;
+ if (yych <= 'b') goto yy27;
+ if (yych <= 'c') goto yy28;
+ if (yych <= 'd') goto yy29;
+ goto yy30;
}
}
}
@@ -796,12697 +311,13191 @@ YYCOND_i:
if (yych <= 's') {
if (yych <= 'l') {
if (yych <= 'h') {
- if (yych <= 'f') goto yy107;
- if (yych <= 'g') goto yy108;
- goto yy86;
+ if (yych <= 'f') goto yy31;
+ if (yych <= 'g') goto yy32;
+ goto yy10;
} else {
- if (yych <= 'i') goto yy109;
- if (yych <= 'k') goto yy86;
- goto yy110;
+ if (yych <= 'i') goto yy33;
+ if (yych <= 'k') goto yy10;
+ goto yy34;
}
} else {
if (yych <= 'o') {
- if (yych <= 'm') goto yy111;
- if (yych <= 'n') goto yy112;
- goto yy113;
+ if (yych <= 'm') goto yy35;
+ if (yych <= 'n') goto yy36;
+ goto yy37;
} else {
- if (yych <= 'p') goto yy114;
- if (yych <= 'q') goto yy115;
- if (yych <= 'r') goto yy116;
- goto yy117;
+ if (yych <= 'p') goto yy38;
+ if (yych <= 'q') goto yy39;
+ if (yych <= 'r') goto yy40;
+ goto yy41;
}
}
} else {
if (yych <= 0xC1) {
if (yych <= 'v') {
- if (yych <= 't') goto yy118;
- if (yych <= 'u') goto yy119;
- goto yy120;
+ if (yych <= 't') goto yy42;
+ if (yych <= 'u') goto yy43;
+ goto yy44;
} else {
- if (yych <= '~') goto yy86;
- if (yych >= 0x80) goto yy121;
+ if (yych <= '~') goto yy10;
+ if (yych >= 0x80) goto yy45;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xDF) goto yy123;
- if (yych <= 0xE0) goto yy124;
- goto yy125;
+ if (yych <= 0xDF) goto yy47;
+ if (yych <= 0xE0) goto yy48;
+ goto yy49;
} else {
- if (yych <= 0xF0) goto yy126;
- if (yych <= 0xF3) goto yy127;
- if (yych <= 0xF4) goto yy128;
- goto yy121;
+ if (yych <= 0xF0) goto yy50;
+ if (yych <= 0xF3) goto yy51;
+ if (yych <= 0xF4) goto yy52;
+ goto yy45;
}
}
}
}
-yy79:
+yy3:
++cursor_;
-yy80:
-#line 763 "src/wast-lexer.cc"
+yy4:
+#line 770 "/home/alex/code/wabt/src/wast-lexer.cc"
{ ERROR("unexpected char"); continue; }
-#line 849 "src/prebuilt/wast-lexer-gen.cc"
-yy81:
+#line 364 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy5:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 4) {
- goto yy81;
+ goto yy5;
}
-#line 761 "src/wast-lexer.cc"
+#line 768 "/home/alex/code/wabt/src/wast-lexer.cc"
{ continue; }
-#line 859 "src/prebuilt/wast-lexer-gen.cc"
-yy84:
+#line 374 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy8:
++cursor_;
-#line 760 "src/wast-lexer.cc"
+#line 767 "/home/alex/code/wabt/src/wast-lexer.cc"
{ NEWLINE; continue; }
-#line 864 "src/prebuilt/wast-lexer-gen.cc"
-yy86:
+#line 379 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy10:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy87:
+yy11:
if (yybm[0+yych] & 8) {
- goto yy86;
+ goto yy10;
}
-yy88:
-#line 762 "src/wast-lexer.cc"
+yy12:
+#line 769 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TEXT(Reserved); }
-#line 876 "src/prebuilt/wast-lexer-gen.cc"
-yy89:
+#line 391 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy13:
yyaccept = 0;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x1F) goto yy90;
- if (yych <= 0x7F) goto yy130;
- if (yych <= 0xC1) goto yy90;
- if (yych <= 0xF4) goto yy130;
-yy90:
+ if (yych <= 0x1F) goto yy14;
+ if (yych <= 0x7F) goto yy54;
+ if (yych <= 0xC1) goto yy14;
+ if (yych <= 0xF4) goto yy54;
+yy14:
BEGIN(YYCOND_BAD_TEXT);
-#line 243 "src/wast-lexer.cc"
+#line 243 "/home/alex/code/wabt/src/wast-lexer.cc"
{ continue; }
-#line 888 "src/prebuilt/wast-lexer-gen.cc"
-yy91:
+#line 403 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy15:
yych = *++cursor_;
if (yych <= '\'') {
- if (yych == '!') goto yy142;
- if (yych <= '"') goto yy88;
- goto yy142;
+ if (yych == '!') goto yy66;
+ if (yych <= '"') goto yy12;
+ goto yy66;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy88;
- goto yy142;
+ if (yych <= ')') goto yy12;
+ goto yy66;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy142;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy66;
+ goto yy12;
}
}
-yy92:
- ++cursor_;
- if ((yych = *cursor_) == ';') goto yy144;
-#line 234 "src/wast-lexer.cc"
+yy16:
+ yych = *++cursor_;
+ if (yych == ';') goto yy68;
+#line 234 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Lpar); }
-#line 910 "src/prebuilt/wast-lexer-gen.cc"
-yy94:
+#line 425 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy18:
++cursor_;
-#line 235 "src/wast-lexer.cc"
+#line 235 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Rpar); }
-#line 915 "src/prebuilt/wast-lexer-gen.cc"
-yy96:
+#line 430 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy20:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy146;
- if (yych <= '9') goto yy148;
- goto yy87;
+ if (yych <= '/') goto yy11;
+ if (yych <= '0') goto yy70;
+ if (yych <= '9') goto yy72;
+ goto yy11;
} else {
- if (yych <= 'i') goto yy150;
- if (yych == 'n') goto yy151;
- goto yy87;
+ if (yych <= 'i') goto yy74;
+ if (yych == 'n') goto yy75;
+ goto yy11;
}
-yy97:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 16) {
- goto yy99;
- }
- if (yych <= ';') {
- if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych >= '#') goto yy86;
- } else {
- if (yych <= '-') {
- if (yych >= '*') goto yy86;
- } else {
- if (yych <= '.') goto yy152;
- if (yych <= ':') goto yy86;
- }
- }
- } else {
- if (yych <= 'd') {
- if (yych <= 'E') {
- if (yych <= 'D') goto yy86;
- goto yy154;
- } else {
- if (yych == '_') goto yy155;
- goto yy86;
- }
- } else {
- if (yych <= 'w') {
- if (yych <= 'e') goto yy154;
- goto yy86;
- } else {
- if (yych <= 'x') goto yy156;
- if (yych <= '~') goto yy86;
- }
- }
- }
-yy98:
-#line 236 "src/wast-lexer.cc"
+yy21:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy80;
+ goto yy24;
+yy22:
+#line 236 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Nat, Int); }
-#line 967 "src/prebuilt/wast-lexer-gen.cc"
-yy99:
+#line 450 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy23:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
+yy24:
if (yybm[0+yych] & 16) {
- goto yy99;
+ goto yy23;
}
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy98;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy22;
+ goto yy10;
} else {
- if (yych <= ')') goto yy98;
- if (yych == '.') goto yy152;
- goto yy86;
+ if (yych <= ')') goto yy22;
+ if (yych == '.') goto yy76;
+ goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy98;
- if (yych == 'E') goto yy154;
- goto yy86;
+ if (yych <= ';') goto yy22;
+ if (yych == 'E') goto yy78;
+ goto yy10;
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy155;
- goto yy86;
+ if (yych <= '_') goto yy79;
+ goto yy10;
} else {
- if (yych <= 'e') goto yy154;
- if (yych <= '~') goto yy86;
- goto yy98;
+ if (yych <= 'e') goto yy78;
+ if (yych <= '~') goto yy10;
+ goto yy22;
}
}
}
-yy101:
+yy25:
yych = *++cursor_;
- if (yych == ';') goto yy157;
- goto yy80;
-yy102:
+ if (yych == ';') goto yy81;
+ goto yy4;
+yy26:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy159;
- if (yych <= 'm') goto yy87;
- goto yy160;
+ if (yych == 'l') goto yy83;
+ if (yych <= 'm') goto yy11;
+ goto yy84;
} else {
- if (yych <= 'r') goto yy87;
- if (yych <= 's') goto yy161;
- if (yych <= 't') goto yy162;
- goto yy87;
+ if (yych <= 'r') goto yy11;
+ if (yych <= 's') goto yy85;
+ if (yych <= 't') goto yy86;
+ goto yy11;
}
-yy103:
+yy27:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'i') goto yy163;
- goto yy87;
+ if (yych == 'i') goto yy87;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy164;
- if (yych == 'r') goto yy165;
- goto yy87;
+ if (yych <= 'l') goto yy88;
+ if (yych == 'r') goto yy89;
+ goto yy11;
}
-yy104:
+yy28:
yych = *++cursor_;
- if (yych == 'a') goto yy167;
- if (yych == 'u') goto yy168;
- goto yy87;
-yy105:
+ if (yych == 'a') goto yy91;
+ if (yych == 'u') goto yy92;
+ goto yy11;
+yy29:
yych = *++cursor_;
- if (yych == 'a') goto yy169;
- if (yych == 'r') goto yy170;
- goto yy87;
-yy106:
+ if (yych == 'a') goto yy93;
+ if (yych == 'r') goto yy94;
+ goto yy11;
+yy30:
yych = *++cursor_;
switch (yych) {
- case 'l': goto yy171;
- case 'n': goto yy172;
- case 'v': goto yy173;
- case 'x': goto yy174;
- default: goto yy87;
+ case 'l': goto yy95;
+ case 'n': goto yy96;
+ case 'v': goto yy97;
+ case 'x': goto yy98;
+ default: goto yy11;
}
-yy107:
+yy31:
yych = *++cursor_;
if (yych <= '5') {
- if (yych == '3') goto yy175;
- goto yy87;
+ if (yych == '3') goto yy99;
+ goto yy11;
} else {
- if (yych <= '6') goto yy176;
- if (yych == 'u') goto yy177;
- goto yy87;
+ if (yych <= '6') goto yy100;
+ if (yych == 'u') goto yy101;
+ goto yy11;
}
-yy108:
+yy32:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'e') goto yy178;
- goto yy87;
+ if (yych == 'e') goto yy102;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy179;
- if (yych == 'r') goto yy180;
- goto yy87;
+ if (yych <= 'l') goto yy103;
+ if (yych == 'r') goto yy104;
+ goto yy11;
}
-yy109:
+yy33:
yych = *++cursor_;
if (yych <= '7') {
if (yych <= '2') {
- if (yych == '1') goto yy181;
- goto yy87;
+ if (yych == '1') goto yy105;
+ goto yy11;
} else {
- if (yych <= '3') goto yy182;
- if (yych == '6') goto yy183;
- goto yy87;
+ if (yych <= '3') goto yy106;
+ if (yych == '6') goto yy107;
+ goto yy11;
}
} else {
if (yych <= 'f') {
- if (yych <= '8') goto yy184;
- if (yych <= 'e') goto yy87;
- goto yy185;
+ if (yych <= '8') goto yy108;
+ if (yych <= 'e') goto yy11;
+ goto yy109;
} else {
- if (yych <= 'l') goto yy87;
- if (yych <= 'm') goto yy187;
- if (yych <= 'n') goto yy188;
- goto yy87;
+ if (yych <= 'l') goto yy11;
+ if (yych <= 'm') goto yy111;
+ if (yych <= 'n') goto yy112;
+ goto yy11;
}
}
-yy110:
+yy34:
yych = *++cursor_;
- if (yych == 'o') goto yy189;
- goto yy87;
-yy111:
+ if (yych == 'o') goto yy113;
+ goto yy11;
+yy35:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy190;
- goto yy87;
+ if (yych == 'e') goto yy114;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy191;
- if (yych == 'u') goto yy192;
- goto yy87;
+ if (yych <= 'o') goto yy115;
+ if (yych == 'u') goto yy116;
+ goto yy11;
}
-yy112:
+yy36:
yych = *++cursor_;
- if (yych == 'a') goto yy193;
- if (yych == 'o') goto yy194;
- goto yy87;
-yy113:
+ if (yych == 'a') goto yy117;
+ if (yych == 'o') goto yy118;
+ goto yy11;
+yy37:
yych = *++cursor_;
- if (yych == 'f') goto yy195;
- goto yy87;
-yy114:
+ if (yych == 'f') goto yy119;
+ goto yy11;
+yy38:
yych = *++cursor_;
- if (yych == 'a') goto yy196;
- goto yy87;
-yy115:
+ if (yych == 'a') goto yy120;
+ goto yy11;
+yy39:
yych = *++cursor_;
- if (yych == 'u') goto yy197;
- goto yy87;
-yy116:
+ if (yych == 'u') goto yy121;
+ goto yy11;
+yy40:
yych = *++cursor_;
- if (yych == 'e') goto yy198;
- goto yy87;
-yy117:
+ if (yych == 'e') goto yy122;
+ goto yy11;
+yy41:
yych = *++cursor_;
if (yych <= 'g') {
- if (yych == 'e') goto yy199;
- goto yy87;
+ if (yych == 'e') goto yy123;
+ goto yy11;
} else {
- if (yych <= 'h') goto yy200;
- if (yych == 't') goto yy201;
- goto yy87;
+ if (yych <= 'h') goto yy124;
+ if (yych == 't') goto yy125;
+ goto yy11;
}
-yy118:
+yy42:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy202;
- case 'e': goto yy203;
- case 'h': goto yy204;
- case 'r': goto yy205;
- case 'y': goto yy206;
- default: goto yy87;
+ case 'a': goto yy126;
+ case 'e': goto yy127;
+ case 'h': goto yy128;
+ case 'r': goto yy129;
+ case 'y': goto yy130;
+ default: goto yy11;
}
-yy119:
+yy43:
yych = *++cursor_;
- if (yych == 'n') goto yy207;
- goto yy87;
-yy120:
+ if (yych == 'n') goto yy131;
+ goto yy11;
+yy44:
yych = *++cursor_;
- if (yych == '1') goto yy208;
- if (yych == '8') goto yy209;
- goto yy87;
-yy121:
+ if (yych == '1') goto yy132;
+ if (yych == '8') goto yy133;
+ goto yy11;
+yy45:
++cursor_;
-yy122:
-#line 764 "src/wast-lexer.cc"
+yy46:
+#line 771 "/home/alex/code/wabt/src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
-#line 1158 "src/prebuilt/wast-lexer-gen.cc"
-yy123:
+#line 642 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy47:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy122;
- if (yych <= 0xBF) goto yy79;
- goto yy122;
-yy124:
+ if (yych <= 0x7F) goto yy46;
+ if (yych <= 0xBF) goto yy3;
+ goto yy46;
+yy48:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy122;
- if (yych <= 0xBF) goto yy210;
- goto yy122;
-yy125:
+ if (yych <= 0x9F) goto yy46;
+ if (yych <= 0xBF) goto yy134;
+ goto yy46;
+yy49:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy122;
- if (yych <= 0xBF) goto yy210;
- goto yy122;
-yy126:
+ if (yych <= 0x7F) goto yy46;
+ if (yych <= 0xBF) goto yy134;
+ goto yy46;
+yy50:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy122;
- if (yych <= 0xBF) goto yy211;
- goto yy122;
-yy127:
+ if (yych <= 0x8F) goto yy46;
+ if (yych <= 0xBF) goto yy135;
+ goto yy46;
+yy51:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy122;
- if (yych <= 0xBF) goto yy211;
- goto yy122;
-yy128:
+ if (yych <= 0x7F) goto yy46;
+ if (yych <= 0xBF) goto yy135;
+ goto yy46;
+yy52:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy122;
- if (yych <= 0x8F) goto yy211;
- goto yy122;
-yy129:
+ if (yych <= 0x7F) goto yy46;
+ if (yych <= 0x8F) goto yy135;
+ goto yy46;
+yy53:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy130:
+yy54:
if (yybm[0+yych] & 32) {
- goto yy129;
+ goto yy53;
}
if (yych <= 0xDF) {
if (yych <= '"') {
- if (yych >= ' ') goto yy132;
+ if (yych >= ' ') goto yy56;
} else {
- if (yych <= '\\') goto yy134;
- if (yych >= 0xC2) goto yy135;
+ if (yych <= '\\') goto yy58;
+ if (yych >= 0xC2) goto yy59;
}
} else {
if (yych <= 0xF0) {
- if (yych <= 0xE0) goto yy136;
- if (yych <= 0xEF) goto yy137;
- goto yy138;
+ if (yych <= 0xE0) goto yy60;
+ if (yych <= 0xEF) goto yy61;
+ goto yy62;
} else {
- if (yych <= 0xF3) goto yy139;
- if (yych <= 0xF4) goto yy140;
+ if (yych <= 0xF3) goto yy63;
+ if (yych <= 0xF4) goto yy64;
}
}
-yy131:
+yy55:
cursor_ = marker_;
if (yyaccept == 0) {
- goto yy90;
+ goto yy14;
} else {
- goto yy122;
+ goto yy46;
}
-yy132:
+yy56:
++cursor_;
-#line 242 "src/wast-lexer.cc"
+#line 242 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TEXT(Text); }
-#line 1230 "src/prebuilt/wast-lexer-gen.cc"
-yy134:
+#line 714 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy58:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '[') {
if (yych <= '\'') {
- if (yych == '"') goto yy129;
- if (yych <= '&') goto yy131;
- goto yy129;
+ if (yych == '"') goto yy53;
+ if (yych <= '&') goto yy55;
+ goto yy53;
} else {
if (yych <= '9') {
- if (yych <= '/') goto yy131;
- goto yy212;
+ if (yych <= '/') goto yy55;
+ goto yy136;
} else {
- if (yych <= '@') goto yy131;
- if (yych <= 'F') goto yy212;
- goto yy131;
+ if (yych <= '@') goto yy55;
+ if (yych <= 'F') goto yy136;
+ goto yy55;
}
}
} else {
if (yych <= 'n') {
if (yych <= '`') {
- if (yych <= '\\') goto yy129;
- goto yy131;
+ if (yych <= '\\') goto yy53;
+ goto yy55;
} else {
- if (yych <= 'f') goto yy212;
- if (yych <= 'm') goto yy131;
- goto yy129;
+ if (yych <= 'f') goto yy136;
+ if (yych <= 'm') goto yy55;
+ goto yy53;
}
} else {
if (yych <= 'r') {
- if (yych <= 'q') goto yy131;
- goto yy129;
+ if (yych <= 'q') goto yy55;
+ goto yy53;
} else {
- if (yych == 't') goto yy129;
- goto yy131;
+ if (yych == 't') goto yy53;
+ goto yy55;
}
}
}
-yy135:
+yy59:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0xBF) goto yy129;
- goto yy131;
-yy136:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0xBF) goto yy53;
+ goto yy55;
+yy60:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x9F) goto yy131;
- if (yych <= 0xBF) goto yy135;
- goto yy131;
-yy137:
+ if (yych <= 0x9F) goto yy55;
+ if (yych <= 0xBF) goto yy59;
+ goto yy55;
+yy61:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0xBF) goto yy135;
- goto yy131;
-yy138:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0xBF) goto yy59;
+ goto yy55;
+yy62:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x8F) goto yy131;
- if (yych <= 0xBF) goto yy137;
- goto yy131;
-yy139:
+ if (yych <= 0x8F) goto yy55;
+ if (yych <= 0xBF) goto yy61;
+ goto yy55;
+yy63:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0xBF) goto yy137;
- goto yy131;
-yy140:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0xBF) goto yy61;
+ goto yy55;
+yy64:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0x8F) goto yy137;
- goto yy131;
-yy141:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0x8F) goto yy61;
+ goto yy55;
+yy65:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy142:
+yy66:
if (yybm[0+yych] & 64) {
- goto yy141;
+ goto yy65;
}
- if (yych <= ')') goto yy143;
- if (yych <= ',') goto yy86;
- if (yych <= ';') goto yy143;
- if (yych <= '}') goto yy86;
-yy143:
-#line 745 "src/wast-lexer.cc"
+ if (yych <= ')') goto yy67;
+ if (yych <= ',') goto yy10;
+ if (yych <= ';') goto yy67;
+ if (yych <= '}') goto yy10;
+yy67:
+#line 752 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TEXT(Var); }
-#line 1327 "src/prebuilt/wast-lexer-gen.cc"
-yy144:
+#line 811 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy68:
++cursor_;
BEGIN(YYCOND_BLOCK_COMMENT);
-#line 751 "src/wast-lexer.cc"
+#line 758 "/home/alex/code/wabt/src/wast-lexer.cc"
{ COMMENT_NESTING = 1; continue; }
-#line 1333 "src/prebuilt/wast-lexer-gen.cc"
-yy146:
- ++cursor_;
- if ((yych = *cursor_) <= ':') {
- if (yych <= ')') {
- if (yych <= '!') {
- if (yych >= '!') goto yy86;
- } else {
- if (yych <= '"') goto yy147;
- if (yych <= '\'') goto yy86;
- }
- } else {
- if (yych <= '.') {
- if (yych <= '-') goto yy86;
- goto yy152;
- } else {
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy148;
- goto yy86;
- }
- }
- } else {
- if (yych <= '_') {
- if (yych <= 'D') {
- if (yych >= '<') goto yy86;
- } else {
- if (yych <= 'E') goto yy154;
- if (yych <= '^') goto yy86;
- goto yy213;
- }
- } else {
- if (yych <= 'w') {
- if (yych == 'e') goto yy154;
- goto yy86;
- } else {
- if (yych <= 'x') goto yy214;
- if (yych <= '~') goto yy86;
- }
- }
- }
-yy147:
-#line 237 "src/wast-lexer.cc"
+#line 817 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy70:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy138;
+ goto yy73;
+yy71:
+#line 237 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Int, Int); }
-#line 1376 "src/prebuilt/wast-lexer-gen.cc"
-yy148:
+#line 825 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy72:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
+yy73:
if (yych <= '9') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy147;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy71;
+ goto yy10;
} else {
if (yych <= '-') {
- if (yych <= ')') goto yy147;
- goto yy86;
+ if (yych <= ')') goto yy71;
+ goto yy10;
} else {
- if (yych <= '.') goto yy152;
- if (yych <= '/') goto yy86;
- goto yy148;
+ if (yych <= '.') goto yy76;
+ if (yych <= '/') goto yy10;
+ goto yy72;
}
}
} else {
if (yych <= '^') {
if (yych <= ';') {
- if (yych <= ':') goto yy86;
- goto yy147;
+ if (yych <= ':') goto yy10;
+ goto yy71;
} else {
- if (yych == 'E') goto yy154;
- goto yy86;
+ if (yych == 'E') goto yy78;
+ goto yy10;
}
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy213;
- goto yy86;
+ if (yych <= '_') goto yy137;
+ goto yy10;
} else {
- if (yych <= 'e') goto yy154;
- if (yych <= '~') goto yy86;
- goto yy147;
+ if (yych <= 'e') goto yy78;
+ if (yych <= '~') goto yy10;
+ goto yy71;
}
}
}
-yy150:
+yy74:
yych = *++cursor_;
- if (yych == 'n') goto yy215;
- goto yy87;
-yy151:
+ if (yych == 'n') goto yy139;
+ goto yy11;
+yy75:
yych = *++cursor_;
- if (yych == 'a') goto yy193;
- goto yy87;
-yy152:
- ++cursor_;
- if ((yych = *cursor_) <= '9') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy153;
- if (yych <= '/') goto yy86;
- goto yy216;
- }
- } else {
- if (yych <= 'E') {
- if (yych == ';') goto yy153;
- if (yych <= 'D') goto yy86;
- goto yy154;
- } else {
- if (yych == 'e') goto yy154;
- if (yych <= '~') goto yy86;
- }
- }
-yy153:
-#line 238 "src/wast-lexer.cc"
+ if (yych == 'a') goto yy117;
+ goto yy11;
+yy76:
+ yych = *++cursor_;
+ if (yych == '_') goto yy10;
+ goto yy141;
+yy77:
+#line 238 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Float); }
-#line 1448 "src/prebuilt/wast-lexer-gen.cc"
-yy154:
+#line 881 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy78:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy218;
- goto yy87;
+ if (yych == '+') goto yy142;
+ goto yy11;
} else {
- if (yych <= '-') goto yy218;
- if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy219;
- goto yy87;
+ if (yych <= '-') goto yy142;
+ if (yych <= '/') goto yy11;
+ if (yych <= '9') goto yy143;
+ goto yy11;
}
-yy155:
+yy79:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 16) {
- goto yy99;
+ goto yy23;
}
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy88;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy12;
+ goto yy10;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy88;
- goto yy86;
+ if (yych <= ')') goto yy12;
+ goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy156:
+yy80:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy221;
+ goto yy145;
}
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy88;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy12;
+ goto yy10;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy88;
- goto yy86;
+ if (yych <= ')') goto yy12;
+ goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy157:
+yy81:
++cursor_;
BEGIN(YYCOND_LINE_COMMENT);
-#line 748 "src/wast-lexer.cc"
+#line 755 "/home/alex/code/wabt/src/wast-lexer.cc"
{ continue; }
-#line 1507 "src/prebuilt/wast-lexer-gen.cc"
-yy159:
+#line 940 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy83:
yych = *++cursor_;
- if (yych == 'i') goto yy223;
- goto yy87;
-yy160:
+ if (yych == 'i') goto yy147;
+ goto yy11;
+yy84:
yych = *++cursor_;
- if (yych == 'y') goto yy224;
- goto yy87;
-yy161:
+ if (yych == 'y') goto yy148;
+ goto yy11;
+yy85:
yych = *++cursor_;
- if (yych == 's') goto yy225;
- goto yy87;
-yy162:
+ if (yych == 's') goto yy149;
+ goto yy11;
+yy86:
yych = *++cursor_;
- if (yych == 'o') goto yy226;
- goto yy87;
-yy163:
+ if (yych == 'o') goto yy150;
+ goto yy11;
+yy87:
yych = *++cursor_;
- if (yych == 'n') goto yy227;
- goto yy87;
-yy164:
+ if (yych == 'n') goto yy151;
+ goto yy11;
+yy88:
yych = *++cursor_;
- if (yych == 'o') goto yy228;
- goto yy87;
-yy165:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'o') goto yy152;
+ goto yy11;
+yy89:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy166;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy90;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy229;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy153;
+ if (yych <= '~') goto yy10;
}
}
-yy166:
-#line 268 "src/wast-lexer.cc"
+yy90:
+#line 269 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Br); }
-#line 1552 "src/prebuilt/wast-lexer-gen.cc"
-yy167:
+#line 985 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy91:
yych = *++cursor_;
- if (yych == 'l') goto yy230;
- if (yych == 't') goto yy231;
- goto yy87;
-yy168:
+ if (yych == 'l') goto yy154;
+ if (yych == 't') goto yy155;
+ goto yy11;
+yy92:
yych = *++cursor_;
- if (yych == 'r') goto yy232;
- goto yy87;
-yy169:
+ if (yych == 'r') goto yy156;
+ goto yy11;
+yy93:
yych = *++cursor_;
- if (yych == 't') goto yy233;
- goto yy87;
-yy170:
+ if (yych == 't') goto yy157;
+ goto yy11;
+yy94:
yych = *++cursor_;
- if (yych == 'o') goto yy234;
- goto yy87;
-yy171:
+ if (yych == 'o') goto yy158;
+ goto yy11;
+yy95:
yych = *++cursor_;
- if (yych == 'e') goto yy235;
- if (yych == 's') goto yy236;
- goto yy87;
-yy172:
+ if (yych == 'e') goto yy159;
+ if (yych == 's') goto yy160;
+ goto yy11;
+yy96:
yych = *++cursor_;
- if (yych == 'd') goto yy237;
- goto yy87;
-yy173:
+ if (yych == 'd') goto yy161;
+ goto yy11;
+yy97:
yych = *++cursor_;
- if (yych == 'e') goto yy239;
- goto yy87;
-yy174:
+ if (yych == 'e') goto yy163;
+ goto yy11;
+yy98:
yych = *++cursor_;
- if (yych == 'p') goto yy240;
- goto yy87;
-yy175:
+ if (yych == 'p') goto yy164;
+ goto yy11;
+yy99:
yych = *++cursor_;
- if (yych == '2') goto yy241;
- goto yy87;
-yy176:
+ if (yych == '2') goto yy165;
+ goto yy11;
+yy100:
yych = *++cursor_;
- if (yych == '4') goto yy243;
- goto yy87;
-yy177:
+ if (yych == '4') goto yy167;
+ goto yy11;
+yy101:
yych = *++cursor_;
- if (yych == 'n') goto yy245;
- goto yy87;
-yy178:
+ if (yych == 'n') goto yy169;
+ goto yy11;
+yy102:
yych = *++cursor_;
- if (yych == 't') goto yy246;
- goto yy87;
-yy179:
+ if (yych == 't') goto yy170;
+ goto yy11;
+yy103:
yych = *++cursor_;
- if (yych == 'o') goto yy248;
- goto yy87;
-yy180:
+ if (yych == 'o') goto yy172;
+ goto yy11;
+yy104:
yych = *++cursor_;
- if (yych == 'o') goto yy249;
- goto yy87;
-yy181:
+ if (yych == 'o') goto yy173;
+ goto yy11;
+yy105:
yych = *++cursor_;
- if (yych == '6') goto yy250;
- goto yy87;
-yy182:
+ if (yych == '6') goto yy174;
+ goto yy11;
+yy106:
yych = *++cursor_;
- if (yych == '2') goto yy251;
- goto yy87;
-yy183:
+ if (yych == '2') goto yy175;
+ goto yy11;
+yy107:
yych = *++cursor_;
- if (yych == '4') goto yy253;
- goto yy87;
-yy184:
+ if (yych == '4') goto yy177;
+ goto yy11;
+yy108:
yych = *++cursor_;
- if (yych == 'x') goto yy255;
- goto yy87;
-yy185:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'x') goto yy179;
+ goto yy11;
+yy109:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 264 "src/wast-lexer.cc"
+#line 265 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(If); }
-#line 1634 "src/prebuilt/wast-lexer-gen.cc"
-yy187:
+#line 1067 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy111:
yych = *++cursor_;
- if (yych == 'p') goto yy256;
- goto yy87;
-yy188:
+ if (yych == 'p') goto yy180;
+ goto yy11;
+yy112:
yych = *++cursor_;
- if (yych == 'f') goto yy257;
- if (yych == 'v') goto yy259;
- goto yy87;
-yy189:
+ if (yych == 'f') goto yy181;
+ if (yych == 'v') goto yy183;
+ goto yy11;
+yy113:
yych = *++cursor_;
- if (yych == 'c') goto yy260;
- if (yych == 'o') goto yy261;
- goto yy87;
-yy190:
+ if (yych == 'c') goto yy184;
+ if (yych == 'o') goto yy185;
+ goto yy11;
+yy114:
yych = *++cursor_;
- if (yych == 'm') goto yy262;
- goto yy87;
-yy191:
+ if (yych == 'm') goto yy186;
+ goto yy11;
+yy115:
yych = *++cursor_;
- if (yych == 'd') goto yy263;
- goto yy87;
-yy192:
+ if (yych == 'd') goto yy187;
+ goto yy11;
+yy116:
yych = *++cursor_;
- if (yych == 't') goto yy264;
- goto yy87;
-yy193:
+ if (yych == 't') goto yy188;
+ goto yy11;
+yy117:
yych = *++cursor_;
- if (yych == 'n') goto yy266;
- goto yy87;
-yy194:
+ if (yych == 'n') goto yy190;
+ goto yy11;
+yy118:
yych = *++cursor_;
- if (yych == 'p') goto yy268;
- goto yy87;
-yy195:
+ if (yych == 'p') goto yy192;
+ goto yy11;
+yy119:
yych = *++cursor_;
- if (yych == 'f') goto yy270;
- goto yy87;
-yy196:
+ if (yych == 'f') goto yy194;
+ goto yy11;
+yy120:
yych = *++cursor_;
- if (yych <= 'q') goto yy87;
- if (yych <= 'r') goto yy271;
- if (yych <= 's') goto yy272;
- goto yy87;
-yy197:
+ if (yych <= 'q') goto yy11;
+ if (yych <= 'r') goto yy195;
+ if (yych <= 's') goto yy196;
+ goto yy11;
+yy121:
yych = *++cursor_;
- if (yych == 'o') goto yy273;
- goto yy87;
-yy198:
+ if (yych == 'o') goto yy197;
+ goto yy11;
+yy122:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'g') goto yy274;
- goto yy87;
+ if (yych <= 'g') {
+ if (yych <= 'e') goto yy11;
+ if (yych <= 'f') goto yy198;
+ goto yy199;
} else {
- if (yych <= 's') goto yy275;
- if (yych <= 't') goto yy276;
- goto yy87;
+ if (yych <= 'r') goto yy11;
+ if (yych <= 's') goto yy200;
+ if (yych <= 't') goto yy201;
+ goto yy11;
}
-yy199:
+yy123:
yych = *++cursor_;
- if (yych == 'l') goto yy277;
- if (yych == 't') goto yy278;
- goto yy87;
-yy200:
+ if (yych == 'l') goto yy202;
+ if (yych == 't') goto yy203;
+ goto yy11;
+yy124:
yych = *++cursor_;
- if (yych == 'a') goto yy279;
- goto yy87;
-yy201:
+ if (yych == 'a') goto yy204;
+ goto yy11;
+yy125:
yych = *++cursor_;
- if (yych == 'a') goto yy280;
- goto yy87;
-yy202:
+ if (yych == 'a') goto yy205;
+ goto yy11;
+yy126:
yych = *++cursor_;
- if (yych == 'b') goto yy281;
- goto yy87;
-yy203:
+ if (yych == 'b') goto yy206;
+ goto yy11;
+yy127:
yych = *++cursor_;
- if (yych == 'e') goto yy282;
- goto yy87;
-yy204:
+ if (yych == 'e') goto yy207;
+ goto yy11;
+yy128:
yych = *++cursor_;
- if (yych == 'e') goto yy283;
- if (yych == 'r') goto yy284;
- goto yy87;
-yy205:
+ if (yych == 'e') goto yy208;
+ if (yych == 'r') goto yy209;
+ goto yy11;
+yy129:
yych = *++cursor_;
- if (yych == 'y') goto yy285;
- goto yy87;
-yy206:
+ if (yych == 'y') goto yy210;
+ goto yy11;
+yy130:
yych = *++cursor_;
- if (yych == 'p') goto yy287;
- goto yy87;
-yy207:
+ if (yych == 'p') goto yy212;
+ goto yy11;
+yy131:
yych = *++cursor_;
- if (yych == 'r') goto yy288;
- goto yy87;
-yy208:
+ if (yych == 'r') goto yy213;
+ goto yy11;
+yy132:
yych = *++cursor_;
- if (yych == '2') goto yy289;
- goto yy87;
-yy209:
+ if (yych == '2') goto yy214;
+ goto yy11;
+yy133:
yych = *++cursor_;
- if (yych == 'x') goto yy290;
- goto yy87;
-yy210:
+ if (yych == 'x') goto yy215;
+ goto yy11;
+yy134:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0xBF) goto yy79;
- goto yy131;
-yy211:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0xBF) goto yy3;
+ goto yy55;
+yy135:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy131;
- if (yych <= 0xBF) goto yy210;
- goto yy131;
-yy212:
+ if (yych <= 0x7F) goto yy55;
+ if (yych <= 0xBF) goto yy134;
+ goto yy55;
+yy136:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '@') {
- if (yych <= '/') goto yy131;
- if (yych <= '9') goto yy129;
- goto yy131;
+ if (yych <= '/') goto yy55;
+ if (yych <= '9') goto yy53;
+ goto yy55;
} else {
- if (yych <= 'F') goto yy129;
- if (yych <= '`') goto yy131;
- if (yych <= 'f') goto yy129;
- goto yy131;
+ if (yych <= 'F') goto yy53;
+ if (yych <= '`') goto yy55;
+ if (yych <= 'f') goto yy53;
+ goto yy55;
}
-yy213:
+yy137:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy148;
- goto yy86;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy72;
+ goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy214:
+yy138:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy88;
+ if (yych == '!') goto yy10;
+ goto yy12;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy88;
- if (yych <= '/') goto yy86;
- goto yy291;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy12;
+ if (yych <= '/') goto yy10;
+ goto yy216;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy88;
- if (yych <= '@') goto yy86;
- goto yy291;
+ if (yych == ';') goto yy12;
+ if (yych <= '@') goto yy10;
+ goto yy216;
} else {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy291;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy216;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy215:
+yy139:
yych = *++cursor_;
- if (yych == 'f') goto yy257;
- goto yy87;
-yy216:
+ if (yych == 'f') goto yy181;
+ goto yy11;
+yy140:
++cursor_;
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
+yy141:
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy153;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy77;
+ goto yy10;
} else {
- if (yych <= ')') goto yy153;
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy216;
- goto yy86;
+ if (yych <= ')') goto yy77;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy140;
+ goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy153;
- if (yych == 'E') goto yy154;
- goto yy86;
+ if (yych <= ';') goto yy77;
+ if (yych == 'E') goto yy78;
+ goto yy10;
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy293;
- goto yy86;
+ if (yych <= '_') goto yy218;
+ goto yy10;
} else {
- if (yych <= 'e') goto yy154;
- if (yych <= '~') goto yy86;
- goto yy153;
+ if (yych <= 'e') goto yy78;
+ if (yych <= '~') goto yy10;
+ goto yy77;
}
}
}
-yy218:
+yy142:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych >= ':') goto yy86;
+ if (yych <= '/') goto yy10;
+ if (yych >= ':') goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy219:
+yy143:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy153;
+ if (yych == '!') goto yy10;
+ goto yy77;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy153;
- goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy77;
+ goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy219;
- if (yych <= ':') goto yy86;
- goto yy153;
+ if (yych <= '9') goto yy143;
+ if (yych <= ':') goto yy10;
+ goto yy77;
} else {
- if (yych == '_') goto yy218;
- if (yych <= '~') goto yy86;
- goto yy153;
+ if (yych == '_') goto yy142;
+ if (yych <= '~') goto yy10;
+ goto yy77;
}
}
-yy221:
+yy145:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy221;
+ goto yy145;
}
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy98;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy22;
+ goto yy10;
} else {
- if (yych <= ')') goto yy98;
- if (yych == '.') goto yy294;
- goto yy86;
+ if (yych <= ')') goto yy22;
+ if (yych == '.') goto yy219;
+ goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy98;
- if (yych == 'P') goto yy296;
- goto yy86;
+ if (yych <= ';') goto yy22;
+ if (yych == 'P') goto yy221;
+ goto yy10;
} else {
if (yych <= 'o') {
- if (yych <= '_') goto yy156;
- goto yy86;
+ if (yych <= '_') goto yy80;
+ goto yy10;
} else {
- if (yych <= 'p') goto yy296;
- if (yych <= '~') goto yy86;
- goto yy98;
+ if (yych <= 'p') goto yy221;
+ if (yych <= '~') goto yy10;
+ goto yy22;
}
}
}
-yy223:
+yy147:
yych = *++cursor_;
- if (yych == 'g') goto yy297;
- goto yy87;
-yy224:
+ if (yych == 'g') goto yy222;
+ goto yy11;
+yy148:
yych = *++cursor_;
- if (yych == 'f') goto yy298;
- goto yy87;
-yy225:
+ if (yych == 'f') goto yy223;
+ if (yych == 'r') goto yy224;
+ goto yy11;
+yy149:
yych = *++cursor_;
- if (yych == 'e') goto yy299;
- goto yy87;
-yy226:
+ if (yych == 'e') goto yy225;
+ goto yy11;
+yy150:
yych = *++cursor_;
- if (yych == 'm') goto yy300;
- goto yy87;
-yy227:
+ if (yych == 'm') goto yy226;
+ goto yy11;
+yy151:
yych = *++cursor_;
- if (yych == 'a') goto yy301;
- goto yy87;
-yy228:
+ if (yych == 'a') goto yy227;
+ goto yy11;
+yy152:
yych = *++cursor_;
- if (yych == 'c') goto yy302;
- goto yy87;
-yy229:
+ if (yych == 'c') goto yy228;
+ goto yy11;
+yy153:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'i') goto yy303;
- goto yy87;
+ if (yych == 'i') goto yy229;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy304;
- if (yych == 't') goto yy305;
- goto yy87;
+ if (yych <= 'o') goto yy230;
+ if (yych == 't') goto yy231;
+ goto yy11;
}
-yy230:
+yy154:
yych = *++cursor_;
- if (yych == 'l') goto yy306;
- goto yy87;
-yy231:
+ if (yych == 'l') goto yy232;
+ goto yy11;
+yy155:
yych = *++cursor_;
- if (yych == 'c') goto yy308;
- goto yy87;
-yy232:
+ if (yych == 'c') goto yy234;
+ goto yy11;
+yy156:
yych = *++cursor_;
- if (yych == 'r') goto yy309;
- goto yy87;
-yy233:
+ if (yych == 'r') goto yy235;
+ goto yy11;
+yy157:
yych = *++cursor_;
- if (yych == 'a') goto yy310;
- goto yy87;
-yy234:
+ if (yych == 'a') goto yy236;
+ goto yy11;
+yy158:
yych = *++cursor_;
- if (yych == 'p') goto yy312;
- goto yy87;
-yy235:
+ if (yych == 'p') goto yy238;
+ goto yy11;
+yy159:
yych = *++cursor_;
- if (yych == 'm') goto yy314;
- goto yy87;
-yy236:
+ if (yych == 'm') goto yy240;
+ goto yy11;
+yy160:
yych = *++cursor_;
- if (yych == 'e') goto yy316;
- goto yy87;
-yy237:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy242;
+ goto yy11;
+yy161:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 274 "src/wast-lexer.cc"
+#line 275 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(End); }
-#line 1997 "src/prebuilt/wast-lexer-gen.cc"
-yy239:
+#line 1434 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy163:
yych = *++cursor_;
- if (yych == 'n') goto yy318;
- goto yy87;
-yy240:
+ if (yych == 'n') goto yy244;
+ goto yy11;
+yy164:
yych = *++cursor_;
- if (yych == 'o') goto yy319;
- goto yy87;
-yy241:
- ++cursor_;
- if ((yych = *cursor_) <= '-') {
+ if (yych == 'o') goto yy245;
+ goto yy11;
+yy165:
+ yych = *++cursor_;
+ if (yych <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy320;
- if (yych <= ':') goto yy86;
+ if (yych <= '.') goto yy246;
+ if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy321;
- if (yych <= '~') goto yy86;
+ if (yych == 'x') goto yy247;
+ if (yych <= '~') goto yy10;
}
}
-#line 257 "src/wast-lexer.cc"
+#line 257 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F32); }
-#line 2026 "src/prebuilt/wast-lexer-gen.cc"
-yy243:
- ++cursor_;
- if ((yych = *cursor_) <= '-') {
+#line 1463 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy167:
+ yych = *++cursor_;
+ if (yych <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy322;
- if (yych <= ':') goto yy86;
+ if (yych <= '.') goto yy248;
+ if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy323;
- if (yych <= '~') goto yy86;
+ if (yych == 'x') goto yy249;
+ if (yych <= '~') goto yy10;
}
}
-#line 258 "src/wast-lexer.cc"
+#line 258 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F64); }
-#line 2047 "src/prebuilt/wast-lexer-gen.cc"
-yy245:
+#line 1484 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy169:
yych = *++cursor_;
- if (yych == 'c') goto yy324;
- goto yy87;
-yy246:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'c') goto yy250;
+ goto yy11;
+yy170:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy247;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy171;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy326;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy252;
+ if (yych <= '~') goto yy10;
}
}
-yy247:
-#line 731 "src/wast-lexer.cc"
+yy171:
+#line 738 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Get); }
-#line 2072 "src/prebuilt/wast-lexer-gen.cc"
-yy248:
+#line 1509 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy172:
yych = *++cursor_;
- if (yych == 'b') goto yy327;
- goto yy87;
-yy249:
+ if (yych == 'b') goto yy253;
+ goto yy11;
+yy173:
yych = *++cursor_;
- if (yych == 'w') goto yy328;
- goto yy87;
-yy250:
+ if (yych == 'w') goto yy254;
+ goto yy11;
+yy174:
yych = *++cursor_;
- if (yych == 'x') goto yy329;
- goto yy87;
-yy251:
- ++cursor_;
- if ((yych = *cursor_) <= '-') {
+ if (yych == 'x') goto yy255;
+ goto yy11;
+yy175:
+ yych = *++cursor_;
+ if (yych <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy330;
- if (yych <= ':') goto yy86;
+ if (yych <= '.') goto yy256;
+ if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy331;
- if (yych <= '~') goto yy86;
+ if (yych == 'x') goto yy257;
+ if (yych <= '~') goto yy10;
}
}
-#line 255 "src/wast-lexer.cc"
+#line 255 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I32); }
-#line 2105 "src/prebuilt/wast-lexer-gen.cc"
-yy253:
- ++cursor_;
- if ((yych = *cursor_) <= '-') {
+#line 1542 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy177:
+ yych = *++cursor_;
+ if (yych <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy332;
- if (yych <= ':') goto yy86;
+ if (yych <= '.') goto yy258;
+ if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy333;
- if (yych <= '~') goto yy86;
+ if (yych == 'x') goto yy259;
+ if (yych <= '~') goto yy10;
}
}
-#line 256 "src/wast-lexer.cc"
+#line 256 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I64); }
-#line 2126 "src/prebuilt/wast-lexer-gen.cc"
-yy255:
+#line 1563 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy179:
yych = *++cursor_;
- if (yych == '1') goto yy334;
- goto yy87;
-yy256:
+ if (yych == '1') goto yy260;
+ goto yy11;
+yy180:
yych = *++cursor_;
- if (yych == 'o') goto yy335;
- goto yy87;
-yy257:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy261;
+ goto yy11;
+yy181:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 240 "src/wast-lexer.cc"
+#line 240 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Infinity); }
-#line 2142 "src/prebuilt/wast-lexer-gen.cc"
-yy259:
+#line 1579 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy183:
yych = *++cursor_;
- if (yych == 'o') goto yy336;
- goto yy87;
-yy260:
+ if (yych == 'o') goto yy262;
+ goto yy11;
+yy184:
yych = *++cursor_;
- if (yych == 'a') goto yy337;
- goto yy87;
-yy261:
+ if (yych == 'a') goto yy263;
+ goto yy11;
+yy185:
yych = *++cursor_;
- if (yych == 'p') goto yy338;
- goto yy87;
-yy262:
+ if (yych == 'p') goto yy264;
+ goto yy11;
+yy186:
yych = *++cursor_;
- if (yych == 'o') goto yy340;
- goto yy87;
-yy263:
+ if (yych == 'o') goto yy266;
+ goto yy11;
+yy187:
yych = *++cursor_;
- if (yych == 'u') goto yy341;
- goto yy87;
-yy264:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'u') goto yy267;
+ goto yy11;
+yy188:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 261 "src/wast-lexer.cc"
+#line 262 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Mut); }
-#line 2170 "src/prebuilt/wast-lexer-gen.cc"
-yy266:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+#line 1607 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy190:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy267;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy191;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych <= '9') goto yy86;
- goto yy342;
+ if (yych <= '9') goto yy10;
+ goto yy268;
} else {
- if (yych <= ';') goto yy267;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy191;
+ if (yych <= '~') goto yy10;
}
}
-yy267:
-#line 241 "src/wast-lexer.cc"
+yy191:
+#line 241 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Nan); }
-#line 2192 "src/prebuilt/wast-lexer-gen.cc"
-yy268:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 1629 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy192:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 262 "src/wast-lexer.cc"
+#line 263 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Nop); }
-#line 2200 "src/prebuilt/wast-lexer-gen.cc"
-yy270:
+#line 1637 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy194:
yych = *++cursor_;
- if (yych == 's') goto yy343;
- goto yy87;
-yy271:
+ if (yych == 's') goto yy269;
+ goto yy11;
+yy195:
yych = *++cursor_;
- if (yych == 'a') goto yy344;
- goto yy87;
-yy272:
+ if (yych == 'a') goto yy270;
+ goto yy11;
+yy196:
yych = *++cursor_;
- if (yych == 's') goto yy345;
- goto yy87;
-yy273:
+ if (yych == 's') goto yy271;
+ goto yy11;
+yy197:
yych = *++cursor_;
- if (yych == 't') goto yy346;
- goto yy87;
-yy274:
+ if (yych == 't') goto yy272;
+ goto yy11;
+yy198:
yych = *++cursor_;
- if (yych == 'i') goto yy347;
- goto yy87;
-yy275:
+ if (yych == '.') goto yy273;
+ goto yy11;
+yy199:
yych = *++cursor_;
- if (yych == 'u') goto yy348;
- goto yy87;
-yy276:
+ if (yych == 'i') goto yy274;
+ goto yy11;
+yy200:
yych = *++cursor_;
- if (yych == 'h') goto yy349;
- if (yych == 'u') goto yy350;
- goto yy87;
-yy277:
+ if (yych == 'u') goto yy275;
+ goto yy11;
+yy201:
yych = *++cursor_;
- if (yych == 'e') goto yy351;
- goto yy87;
-yy278:
+ if (yych == 'h') goto yy276;
+ if (yych == 'u') goto yy277;
+ goto yy11;
+yy202:
yych = *++cursor_;
- if (yych == '_') goto yy352;
- goto yy87;
-yy279:
+ if (yych == 'e') goto yy278;
+ goto yy11;
+yy203:
yych = *++cursor_;
- if (yych == 'r') goto yy353;
- goto yy87;
-yy280:
+ if (yych == '_') goto yy279;
+ goto yy11;
+yy204:
yych = *++cursor_;
- if (yych == 'r') goto yy354;
- goto yy87;
-yy281:
+ if (yych == 'r') goto yy280;
+ goto yy11;
+yy205:
yych = *++cursor_;
- if (yych == 'l') goto yy355;
- goto yy87;
-yy282:
+ if (yych == 'r') goto yy281;
+ goto yy11;
+yy206:
yych = *++cursor_;
- if (yych == '_') goto yy356;
- goto yy87;
-yy283:
+ if (yych == 'l') goto yy282;
+ goto yy11;
+yy207:
yych = *++cursor_;
- if (yych == 'n') goto yy357;
- goto yy87;
-yy284:
+ if (yych == '_') goto yy283;
+ goto yy11;
+yy208:
yych = *++cursor_;
- if (yych == 'o') goto yy359;
- goto yy87;
-yy285:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy284;
+ goto yy11;
+yy209:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy286;
+ goto yy11;
+yy210:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 740 "src/wast-lexer.cc"
+#line 747 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Try); }
-#line 2269 "src/prebuilt/wast-lexer-gen.cc"
-yy287:
+#line 1710 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy212:
yych = *++cursor_;
- if (yych == 'e') goto yy360;
- goto yy87;
-yy288:
+ if (yych == 'e') goto yy287;
+ goto yy11;
+yy213:
yych = *++cursor_;
- if (yych == 'e') goto yy362;
- goto yy87;
-yy289:
+ if (yych == 'e') goto yy289;
+ goto yy11;
+yy214:
yych = *++cursor_;
- if (yych == '8') goto yy363;
- goto yy87;
-yy290:
+ if (yych == '8') goto yy290;
+ goto yy11;
+yy215:
yych = *++cursor_;
- if (yych == '1') goto yy365;
- goto yy87;
-yy291:
+ if (yych == '1') goto yy292;
+ goto yy11;
+yy216:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
if (yych <= ';') {
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy147;
- goto yy86;
+ if (yych <= ' ') goto yy71;
+ goto yy10;
} else {
- if (yych <= '"') goto yy147;
- if (yych <= '\'') goto yy86;
- goto yy147;
+ if (yych <= '"') goto yy71;
+ if (yych <= '\'') goto yy10;
+ goto yy71;
}
} else {
if (yych <= '/') {
- if (yych == '.') goto yy294;
- goto yy86;
+ if (yych == '.') goto yy219;
+ goto yy10;
} else {
- if (yych <= '9') goto yy291;
- if (yych <= ':') goto yy86;
- goto yy147;
+ if (yych <= '9') goto yy216;
+ if (yych <= ':') goto yy10;
+ goto yy71;
}
}
} else {
if (yych <= '_') {
if (yych <= 'O') {
- if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy291;
- goto yy86;
+ if (yych <= '@') goto yy10;
+ if (yych <= 'F') goto yy216;
+ goto yy10;
} else {
- if (yych <= 'P') goto yy296;
- if (yych <= '^') goto yy86;
- goto yy214;
+ if (yych <= 'P') goto yy221;
+ if (yych <= '^') goto yy10;
+ goto yy138;
}
} else {
if (yych <= 'o') {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy291;
- goto yy86;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy216;
+ goto yy10;
} else {
- if (yych <= 'p') goto yy296;
- if (yych <= '~') goto yy86;
- goto yy147;
+ if (yych <= 'p') goto yy221;
+ if (yych <= '~') goto yy10;
+ goto yy71;
}
}
}
-yy293:
+yy218:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy216;
- goto yy86;
- } else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
- }
- }
-yy294:
- ++cursor_;
- if ((yych = *cursor_) <= ';') {
- if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych >= '#') goto yy86;
- } else {
- if (yych <= '/') {
- if (yych >= '*') goto yy86;
- } else {
- if (yych <= '9') goto yy366;
- if (yych <= ':') goto yy86;
- }
- }
- } else {
- if (yych <= '`') {
- if (yych <= 'F') {
- if (yych <= '@') goto yy86;
- goto yy366;
- } else {
- if (yych == 'P') goto yy296;
- goto yy86;
- }
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy140;
+ goto yy10;
} else {
- if (yych <= 'o') {
- if (yych <= 'f') goto yy366;
- goto yy86;
- } else {
- if (yych <= 'p') goto yy296;
- if (yych <= '~') goto yy86;
- }
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy295:
-#line 239 "src/wast-lexer.cc"
+yy219:
+ yych = *++cursor_;
+ if (yych == '_') goto yy10;
+ goto yy294;
+yy220:
+#line 239 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Hexfloat); }
-#line 2393 "src/prebuilt/wast-lexer-gen.cc"
-yy296:
+#line 1805 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy221:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy368;
- goto yy87;
+ if (yych == '+') goto yy295;
+ goto yy11;
} else {
- if (yych <= '-') goto yy368;
- if (yych <= '/') goto yy87;
- if (yych <= '9') goto yy369;
- goto yy87;
+ if (yych <= '-') goto yy295;
+ if (yych <= '/') goto yy11;
+ if (yych <= '9') goto yy296;
+ goto yy11;
}
-yy297:
+yy222:
yych = *++cursor_;
- if (yych == 'n') goto yy371;
- goto yy87;
-yy298:
+ if (yych == 'n') goto yy298;
+ goto yy11;
+yy223:
yych = *++cursor_;
- if (yych == 'u') goto yy372;
- goto yy87;
-yy299:
+ if (yych == 'u') goto yy299;
+ goto yy11;
+yy224:
yych = *++cursor_;
- if (yych == 'r') goto yy373;
- goto yy87;
-yy300:
+ if (yych == 'e') goto yy300;
+ goto yy11;
+yy225:
yych = *++cursor_;
- if (yych == 'i') goto yy374;
- goto yy87;
-yy301:
+ if (yych == 'r') goto yy301;
+ goto yy11;
+yy226:
yych = *++cursor_;
- if (yych == 'r') goto yy375;
- goto yy87;
-yy302:
+ if (yych == 'i') goto yy302;
+ goto yy11;
+yy227:
yych = *++cursor_;
- if (yych == 'k') goto yy376;
- goto yy87;
-yy303:
+ if (yych == 'r') goto yy303;
+ goto yy11;
+yy228:
yych = *++cursor_;
- if (yych == 'f') goto yy378;
- goto yy87;
-yy304:
+ if (yych == 'k') goto yy304;
+ goto yy11;
+yy229:
yych = *++cursor_;
- if (yych == 'n') goto yy380;
- goto yy87;
-yy305:
+ if (yych == 'f') goto yy306;
+ goto yy11;
+yy230:
yych = *++cursor_;
- if (yych == 'a') goto yy381;
- goto yy87;
-yy306:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'n') goto yy308;
+ goto yy11;
+yy231:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy309;
+ goto yy11;
+yy232:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy307;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy233;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy382;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy310;
+ if (yych <= '~') goto yy10;
}
}
-yy307:
-#line 271 "src/wast-lexer.cc"
+yy233:
+#line 272 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Call); }
-#line 2461 "src/prebuilt/wast-lexer-gen.cc"
-yy308:
+#line 1877 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy234:
yych = *++cursor_;
- if (yych == 'h') goto yy383;
- goto yy87;
-yy309:
+ if (yych == 'h') goto yy311;
+ goto yy11;
+yy235:
yych = *++cursor_;
- if (yych == 'e') goto yy385;
- goto yy87;
-yy310:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'e') goto yy313;
+ goto yy11;
+yy236:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy311;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy237;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy386;
- goto yy86;
+ if (yych == '.') goto yy314;
+ goto yy10;
} else {
- if (yych <= ';') goto yy311;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy237;
+ if (yych <= '~') goto yy10;
}
}
-yy311:
-#line 723 "src/wast-lexer.cc"
+yy237:
+#line 730 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Data); }
-#line 2491 "src/prebuilt/wast-lexer-gen.cc"
-yy312:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 1907 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy238:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 273 "src/wast-lexer.cc"
+#line 274 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Drop); }
-#line 2499 "src/prebuilt/wast-lexer-gen.cc"
-yy314:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+#line 1915 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy240:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy315;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy241;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy387;
- goto yy86;
+ if (yych == '.') goto yy315;
+ goto yy10;
} else {
- if (yych <= ';') goto yy315;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy241;
+ if (yych <= '~') goto yy10;
}
}
-yy315:
-#line 722 "src/wast-lexer.cc"
+yy241:
+#line 729 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Elem); }
-#line 2521 "src/prebuilt/wast-lexer-gen.cc"
-yy316:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 1937 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy242:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 266 "src/wast-lexer.cc"
+#line 267 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Else); }
-#line 2529 "src/prebuilt/wast-lexer-gen.cc"
-yy318:
+#line 1945 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy244:
yych = *++cursor_;
- if (yych == 't') goto yy388;
- goto yy87;
-yy319:
+ if (yych == 't') goto yy316;
+ goto yy11;
+yy245:
yych = *++cursor_;
- if (yych == 'r') goto yy390;
- goto yy87;
-yy320:
+ if (yych == 'r') goto yy318;
+ goto yy11;
+yy246:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy391;
- case 'c': goto yy392;
- case 'd': goto yy393;
- case 'e': goto yy394;
- case 'f': goto yy395;
- case 'g': goto yy396;
- case 'l': goto yy397;
- case 'm': goto yy398;
- case 'n': goto yy399;
- case 'r': goto yy400;
- case 's': goto yy401;
- case 't': goto yy402;
- default: goto yy87;
+ case 'a': goto yy319;
+ case 'c': goto yy320;
+ case 'd': goto yy321;
+ case 'e': goto yy322;
+ case 'f': goto yy323;
+ case 'g': goto yy324;
+ case 'l': goto yy325;
+ case 'm': goto yy326;
+ case 'n': goto yy327;
+ case 'r': goto yy328;
+ case 's': goto yy329;
+ case 't': goto yy330;
+ default: goto yy11;
}
-yy321:
+yy247:
yych = *++cursor_;
- if (yych == '4') goto yy403;
- goto yy87;
-yy322:
+ if (yych == '4') goto yy331;
+ goto yy11;
+yy248:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy404;
- case 'c': goto yy405;
- case 'd': goto yy406;
- case 'e': goto yy407;
- case 'f': goto yy408;
- case 'g': goto yy409;
- case 'l': goto yy410;
- case 'm': goto yy411;
- case 'n': goto yy412;
- case 'p': goto yy413;
- case 'r': goto yy414;
- case 's': goto yy415;
- case 't': goto yy416;
- default: goto yy87;
+ case 'a': goto yy332;
+ case 'c': goto yy333;
+ case 'd': goto yy334;
+ case 'e': goto yy335;
+ case 'f': goto yy336;
+ case 'g': goto yy337;
+ case 'l': goto yy338;
+ case 'm': goto yy339;
+ case 'n': goto yy340;
+ case 'p': goto yy341;
+ case 'r': goto yy342;
+ case 's': goto yy343;
+ case 't': goto yy344;
+ default: goto yy11;
}
-yy323:
+yy249:
yych = *++cursor_;
- if (yych == '2') goto yy417;
- goto yy87;
-yy324:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == '2') goto yy345;
+ goto yy11;
+yy250:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy325;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy251;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'q') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'r') goto yy418;
- if (yych <= '~') goto yy86;
+ if (yych <= 'r') goto yy346;
+ if (yych <= '~') goto yy10;
}
}
-yy325:
-#line 711 "src/wast-lexer.cc"
+yy251:
+#line 718 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Func); }
-#line 2601 "src/prebuilt/wast-lexer-gen.cc"
-yy326:
+#line 2017 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy252:
yych = *++cursor_;
- if (yych == 'g') goto yy419;
- if (yych == 'l') goto yy420;
- goto yy87;
-yy327:
+ if (yych == 'g') goto yy347;
+ if (yych == 'l') goto yy348;
+ goto yy11;
+yy253:
yych = *++cursor_;
- if (yych == 'a') goto yy421;
- goto yy87;
-yy328:
+ if (yych == 'a') goto yy349;
+ goto yy11;
+yy254:
yych = *++cursor_;
- if (yych == '_') goto yy422;
- goto yy87;
-yy329:
+ if (yych == '_') goto yy350;
+ goto yy11;
+yy255:
yych = *++cursor_;
- if (yych == '8') goto yy423;
- goto yy87;
-yy330:
+ if (yych == '8') goto yy351;
+ goto yy11;
+yy256:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy424;
- case 'c': goto yy425;
- case 'd': goto yy426;
- case 'e': goto yy427;
- case 'g': goto yy428;
- case 'l': goto yy429;
- case 'm': goto yy430;
- case 'n': goto yy431;
- case 'o': goto yy432;
- case 'p': goto yy433;
- case 'r': goto yy434;
- case 's': goto yy435;
- case 't': goto yy436;
- case 'w': goto yy437;
- case 'x': goto yy438;
- default: goto yy87;
+ case 'a': goto yy352;
+ case 'c': goto yy353;
+ case 'd': goto yy354;
+ case 'e': goto yy355;
+ case 'g': goto yy356;
+ case 'l': goto yy357;
+ case 'm': goto yy358;
+ case 'n': goto yy359;
+ case 'o': goto yy360;
+ case 'p': goto yy361;
+ case 'r': goto yy362;
+ case 's': goto yy363;
+ case 't': goto yy364;
+ case 'w': goto yy365;
+ case 'x': goto yy366;
+ default: goto yy11;
}
-yy331:
+yy257:
yych = *++cursor_;
- if (yych == '4') goto yy439;
- goto yy87;
-yy332:
+ if (yych == '4') goto yy367;
+ goto yy11;
+yy258:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy440;
- case 'c': goto yy441;
- case 'd': goto yy442;
- case 'e': goto yy443;
- case 'g': goto yy444;
- case 'l': goto yy445;
- case 'm': goto yy446;
- case 'n': goto yy447;
- case 'o': goto yy448;
- case 'p': goto yy449;
- case 'r': goto yy450;
- case 's': goto yy451;
- case 't': goto yy452;
- case 'x': goto yy453;
- default: goto yy87;
+ case 'a': goto yy368;
+ case 'c': goto yy369;
+ case 'd': goto yy370;
+ case 'e': goto yy371;
+ case 'g': goto yy372;
+ case 'l': goto yy373;
+ case 'm': goto yy374;
+ case 'n': goto yy375;
+ case 'o': goto yy376;
+ case 'p': goto yy377;
+ case 'r': goto yy378;
+ case 's': goto yy379;
+ case 't': goto yy380;
+ case 'x': goto yy381;
+ default: goto yy11;
}
-yy333:
+yy259:
yych = *++cursor_;
- if (yych == '2') goto yy454;
- goto yy87;
-yy334:
+ if (yych == '2') goto yy382;
+ goto yy11;
+yy260:
yych = *++cursor_;
- if (yych == '6') goto yy455;
- goto yy87;
-yy335:
+ if (yych == '6') goto yy383;
+ goto yy11;
+yy261:
yych = *++cursor_;
- if (yych == 'r') goto yy456;
- goto yy87;
-yy336:
+ if (yych == 'r') goto yy384;
+ goto yy11;
+yy262:
yych = *++cursor_;
- if (yych == 'k') goto yy457;
- goto yy87;
-yy337:
+ if (yych == 'k') goto yy385;
+ goto yy11;
+yy263:
yych = *++cursor_;
- if (yych == 'l') goto yy458;
- goto yy87;
-yy338:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy386;
+ goto yy11;
+yy264:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 267 "src/wast-lexer.cc"
+#line 268 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Loop); }
-#line 2689 "src/prebuilt/wast-lexer-gen.cc"
-yy340:
+#line 2105 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy266:
yych = *++cursor_;
- if (yych == 'r') goto yy460;
- goto yy87;
-yy341:
+ if (yych == 'r') goto yy388;
+ goto yy11;
+yy267:
yych = *++cursor_;
- if (yych == 'l') goto yy461;
- goto yy87;
-yy342:
+ if (yych == 'l') goto yy389;
+ goto yy11;
+yy268:
yych = *++cursor_;
- if (yych == '0') goto yy462;
- goto yy87;
-yy343:
+ if (yych == '0') goto yy390;
+ goto yy11;
+yy269:
yych = *++cursor_;
- if (yych == 'e') goto yy463;
- goto yy87;
-yy344:
+ if (yych == 'e') goto yy391;
+ goto yy11;
+yy270:
yych = *++cursor_;
- if (yych == 'm') goto yy464;
- goto yy87;
-yy345:
+ if (yych == 'm') goto yy392;
+ goto yy11;
+yy271:
yych = *++cursor_;
- if (yych == 'i') goto yy466;
- goto yy87;
-yy346:
+ if (yych == 'i') goto yy394;
+ goto yy11;
+yy272:
yych = *++cursor_;
- if (yych == 'e') goto yy467;
- goto yy87;
-yy347:
+ if (yych == 'e') goto yy395;
+ goto yy11;
+yy273:
yych = *++cursor_;
- if (yych == 's') goto yy469;
- goto yy87;
-yy348:
+ if (yych == 'i') goto yy397;
+ if (yych == 'n') goto yy398;
+ goto yy11;
+yy274:
yych = *++cursor_;
- if (yych == 'l') goto yy470;
- goto yy87;
-yy349:
+ if (yych == 's') goto yy399;
+ goto yy11;
+yy275:
yych = *++cursor_;
- if (yych == 'r') goto yy471;
- goto yy87;
-yy350:
+ if (yych == 'l') goto yy400;
+ goto yy11;
+yy276:
yych = *++cursor_;
- if (yych == 'r') goto yy472;
- goto yy87;
-yy351:
+ if (yych == 'r') goto yy401;
+ goto yy11;
+yy277:
yych = *++cursor_;
- if (yych == 'c') goto yy473;
- goto yy87;
-yy352:
+ if (yych == 'r') goto yy402;
+ goto yy11;
+yy278:
yych = *++cursor_;
- if (yych == 'g') goto yy474;
- if (yych == 'l') goto yy475;
- goto yy87;
-yy353:
+ if (yych == 'c') goto yy403;
+ goto yy11;
+yy279:
yych = *++cursor_;
- if (yych == 'e') goto yy476;
- goto yy87;
-yy354:
+ if (yych == 'g') goto yy404;
+ if (yych == 'l') goto yy405;
+ goto yy11;
+yy280:
yych = *++cursor_;
- if (yych == 't') goto yy477;
- goto yy87;
-yy355:
+ if (yych == 'e') goto yy406;
+ goto yy11;
+yy281:
yych = *++cursor_;
- if (yych == 'e') goto yy479;
- goto yy87;
-yy356:
+ if (yych == 't') goto yy407;
+ goto yy11;
+yy282:
yych = *++cursor_;
- if (yych == 'l') goto yy481;
- goto yy87;
-yy357:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy409;
+ goto yy11;
+yy283:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy411;
+ goto yy11;
+yy284:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 265 "src/wast-lexer.cc"
+#line 266 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Then); }
-#line 2766 "src/prebuilt/wast-lexer-gen.cc"
-yy359:
+#line 2187 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy286:
yych = *++cursor_;
- if (yych == 'w') goto yy482;
- goto yy87;
-yy360:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'w') goto yy412;
+ goto yy11;
+yy287:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 710 "src/wast-lexer.cc"
+#line 717 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Type); }
-#line 2778 "src/prebuilt/wast-lexer-gen.cc"
-yy362:
+#line 2199 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy289:
yych = *++cursor_;
- if (yych == 'a') goto yy484;
- goto yy87;
-yy363:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'a') goto yy414;
+ goto yy11;
+yy290:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy364;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy291;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy485;
- goto yy86;
+ if (yych == '.') goto yy415;
+ goto yy10;
} else {
- if (yych <= ';') goto yy364;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy291;
+ if (yych <= '~') goto yy10;
}
}
-yy364:
-#line 259 "src/wast-lexer.cc"
+yy291:
+#line 259 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, V128); }
-#line 2804 "src/prebuilt/wast-lexer-gen.cc"
-yy365:
+#line 2225 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy292:
yych = *++cursor_;
- if (yych == '6') goto yy486;
- goto yy87;
-yy366:
+ if (yych == '6') goto yy416;
+ goto yy11;
+yy293:
++cursor_;
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
+yy294:
if (yych <= '@') {
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy295;
- goto yy86;
+ if (yych <= ' ') goto yy220;
+ goto yy10;
} else {
- if (yych <= '"') goto yy295;
- if (yych <= '\'') goto yy86;
- goto yy295;
+ if (yych <= '"') goto yy220;
+ if (yych <= '\'') goto yy10;
+ goto yy220;
}
} else {
if (yych <= '9') {
- if (yych <= '/') goto yy86;
- goto yy366;
+ if (yych <= '/') goto yy10;
+ goto yy293;
} else {
- if (yych == ';') goto yy295;
- goto yy86;
+ if (yych == ';') goto yy220;
+ goto yy10;
}
}
} else {
if (yych <= '_') {
if (yych <= 'O') {
- if (yych <= 'F') goto yy366;
- goto yy86;
+ if (yych <= 'F') goto yy293;
+ goto yy10;
} else {
- if (yych <= 'P') goto yy296;
- if (yych <= '^') goto yy86;
- goto yy487;
+ if (yych <= 'P') goto yy221;
+ if (yych <= '^') goto yy10;
+ goto yy417;
}
} else {
if (yych <= 'o') {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy366;
- goto yy86;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy293;
+ goto yy10;
} else {
- if (yych <= 'p') goto yy296;
- if (yych <= '~') goto yy86;
- goto yy295;
+ if (yych <= 'p') goto yy221;
+ if (yych <= '~') goto yy10;
+ goto yy220;
}
}
}
-yy368:
+yy295:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych >= ':') goto yy86;
+ if (yych <= '/') goto yy10;
+ if (yych >= ':') goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy369:
+yy296:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy295;
+ if (yych == '!') goto yy10;
+ goto yy220;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy295;
- goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy220;
+ goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy369;
- if (yych <= ':') goto yy86;
- goto yy295;
+ if (yych <= '9') goto yy296;
+ if (yych <= ':') goto yy10;
+ goto yy220;
} else {
- if (yych == '_') goto yy368;
- if (yych <= '~') goto yy86;
- goto yy295;
+ if (yych == '_') goto yy295;
+ if (yych <= '~') goto yy10;
+ goto yy220;
}
}
-yy371:
+yy298:
yych = *++cursor_;
- if (yych == '=') goto yy488;
- goto yy87;
-yy372:
+ if (yych == '=') goto yy418;
+ goto yy11;
+yy299:
yych = *++cursor_;
- if (yych == 'n') goto yy489;
- goto yy87;
-yy373:
+ if (yych == 'n') goto yy419;
+ goto yy11;
+yy300:
yych = *++cursor_;
- if (yych == 't') goto yy490;
- goto yy87;
-yy374:
+ if (yych == 'f') goto yy420;
+ goto yy11;
+yy301:
yych = *++cursor_;
- if (yych == 'c') goto yy491;
- goto yy87;
-yy375:
+ if (yych == 't') goto yy422;
+ goto yy11;
+yy302:
yych = *++cursor_;
- if (yych == 'y') goto yy492;
- goto yy87;
-yy376:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'c') goto yy423;
+ goto yy11;
+yy303:
+ yych = *++cursor_;
+ if (yych == 'y') goto yy424;
+ goto yy11;
+yy304:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 263 "src/wast-lexer.cc"
+#line 264 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Block); }
-#line 2928 "src/prebuilt/wast-lexer-gen.cc"
-yy378:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 2354 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy306:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 269 "src/wast-lexer.cc"
+#line 270 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(BrIf); }
-#line 2936 "src/prebuilt/wast-lexer-gen.cc"
-yy380:
+#line 2362 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy308:
yych = *++cursor_;
- if (yych == '_') goto yy494;
- goto yy87;
-yy381:
+ if (yych == '_') goto yy426;
+ goto yy11;
+yy309:
yych = *++cursor_;
- if (yych == 'b') goto yy495;
- goto yy87;
-yy382:
+ if (yych == 'b') goto yy427;
+ goto yy11;
+yy310:
yych = *++cursor_;
- if (yych == 'i') goto yy496;
- goto yy87;
-yy383:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'i') goto yy428;
+ goto yy11;
+yy311:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 741 "src/wast-lexer.cc"
+#line 748 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Catch); }
-#line 2956 "src/prebuilt/wast-lexer-gen.cc"
-yy385:
+#line 2382 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy313:
yych = *++cursor_;
- if (yych == 'n') goto yy497;
- goto yy87;
-yy386:
+ if (yych == 'n') goto yy429;
+ goto yy11;
+yy314:
yych = *++cursor_;
- if (yych == 'd') goto yy498;
- goto yy87;
-yy387:
+ if (yych == 'd') goto yy430;
+ goto yy11;
+yy315:
yych = *++cursor_;
- if (yych == 'd') goto yy499;
- goto yy87;
-yy388:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'd') goto yy431;
+ goto yy11;
+yy316:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 727 "src/wast-lexer.cc"
+#line 734 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Event); }
-#line 2976 "src/prebuilt/wast-lexer-gen.cc"
-yy390:
+#line 2402 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy318:
yych = *++cursor_;
- if (yych == 't') goto yy500;
- goto yy87;
-yy391:
+ if (yych == 't') goto yy432;
+ goto yy11;
+yy319:
yych = *++cursor_;
- if (yych == 'b') goto yy502;
- if (yych == 'd') goto yy503;
- goto yy87;
-yy392:
+ if (yych == 'b') goto yy434;
+ if (yych == 'd') goto yy435;
+ goto yy11;
+yy320:
yych = *++cursor_;
- if (yych == 'e') goto yy504;
- if (yych == 'o') goto yy505;
- goto yy87;
-yy393:
+ if (yych == 'e') goto yy436;
+ if (yych == 'o') goto yy437;
+ goto yy11;
+yy321:
yych = *++cursor_;
- if (yych == 'e') goto yy506;
- if (yych == 'i') goto yy507;
- goto yy87;
-yy394:
+ if (yych == 'e') goto yy438;
+ if (yych == 'i') goto yy439;
+ goto yy11;
+yy322:
yych = *++cursor_;
- if (yych == 'q') goto yy508;
- goto yy87;
-yy395:
+ if (yych == 'q') goto yy440;
+ goto yy11;
+yy323:
yych = *++cursor_;
- if (yych == 'l') goto yy510;
- goto yy87;
-yy396:
+ if (yych == 'l') goto yy442;
+ goto yy11;
+yy324:
yych = *++cursor_;
- if (yych == 'e') goto yy511;
- if (yych == 't') goto yy513;
- goto yy87;
-yy397:
+ if (yych == 'e') goto yy443;
+ if (yych == 't') goto yy445;
+ goto yy11;
+yy325:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy515;
- goto yy87;
+ if (yych == 'e') goto yy447;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy517;
- if (yych == 't') goto yy518;
- goto yy87;
+ if (yych <= 'o') goto yy449;
+ if (yych == 't') goto yy450;
+ goto yy11;
}
-yy398:
+yy326:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy520;
- goto yy87;
+ if (yych == 'a') goto yy452;
+ goto yy11;
} else {
- if (yych <= 'i') goto yy521;
- if (yych == 'u') goto yy522;
- goto yy87;
+ if (yych <= 'i') goto yy453;
+ if (yych == 'u') goto yy454;
+ goto yy11;
}
-yy399:
+yy327:
yych = *++cursor_;
- if (yych == 'e') goto yy523;
- goto yy87;
-yy400:
+ if (yych == 'e') goto yy455;
+ goto yy11;
+yy328:
yych = *++cursor_;
- if (yych == 'e') goto yy525;
- goto yy87;
-yy401:
+ if (yych == 'e') goto yy457;
+ goto yy11;
+yy329:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy526;
- goto yy87;
+ if (yych == 'q') goto yy458;
+ goto yy11;
} else {
- if (yych <= 't') goto yy527;
- if (yych <= 'u') goto yy528;
- goto yy87;
+ if (yych <= 't') goto yy459;
+ if (yych <= 'u') goto yy460;
+ goto yy11;
}
-yy402:
+yy330:
yych = *++cursor_;
- if (yych == 'r') goto yy529;
- goto yy87;
-yy403:
+ if (yych == 'r') goto yy461;
+ goto yy11;
+yy331:
yych = *++cursor_;
- if (yych == '.') goto yy530;
- goto yy87;
-yy404:
+ if (yych == '.') goto yy462;
+ goto yy11;
+yy332:
yych = *++cursor_;
- if (yych == 'b') goto yy531;
- if (yych == 'd') goto yy532;
- goto yy87;
-yy405:
+ if (yych == 'b') goto yy463;
+ if (yych == 'd') goto yy464;
+ goto yy11;
+yy333:
yych = *++cursor_;
- if (yych == 'e') goto yy533;
- if (yych == 'o') goto yy534;
- goto yy87;
-yy406:
+ if (yych == 'e') goto yy465;
+ if (yych == 'o') goto yy466;
+ goto yy11;
+yy334:
yych = *++cursor_;
- if (yych == 'i') goto yy535;
- goto yy87;
-yy407:
+ if (yych == 'i') goto yy467;
+ goto yy11;
+yy335:
yych = *++cursor_;
- if (yych == 'q') goto yy536;
- goto yy87;
-yy408:
+ if (yych == 'q') goto yy468;
+ goto yy11;
+yy336:
yych = *++cursor_;
- if (yych == 'l') goto yy538;
- goto yy87;
-yy409:
+ if (yych == 'l') goto yy470;
+ goto yy11;
+yy337:
yych = *++cursor_;
- if (yych == 'e') goto yy539;
- if (yych == 't') goto yy541;
- goto yy87;
-yy410:
+ if (yych == 'e') goto yy471;
+ if (yych == 't') goto yy473;
+ goto yy11;
+yy338:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy543;
- goto yy87;
+ if (yych == 'e') goto yy475;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy545;
- if (yych == 't') goto yy546;
- goto yy87;
+ if (yych <= 'o') goto yy477;
+ if (yych == 't') goto yy478;
+ goto yy11;
}
-yy411:
+yy339:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy548;
- goto yy87;
+ if (yych == 'a') goto yy480;
+ goto yy11;
} else {
- if (yych <= 'i') goto yy549;
- if (yych == 'u') goto yy550;
- goto yy87;
+ if (yych <= 'i') goto yy481;
+ if (yych == 'u') goto yy482;
+ goto yy11;
}
-yy412:
+yy340:
yych = *++cursor_;
- if (yych == 'e') goto yy551;
- goto yy87;
-yy413:
+ if (yych == 'e') goto yy483;
+ goto yy11;
+yy341:
yych = *++cursor_;
- if (yych == 'r') goto yy553;
- goto yy87;
-yy414:
+ if (yych == 'r') goto yy485;
+ goto yy11;
+yy342:
yych = *++cursor_;
- if (yych == 'e') goto yy554;
- goto yy87;
-yy415:
+ if (yych == 'e') goto yy486;
+ goto yy11;
+yy343:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy555;
- goto yy87;
+ if (yych == 'q') goto yy487;
+ goto yy11;
} else {
- if (yych <= 't') goto yy556;
- if (yych <= 'u') goto yy557;
- goto yy87;
+ if (yych <= 't') goto yy488;
+ if (yych <= 'u') goto yy489;
+ goto yy11;
}
-yy416:
+yy344:
yych = *++cursor_;
- if (yych == 'r') goto yy558;
- goto yy87;
-yy417:
+ if (yych == 'r') goto yy490;
+ goto yy11;
+yy345:
yych = *++cursor_;
- if (yych == '.') goto yy559;
- goto yy87;
-yy418:
+ if (yych == '.') goto yy491;
+ goto yy11;
+yy346:
yych = *++cursor_;
- if (yych == 'e') goto yy560;
- goto yy87;
-yy419:
+ if (yych == 'e') goto yy492;
+ goto yy11;
+yy347:
yych = *++cursor_;
- if (yych == 'l') goto yy561;
- goto yy87;
-yy420:
+ if (yych == 'l') goto yy493;
+ goto yy11;
+yy348:
yych = *++cursor_;
- if (yych == 'o') goto yy562;
- goto yy87;
-yy421:
+ if (yych == 'o') goto yy494;
+ goto yy11;
+yy349:
yych = *++cursor_;
- if (yych == 'l') goto yy563;
- goto yy87;
-yy422:
+ if (yych == 'l') goto yy495;
+ goto yy11;
+yy350:
yych = *++cursor_;
- if (yych == 'm') goto yy565;
- goto yy87;
-yy423:
+ if (yych == 'm') goto yy497;
+ goto yy11;
+yy351:
yych = *++cursor_;
- if (yych == '.') goto yy566;
- goto yy87;
-yy424:
+ if (yych == '.') goto yy498;
+ goto yy11;
+yy352:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy567;
- goto yy87;
+ if (yych == 'd') goto yy499;
+ goto yy11;
} else {
- if (yych <= 'n') goto yy568;
- if (yych == 't') goto yy569;
- goto yy87;
+ if (yych <= 'n') goto yy500;
+ if (yych == 't') goto yy501;
+ goto yy11;
}
-yy425:
+yy353:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy570;
- goto yy87;
+ if (yych == 'l') goto yy502;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy571;
- if (yych == 't') goto yy572;
- goto yy87;
+ if (yych <= 'o') goto yy503;
+ if (yych == 't') goto yy504;
+ goto yy11;
}
-yy426:
+yy354:
yych = *++cursor_;
- if (yych == 'i') goto yy573;
- goto yy87;
-yy427:
+ if (yych == 'i') goto yy505;
+ goto yy11;
+yy355:
yych = *++cursor_;
- if (yych == 'q') goto yy574;
- if (yych == 'x') goto yy576;
- goto yy87;
-yy428:
+ if (yych == 'q') goto yy506;
+ if (yych == 'x') goto yy508;
+ goto yy11;
+yy356:
yych = *++cursor_;
- if (yych == 'e') goto yy577;
- if (yych == 't') goto yy578;
- goto yy87;
-yy429:
+ if (yych == 'e') goto yy509;
+ if (yych == 't') goto yy510;
+ goto yy11;
+yy357:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy579;
- goto yy87;
+ if (yych == 'e') goto yy511;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy580;
- if (yych == 't') goto yy581;
- goto yy87;
+ if (yych <= 'o') goto yy512;
+ if (yych == 't') goto yy513;
+ goto yy11;
}
-yy430:
+yy358:
yych = *++cursor_;
- if (yych == 'u') goto yy582;
- goto yy87;
-yy431:
+ if (yych == 'u') goto yy514;
+ goto yy11;
+yy359:
yych = *++cursor_;
- if (yych == 'e') goto yy583;
- goto yy87;
-yy432:
+ if (yych == 'e') goto yy515;
+ goto yy11;
+yy360:
yych = *++cursor_;
- if (yych == 'r') goto yy585;
- goto yy87;
-yy433:
+ if (yych == 'r') goto yy517;
+ goto yy11;
+yy361:
yych = *++cursor_;
- if (yych == 'o') goto yy587;
- goto yy87;
-yy434:
+ if (yych == 'o') goto yy519;
+ goto yy11;
+yy362:
yych = *++cursor_;
- if (yych == 'e') goto yy588;
- if (yych == 'o') goto yy589;
- goto yy87;
-yy435:
+ if (yych == 'e') goto yy520;
+ if (yych == 'o') goto yy521;
+ goto yy11;
+yy363:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'h') goto yy590;
- goto yy87;
+ if (yych == 'h') goto yy522;
+ goto yy11;
} else {
- if (yych <= 't') goto yy591;
- if (yych <= 'u') goto yy592;
- goto yy87;
+ if (yych <= 't') goto yy523;
+ if (yych <= 'u') goto yy524;
+ goto yy11;
}
-yy436:
+yy364:
yych = *++cursor_;
- if (yych == 'r') goto yy593;
- goto yy87;
-yy437:
+ if (yych == 'r') goto yy525;
+ goto yy11;
+yy365:
yych = *++cursor_;
- if (yych == 'r') goto yy594;
- goto yy87;
-yy438:
+ if (yych == 'r') goto yy526;
+ goto yy11;
+yy366:
yych = *++cursor_;
- if (yych == 'o') goto yy595;
- goto yy87;
-yy439:
+ if (yych == 'o') goto yy527;
+ goto yy11;
+yy367:
yych = *++cursor_;
- if (yych == '.') goto yy596;
- goto yy87;
-yy440:
+ if (yych == '.') goto yy528;
+ goto yy11;
+yy368:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy597;
- goto yy87;
+ if (yych == 'd') goto yy529;
+ goto yy11;
} else {
- if (yych <= 'n') goto yy598;
- if (yych == 't') goto yy599;
- goto yy87;
+ if (yych <= 'n') goto yy530;
+ if (yych == 't') goto yy531;
+ goto yy11;
}
-yy441:
+yy369:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy600;
- goto yy87;
+ if (yych == 'l') goto yy532;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy601;
- if (yych == 't') goto yy602;
- goto yy87;
+ if (yych <= 'o') goto yy533;
+ if (yych == 't') goto yy534;
+ goto yy11;
}
-yy442:
+yy370:
yych = *++cursor_;
- if (yych == 'i') goto yy603;
- goto yy87;
-yy443:
+ if (yych == 'i') goto yy535;
+ goto yy11;
+yy371:
yych = *++cursor_;
- if (yych == 'q') goto yy604;
- if (yych == 'x') goto yy606;
- goto yy87;
-yy444:
+ if (yych == 'q') goto yy536;
+ if (yych == 'x') goto yy538;
+ goto yy11;
+yy372:
yych = *++cursor_;
- if (yych == 'e') goto yy607;
- if (yych == 't') goto yy608;
- goto yy87;
-yy445:
+ if (yych == 'e') goto yy539;
+ if (yych == 't') goto yy540;
+ goto yy11;
+yy373:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy609;
- goto yy87;
+ if (yych == 'e') goto yy541;
+ goto yy11;
} else {
- if (yych <= 'o') goto yy610;
- if (yych == 't') goto yy611;
- goto yy87;
+ if (yych <= 'o') goto yy542;
+ if (yych == 't') goto yy543;
+ goto yy11;
}
-yy446:
+yy374:
yych = *++cursor_;
- if (yych == 'u') goto yy612;
- goto yy87;
-yy447:
+ if (yych == 'u') goto yy544;
+ goto yy11;
+yy375:
yych = *++cursor_;
- if (yych == 'e') goto yy613;
- goto yy87;
-yy448:
+ if (yych == 'e') goto yy545;
+ goto yy11;
+yy376:
yych = *++cursor_;
- if (yych == 'r') goto yy615;
- goto yy87;
-yy449:
+ if (yych == 'r') goto yy547;
+ goto yy11;
+yy377:
yych = *++cursor_;
- if (yych == 'o') goto yy617;
- goto yy87;
-yy450:
+ if (yych == 'o') goto yy549;
+ goto yy11;
+yy378:
yych = *++cursor_;
- if (yych == 'e') goto yy618;
- if (yych == 'o') goto yy619;
- goto yy87;
-yy451:
+ if (yych == 'e') goto yy550;
+ if (yych == 'o') goto yy551;
+ goto yy11;
+yy379:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'h') goto yy620;
- goto yy87;
+ if (yych == 'h') goto yy552;
+ goto yy11;
} else {
- if (yych <= 't') goto yy621;
- if (yych <= 'u') goto yy622;
- goto yy87;
+ if (yych <= 't') goto yy553;
+ if (yych <= 'u') goto yy554;
+ goto yy11;
}
-yy452:
+yy380:
yych = *++cursor_;
- if (yych == 'r') goto yy623;
- goto yy87;
-yy453:
+ if (yych == 'r') goto yy555;
+ goto yy11;
+yy381:
yych = *++cursor_;
- if (yych == 'o') goto yy624;
- goto yy87;
-yy454:
+ if (yych == 'o') goto yy556;
+ goto yy11;
+yy382:
yych = *++cursor_;
- if (yych == '.') goto yy625;
- goto yy87;
-yy455:
+ if (yych == '.') goto yy557;
+ goto yy11;
+yy383:
yych = *++cursor_;
- if (yych == '.') goto yy626;
- goto yy87;
-yy456:
+ if (yych == '.') goto yy558;
+ goto yy11;
+yy384:
yych = *++cursor_;
- if (yych == 't') goto yy627;
- goto yy87;
-yy457:
+ if (yych == 't') goto yy559;
+ goto yy11;
+yy385:
yych = *++cursor_;
- if (yych == 'e') goto yy629;
- goto yy87;
-yy458:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'e') goto yy561;
+ goto yy11;
+yy386:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy459;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy387;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy631;
- goto yy86;
+ if (yych == '.') goto yy563;
+ goto yy10;
} else {
- if (yych <= ';') goto yy459;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy387;
+ if (yych <= '~') goto yy10;
}
}
-yy459:
-#line 714 "src/wast-lexer.cc"
+yy387:
+#line 721 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Local); }
-#line 3367 "src/prebuilt/wast-lexer-gen.cc"
-yy460:
+#line 2793 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy388:
yych = *++cursor_;
- if (yych == 'y') goto yy632;
- goto yy87;
-yy461:
+ if (yych == 'y') goto yy564;
+ goto yy11;
+yy389:
yych = *++cursor_;
- if (yych == 'e') goto yy634;
- goto yy87;
-yy462:
+ if (yych == 'e') goto yy566;
+ goto yy11;
+yy390:
yych = *++cursor_;
- if (yych == 'x') goto yy636;
- goto yy87;
-yy463:
+ if (yych == 'x') goto yy568;
+ goto yy11;
+yy391:
yych = *++cursor_;
- if (yych == 't') goto yy637;
- goto yy87;
-yy464:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy569;
+ goto yy11;
+yy392:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 712 "src/wast-lexer.cc"
+#line 719 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Param); }
-#line 3391 "src/prebuilt/wast-lexer-gen.cc"
-yy466:
+#line 2817 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy394:
yych = *++cursor_;
- if (yych == 'v') goto yy639;
- goto yy87;
-yy467:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy571;
+ goto yy11;
+yy395:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 718 "src/wast-lexer.cc"
+#line 725 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Quote); }
-#line 3403 "src/prebuilt/wast-lexer-gen.cc"
-yy469:
+#line 2829 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy397:
yych = *++cursor_;
- if (yych == 't') goto yy640;
- goto yy87;
-yy470:
+ if (yych == 's') goto yy572;
+ goto yy11;
+yy398:
yych = *++cursor_;
- if (yych == 't') goto yy641;
- goto yy87;
-yy471:
+ if (yych == 'u') goto yy573;
+ goto yy11;
+yy399:
yych = *++cursor_;
- if (yych == 'o') goto yy643;
- goto yy87;
-yy472:
+ if (yych == 't') goto yy574;
+ goto yy11;
+yy400:
yych = *++cursor_;
- if (yych == 'n') goto yy644;
- goto yy87;
-yy473:
+ if (yych == 't') goto yy575;
+ goto yy11;
+yy401:
yych = *++cursor_;
- if (yych == 't') goto yy646;
- goto yy87;
-yy474:
+ if (yych == 'o') goto yy577;
+ goto yy11;
+yy402:
yych = *++cursor_;
- if (yych == 'l') goto yy648;
- goto yy87;
-yy475:
+ if (yych == 'n') goto yy578;
+ goto yy11;
+yy403:
yych = *++cursor_;
- if (yych == 'o') goto yy649;
- goto yy87;
-yy476:
+ if (yych == 't') goto yy580;
+ goto yy11;
+yy404:
yych = *++cursor_;
- if (yych == 'd') goto yy650;
- goto yy87;
-yy477:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy582;
+ goto yy11;
+yy405:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy583;
+ goto yy11;
+yy406:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy584;
+ goto yy11;
+yy407:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 721 "src/wast-lexer.cc"
+#line 728 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Start); }
-#line 3443 "src/prebuilt/wast-lexer-gen.cc"
-yy479:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+#line 2877 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy409:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy480;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy410;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy652;
- goto yy86;
+ if (yych == '.') goto yy586;
+ goto yy10;
} else {
- if (yych <= ';') goto yy480;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy410;
+ if (yych <= '~') goto yy10;
}
}
-yy480:
-#line 719 "src/wast-lexer.cc"
+yy410:
+#line 726 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Table); }
-#line 3465 "src/prebuilt/wast-lexer-gen.cc"
-yy481:
+#line 2899 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy411:
yych = *++cursor_;
- if (yych == 'o') goto yy653;
- goto yy87;
-yy482:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy587;
+ goto yy11;
+yy412:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 742 "src/wast-lexer.cc"
+#line 749 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Throw); }
-#line 3477 "src/prebuilt/wast-lexer-gen.cc"
-yy484:
+#line 2911 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy414:
yych = *++cursor_;
- if (yych == 'c') goto yy654;
- goto yy87;
-yy485:
+ if (yych == 'c') goto yy588;
+ goto yy11;
+yy415:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy655;
- case 'b': goto yy656;
- case 'c': goto yy657;
- case 'l': goto yy658;
- case 'n': goto yy659;
- case 'o': goto yy660;
- case 's': goto yy661;
- case 'x': goto yy662;
- default: goto yy87;
+ case 'a': goto yy589;
+ case 'b': goto yy590;
+ case 'c': goto yy591;
+ case 'l': goto yy592;
+ case 'n': goto yy593;
+ case 'o': goto yy594;
+ case 's': goto yy595;
+ case 'x': goto yy596;
+ default: goto yy11;
}
-yy486:
+yy416:
yych = *++cursor_;
- if (yych == '.') goto yy663;
- goto yy87;
-yy487:
+ if (yych == '.') goto yy597;
+ goto yy11;
+yy417:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy88;
+ if (yych == '!') goto yy10;
+ goto yy12;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy88;
- if (yych <= '/') goto yy86;
- goto yy366;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy12;
+ if (yych <= '/') goto yy10;
+ goto yy293;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy88;
- if (yych <= '@') goto yy86;
- goto yy366;
+ if (yych == ';') goto yy12;
+ if (yych <= '@') goto yy10;
+ goto yy293;
} else {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy366;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy293;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy488:
+yy418:
yych = *++cursor_;
- if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy664;
- if (yych <= '9') goto yy666;
- goto yy87;
-yy489:
+ if (yych <= '/') goto yy11;
+ if (yych <= '0') goto yy598;
+ if (yych <= '9') goto yy600;
+ goto yy11;
+yy419:
yych = *++cursor_;
- if (yych == 'c') goto yy668;
- goto yy87;
-yy490:
+ if (yych == 'c') goto yy602;
+ goto yy11;
+yy420:
yych = *++cursor_;
- if (yych == '_') goto yy670;
- goto yy87;
-yy491:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 261 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_TYPE(ValueType, Anyref); }
+#line 2976 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy422:
yych = *++cursor_;
- if (yych == '.') goto yy671;
- goto yy87;
-yy492:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == '_') goto yy604;
+ goto yy11;
+yy423:
+ yych = *++cursor_;
+ if (yych == '.') goto yy605;
+ goto yy11;
+yy424:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 717 "src/wast-lexer.cc"
+#line 724 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Bin); }
-#line 3550 "src/prebuilt/wast-lexer-gen.cc"
-yy494:
+#line 2992 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy426:
yych = *++cursor_;
- if (yych == 'e') goto yy672;
- goto yy87;
-yy495:
+ if (yych == 'e') goto yy606;
+ goto yy11;
+yy427:
yych = *++cursor_;
- if (yych == 'l') goto yy673;
- goto yy87;
-yy496:
+ if (yych == 'l') goto yy607;
+ goto yy11;
+yy428:
yych = *++cursor_;
- if (yych == 'n') goto yy674;
- goto yy87;
-yy497:
+ if (yych == 'n') goto yy608;
+ goto yy11;
+yy429:
yych = *++cursor_;
- if (yych == 't') goto yy675;
- goto yy87;
-yy498:
+ if (yych == 't') goto yy609;
+ goto yy11;
+yy430:
yych = *++cursor_;
- if (yych == 'r') goto yy676;
- goto yy87;
-yy499:
+ if (yych == 'r') goto yy610;
+ goto yy11;
+yy431:
yych = *++cursor_;
- if (yych == 'r') goto yy677;
- goto yy87;
-yy500:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy611;
+ goto yy11;
+yy432:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 726 "src/wast-lexer.cc"
+#line 733 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Export); }
-#line 3582 "src/prebuilt/wast-lexer-gen.cc"
-yy502:
+#line 3024 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy434:
yych = *++cursor_;
- if (yych == 's') goto yy678;
- goto yy87;
-yy503:
+ if (yych == 's') goto yy612;
+ goto yy11;
+yy435:
yych = *++cursor_;
- if (yych == 'd') goto yy680;
- goto yy87;
-yy504:
+ if (yych == 'd') goto yy614;
+ goto yy11;
+yy436:
yych = *++cursor_;
- if (yych == 'i') goto yy682;
- goto yy87;
-yy505:
+ if (yych == 'i') goto yy616;
+ goto yy11;
+yy437:
yych = *++cursor_;
- if (yych == 'n') goto yy683;
- if (yych == 'p') goto yy684;
- goto yy87;
-yy506:
+ if (yych == 'n') goto yy617;
+ if (yych == 'p') goto yy618;
+ goto yy11;
+yy438:
yych = *++cursor_;
- if (yych == 'm') goto yy685;
- goto yy87;
-yy507:
+ if (yych == 'm') goto yy619;
+ goto yy11;
+yy439:
yych = *++cursor_;
- if (yych == 'v') goto yy686;
- goto yy87;
-yy508:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy620;
+ goto yy11;
+yy440:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 401 "src/wast-lexer.cc"
+#line 402 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Eq); }
-#line 3615 "src/prebuilt/wast-lexer-gen.cc"
-yy510:
+#line 3057 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy442:
yych = *++cursor_;
- if (yych == 'o') goto yy688;
- goto yy87;
-yy511:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy622;
+ goto yy11;
+yy443:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 411 "src/wast-lexer.cc"
+#line 412 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ge); }
-#line 3627 "src/prebuilt/wast-lexer-gen.cc"
-yy513:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3069 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy445:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 409 "src/wast-lexer.cc"
+#line 410 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Gt); }
-#line 3635 "src/prebuilt/wast-lexer-gen.cc"
-yy515:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3077 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy447:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 407 "src/wast-lexer.cc"
+#line 408 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Le); }
-#line 3643 "src/prebuilt/wast-lexer-gen.cc"
-yy517:
+#line 3085 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy449:
yych = *++cursor_;
- if (yych == 'a') goto yy689;
- goto yy87;
-yy518:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'a') goto yy623;
+ goto yy11;
+yy450:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 405 "src/wast-lexer.cc"
+#line 406 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Lt); }
-#line 3655 "src/prebuilt/wast-lexer-gen.cc"
-yy520:
+#line 3097 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy452:
yych = *++cursor_;
- if (yych == 'x') goto yy690;
- goto yy87;
-yy521:
+ if (yych == 'x') goto yy624;
+ goto yy11;
+yy453:
yych = *++cursor_;
- if (yych == 'n') goto yy692;
- goto yy87;
-yy522:
+ if (yych == 'n') goto yy626;
+ goto yy11;
+yy454:
yych = *++cursor_;
- if (yych == 'l') goto yy694;
- goto yy87;
-yy523:
- ++cursor_;
- if ((yych = *cursor_) <= ':') {
+ if (yych == 'l') goto yy628;
+ goto yy11;
+yy455:
+ yych = *++cursor_;
+ if (yych <= ':') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy524;
- if (yych <= '`') goto yy86;
- goto yy696;
+ if (yych <= ';') goto yy456;
+ if (yych <= '`') goto yy10;
+ goto yy630;
} else {
- if (yych == 'g') goto yy697;
- if (yych <= '~') goto yy86;
+ if (yych == 'g') goto yy631;
+ if (yych <= '~') goto yy10;
}
}
-yy524:
-#line 403 "src/wast-lexer.cc"
+yy456:
+#line 404 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ne); }
-#line 3690 "src/prebuilt/wast-lexer-gen.cc"
-yy525:
+#line 3132 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy457:
yych = *++cursor_;
- if (yych == 'i') goto yy699;
- goto yy87;
-yy526:
+ if (yych == 'i') goto yy633;
+ goto yy11;
+yy458:
yych = *++cursor_;
- if (yych == 'r') goto yy700;
- goto yy87;
-yy527:
+ if (yych == 'r') goto yy634;
+ goto yy11;
+yy459:
yych = *++cursor_;
- if (yych == 'o') goto yy701;
- goto yy87;
-yy528:
+ if (yych == 'o') goto yy635;
+ goto yy11;
+yy460:
yych = *++cursor_;
- if (yych == 'b') goto yy702;
- goto yy87;
-yy529:
+ if (yych == 'b') goto yy636;
+ goto yy11;
+yy461:
yych = *++cursor_;
- if (yych == 'u') goto yy704;
- goto yy87;
-yy530:
+ if (yych == 'u') goto yy638;
+ goto yy11;
+yy462:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy705;
- case 'c': goto yy706;
- case 'd': goto yy707;
- case 'e': goto yy708;
- case 'g': goto yy709;
- case 'l': goto yy710;
- case 'm': goto yy711;
- case 'n': goto yy712;
- case 'r': goto yy713;
- case 's': goto yy714;
- default: goto yy87;
+ case 'a': goto yy639;
+ case 'c': goto yy640;
+ case 'd': goto yy641;
+ case 'e': goto yy642;
+ case 'g': goto yy643;
+ case 'l': goto yy644;
+ case 'm': goto yy645;
+ case 'n': goto yy646;
+ case 'r': goto yy647;
+ case 's': goto yy648;
+ default: goto yy11;
}
-yy531:
+yy463:
yych = *++cursor_;
- if (yych == 's') goto yy715;
- goto yy87;
-yy532:
+ if (yych == 's') goto yy649;
+ goto yy11;
+yy464:
yych = *++cursor_;
- if (yych == 'd') goto yy717;
- goto yy87;
-yy533:
+ if (yych == 'd') goto yy651;
+ goto yy11;
+yy465:
yych = *++cursor_;
- if (yych == 'i') goto yy719;
- goto yy87;
-yy534:
+ if (yych == 'i') goto yy653;
+ goto yy11;
+yy466:
yych = *++cursor_;
- if (yych == 'n') goto yy720;
- if (yych == 'p') goto yy721;
- goto yy87;
-yy535:
+ if (yych == 'n') goto yy654;
+ if (yych == 'p') goto yy655;
+ goto yy11;
+yy467:
yych = *++cursor_;
- if (yych == 'v') goto yy722;
- goto yy87;
-yy536:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy656;
+ goto yy11;
+yy468:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 402 "src/wast-lexer.cc"
+#line 403 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Eq); }
-#line 3754 "src/prebuilt/wast-lexer-gen.cc"
-yy538:
+#line 3196 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy470:
yych = *++cursor_;
- if (yych == 'o') goto yy724;
- goto yy87;
-yy539:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy658;
+ goto yy11;
+yy471:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 412 "src/wast-lexer.cc"
+#line 413 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ge); }
-#line 3766 "src/prebuilt/wast-lexer-gen.cc"
-yy541:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3208 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy473:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 410 "src/wast-lexer.cc"
+#line 411 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Gt); }
-#line 3774 "src/prebuilt/wast-lexer-gen.cc"
-yy543:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3216 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy475:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 408 "src/wast-lexer.cc"
+#line 409 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Le); }
-#line 3782 "src/prebuilt/wast-lexer-gen.cc"
-yy545:
+#line 3224 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy477:
yych = *++cursor_;
- if (yych == 'a') goto yy725;
- goto yy87;
-yy546:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'a') goto yy659;
+ goto yy11;
+yy478:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 406 "src/wast-lexer.cc"
+#line 407 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Lt); }
-#line 3794 "src/prebuilt/wast-lexer-gen.cc"
-yy548:
+#line 3236 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy480:
yych = *++cursor_;
- if (yych == 'x') goto yy726;
- goto yy87;
-yy549:
+ if (yych == 'x') goto yy660;
+ goto yy11;
+yy481:
yych = *++cursor_;
- if (yych == 'n') goto yy728;
- goto yy87;
-yy550:
+ if (yych == 'n') goto yy662;
+ goto yy11;
+yy482:
yych = *++cursor_;
- if (yych == 'l') goto yy730;
- goto yy87;
-yy551:
- ++cursor_;
- if ((yych = *cursor_) <= ':') {
+ if (yych == 'l') goto yy664;
+ goto yy11;
+yy483:
+ yych = *++cursor_;
+ if (yych <= ':') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy552;
- if (yych <= '`') goto yy86;
- goto yy732;
+ if (yych <= ';') goto yy484;
+ if (yych <= '`') goto yy10;
+ goto yy666;
} else {
- if (yych == 'g') goto yy733;
- if (yych <= '~') goto yy86;
+ if (yych == 'g') goto yy667;
+ if (yych <= '~') goto yy10;
}
}
-yy552:
-#line 404 "src/wast-lexer.cc"
+yy484:
+#line 405 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ne); }
-#line 3829 "src/prebuilt/wast-lexer-gen.cc"
-yy553:
+#line 3271 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy485:
yych = *++cursor_;
- if (yych == 'o') goto yy735;
- goto yy87;
-yy554:
+ if (yych == 'o') goto yy669;
+ goto yy11;
+yy486:
yych = *++cursor_;
- if (yych == 'i') goto yy736;
- goto yy87;
-yy555:
+ if (yych == 'i') goto yy670;
+ goto yy11;
+yy487:
yych = *++cursor_;
- if (yych == 'r') goto yy737;
- goto yy87;
-yy556:
+ if (yych == 'r') goto yy671;
+ goto yy11;
+yy488:
yych = *++cursor_;
- if (yych == 'o') goto yy738;
- goto yy87;
-yy557:
+ if (yych == 'o') goto yy672;
+ goto yy11;
+yy489:
yych = *++cursor_;
- if (yych == 'b') goto yy739;
- goto yy87;
-yy558:
+ if (yych == 'b') goto yy673;
+ goto yy11;
+yy490:
yych = *++cursor_;
- if (yych == 'u') goto yy741;
- goto yy87;
-yy559:
+ if (yych == 'u') goto yy675;
+ goto yy11;
+yy491:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy742;
- case 'c': goto yy743;
- case 'd': goto yy744;
- case 'e': goto yy745;
- case 'g': goto yy746;
- case 'l': goto yy747;
- case 'm': goto yy748;
- case 'n': goto yy749;
- case 'r': goto yy750;
- case 's': goto yy751;
- default: goto yy87;
- }
-yy560:
- yych = *++cursor_;
- if (yych == 'f') goto yy752;
- goto yy87;
-yy561:
+ case 'a': goto yy676;
+ case 'c': goto yy677;
+ case 'd': goto yy678;
+ case 'e': goto yy679;
+ case 'g': goto yy680;
+ case 'l': goto yy681;
+ case 'm': goto yy682;
+ case 'n': goto yy683;
+ case 'r': goto yy684;
+ case 's': goto yy685;
+ default: goto yy11;
+ }
+yy492:
yych = *++cursor_;
- if (yych == 'o') goto yy754;
- goto yy87;
-yy562:
+ if (yych == 'f') goto yy686;
+ goto yy11;
+yy493:
yych = *++cursor_;
- if (yych == 'c') goto yy755;
- goto yy87;
-yy563:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'o') goto yy688;
+ goto yy11;
+yy494:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy689;
+ goto yy11;
+yy495:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy564;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy496;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy756;
- goto yy86;
+ if (yych == '.') goto yy690;
+ goto yy10;
} else {
- if (yych <= ';') goto yy564;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy496;
+ if (yych <= '~') goto yy10;
}
}
-yy564:
-#line 715 "src/wast-lexer.cc"
+yy496:
+#line 722 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Global); }
-#line 3902 "src/prebuilt/wast-lexer-gen.cc"
-yy565:
+#line 3344 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy497:
yych = *++cursor_;
- if (yych == 'e') goto yy757;
- goto yy87;
-yy566:
+ if (yych == 'e') goto yy691;
+ goto yy11;
+yy498:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy758;
- case 'e': goto yy759;
- case 'g': goto yy760;
- case 'l': goto yy761;
- case 'm': goto yy762;
- case 'n': goto yy763;
- case 'r': goto yy764;
- case 's': goto yy765;
- default: goto yy87;
- }
-yy567:
- yych = *++cursor_;
- if (yych == 'd') goto yy766;
- goto yy87;
-yy568:
+ case 'a': goto yy692;
+ case 'e': goto yy693;
+ case 'g': goto yy694;
+ case 'l': goto yy695;
+ case 'm': goto yy696;
+ case 'n': goto yy697;
+ case 'r': goto yy698;
+ case 's': goto yy699;
+ default: goto yy11;
+ }
+yy499:
yych = *++cursor_;
- if (yych == 'd') goto yy768;
- goto yy87;
-yy569:
+ if (yych == 'd') goto yy700;
+ goto yy11;
+yy500:
yych = *++cursor_;
- if (yych == 'o') goto yy770;
- goto yy87;
-yy570:
+ if (yych == 'd') goto yy702;
+ goto yy11;
+yy501:
yych = *++cursor_;
- if (yych == 'z') goto yy771;
- goto yy87;
-yy571:
+ if (yych == 'o') goto yy704;
+ goto yy11;
+yy502:
yych = *++cursor_;
- if (yych == 'n') goto yy773;
- goto yy87;
-yy572:
+ if (yych == 'z') goto yy705;
+ goto yy11;
+yy503:
yych = *++cursor_;
- if (yych == 'z') goto yy774;
- goto yy87;
-yy573:
+ if (yych == 'n') goto yy707;
+ goto yy11;
+yy504:
yych = *++cursor_;
- if (yych == 'v') goto yy776;
- goto yy87;
-yy574:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'z') goto yy708;
+ goto yy11;
+yy505:
+ yych = *++cursor_;
+ if (yych == 'v') goto yy710;
+ goto yy11;
+yy506:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy575;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy507;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'y') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'z') goto yy777;
- if (yych <= '~') goto yy86;
+ if (yych <= 'z') goto yy711;
+ if (yych <= '~') goto yy10;
}
}
-yy575:
-#line 381 "src/wast-lexer.cc"
+yy507:
+#line 382 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Eq); }
-#line 3968 "src/prebuilt/wast-lexer-gen.cc"
-yy576:
+#line 3410 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy508:
yych = *++cursor_;
- if (yych == 't') goto yy779;
- goto yy87;
-yy577:
+ if (yych == 't') goto yy713;
+ goto yy11;
+yy509:
yych = *++cursor_;
- if (yych == '_') goto yy780;
- goto yy87;
-yy578:
+ if (yych == '_') goto yy714;
+ goto yy11;
+yy510:
yych = *++cursor_;
- if (yych == '_') goto yy781;
- goto yy87;
-yy579:
+ if (yych == '_') goto yy715;
+ goto yy11;
+yy511:
yych = *++cursor_;
- if (yych == '_') goto yy782;
- goto yy87;
-yy580:
+ if (yych == '_') goto yy716;
+ goto yy11;
+yy512:
yych = *++cursor_;
- if (yych == 'a') goto yy783;
- goto yy87;
-yy581:
+ if (yych == 'a') goto yy717;
+ goto yy11;
+yy513:
yych = *++cursor_;
- if (yych == '_') goto yy784;
- goto yy87;
-yy582:
+ if (yych == '_') goto yy718;
+ goto yy11;
+yy514:
yych = *++cursor_;
- if (yych == 'l') goto yy785;
- goto yy87;
-yy583:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy719;
+ goto yy11;
+yy515:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 383 "src/wast-lexer.cc"
+#line 384 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Ne); }
-#line 4004 "src/prebuilt/wast-lexer-gen.cc"
-yy585:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3446 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy517:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 353 "src/wast-lexer.cc"
+#line 354 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Or); }
-#line 4012 "src/prebuilt/wast-lexer-gen.cc"
-yy587:
+#line 3454 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy519:
yych = *++cursor_;
- if (yych == 'p') goto yy787;
- goto yy87;
-yy588:
+ if (yych == 'p') goto yy721;
+ goto yy11;
+yy520:
yych = *++cursor_;
- if (yych == 'i') goto yy788;
- if (yych == 'm') goto yy789;
- goto yy87;
-yy589:
+ if (yych == 'i') goto yy722;
+ if (yych == 'm') goto yy723;
+ goto yy11;
+yy521:
yych = *++cursor_;
- if (yych == 't') goto yy790;
- goto yy87;
-yy590:
+ if (yych == 't') goto yy724;
+ goto yy11;
+yy522:
yych = *++cursor_;
- if (yych == 'l') goto yy791;
- if (yych == 'r') goto yy793;
- goto yy87;
-yy591:
+ if (yych == 'l') goto yy725;
+ if (yych == 'r') goto yy727;
+ goto yy11;
+yy523:
yych = *++cursor_;
- if (yych == 'o') goto yy794;
- goto yy87;
-yy592:
+ if (yych == 'o') goto yy728;
+ goto yy11;
+yy524:
yych = *++cursor_;
- if (yych == 'b') goto yy795;
- goto yy87;
-yy593:
+ if (yych == 'b') goto yy729;
+ goto yy11;
+yy525:
yych = *++cursor_;
- if (yych == 'u') goto yy797;
- goto yy87;
-yy594:
+ if (yych == 'u') goto yy731;
+ goto yy11;
+yy526:
yych = *++cursor_;
- if (yych == 'a') goto yy798;
- goto yy87;
-yy595:
+ if (yych == 'a') goto yy732;
+ goto yy11;
+yy527:
yych = *++cursor_;
- if (yych == 'r') goto yy799;
- goto yy87;
-yy596:
+ if (yych == 'r') goto yy733;
+ goto yy11;
+yy528:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy801;
- case 'e': goto yy802;
- case 'g': goto yy803;
- case 'l': goto yy804;
- case 'm': goto yy805;
- case 'n': goto yy806;
- case 'r': goto yy807;
- case 's': goto yy808;
- case 't': goto yy809;
- default: goto yy87;
+ case 'a': goto yy735;
+ case 'e': goto yy736;
+ case 'g': goto yy737;
+ case 'l': goto yy738;
+ case 'm': goto yy739;
+ case 'n': goto yy740;
+ case 'r': goto yy741;
+ case 's': goto yy742;
+ case 't': goto yy743;
+ default: goto yy11;
}
-yy597:
+yy529:
yych = *++cursor_;
- if (yych == 'd') goto yy810;
- goto yy87;
-yy598:
+ if (yych == 'd') goto yy744;
+ goto yy11;
+yy530:
yych = *++cursor_;
- if (yych == 'd') goto yy812;
- goto yy87;
-yy599:
+ if (yych == 'd') goto yy746;
+ goto yy11;
+yy531:
yych = *++cursor_;
- if (yych == 'o') goto yy814;
- goto yy87;
-yy600:
+ if (yych == 'o') goto yy748;
+ goto yy11;
+yy532:
yych = *++cursor_;
- if (yych == 'z') goto yy815;
- goto yy87;
-yy601:
+ if (yych == 'z') goto yy749;
+ goto yy11;
+yy533:
yych = *++cursor_;
- if (yych == 'n') goto yy817;
- goto yy87;
-yy602:
+ if (yych == 'n') goto yy751;
+ goto yy11;
+yy534:
yych = *++cursor_;
- if (yych == 'z') goto yy818;
- goto yy87;
-yy603:
+ if (yych == 'z') goto yy752;
+ goto yy11;
+yy535:
yych = *++cursor_;
- if (yych == 'v') goto yy820;
- goto yy87;
-yy604:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'v') goto yy754;
+ goto yy11;
+yy536:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy605;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy537;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'y') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'z') goto yy821;
- if (yych <= '~') goto yy86;
+ if (yych <= 'z') goto yy755;
+ if (yych <= '~') goto yy10;
}
}
-yy605:
-#line 382 "src/wast-lexer.cc"
+yy537:
+#line 383 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Eq); }
-#line 4113 "src/prebuilt/wast-lexer-gen.cc"
-yy606:
+#line 3555 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy538:
yych = *++cursor_;
- if (yych == 't') goto yy823;
- goto yy87;
-yy607:
+ if (yych == 't') goto yy757;
+ goto yy11;
+yy539:
yych = *++cursor_;
- if (yych == '_') goto yy824;
- goto yy87;
-yy608:
+ if (yych == '_') goto yy758;
+ goto yy11;
+yy540:
yych = *++cursor_;
- if (yych == '_') goto yy825;
- goto yy87;
-yy609:
+ if (yych == '_') goto yy759;
+ goto yy11;
+yy541:
yych = *++cursor_;
- if (yych == '_') goto yy826;
- goto yy87;
-yy610:
+ if (yych == '_') goto yy760;
+ goto yy11;
+yy542:
yych = *++cursor_;
- if (yych == 'a') goto yy827;
- goto yy87;
-yy611:
+ if (yych == 'a') goto yy761;
+ goto yy11;
+yy543:
yych = *++cursor_;
- if (yych == '_') goto yy828;
- goto yy87;
-yy612:
+ if (yych == '_') goto yy762;
+ goto yy11;
+yy544:
yych = *++cursor_;
- if (yych == 'l') goto yy829;
- goto yy87;
-yy613:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy763;
+ goto yy11;
+yy545:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 384 "src/wast-lexer.cc"
+#line 385 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Ne); }
-#line 4149 "src/prebuilt/wast-lexer-gen.cc"
-yy615:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3591 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy547:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 354 "src/wast-lexer.cc"
+#line 355 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Or); }
-#line 4157 "src/prebuilt/wast-lexer-gen.cc"
-yy617:
+#line 3599 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy549:
yych = *++cursor_;
- if (yych == 'p') goto yy831;
- goto yy87;
-yy618:
+ if (yych == 'p') goto yy765;
+ goto yy11;
+yy550:
yych = *++cursor_;
- if (yych == 'i') goto yy832;
- if (yych == 'm') goto yy833;
- goto yy87;
-yy619:
+ if (yych == 'i') goto yy766;
+ if (yych == 'm') goto yy767;
+ goto yy11;
+yy551:
yych = *++cursor_;
- if (yych == 't') goto yy834;
- goto yy87;
-yy620:
+ if (yych == 't') goto yy768;
+ goto yy11;
+yy552:
yych = *++cursor_;
- if (yych == 'l') goto yy835;
- if (yych == 'r') goto yy837;
- goto yy87;
-yy621:
+ if (yych == 'l') goto yy769;
+ if (yych == 'r') goto yy771;
+ goto yy11;
+yy553:
yych = *++cursor_;
- if (yych == 'o') goto yy838;
- goto yy87;
-yy622:
+ if (yych == 'o') goto yy772;
+ goto yy11;
+yy554:
yych = *++cursor_;
- if (yych == 'b') goto yy839;
- goto yy87;
-yy623:
+ if (yych == 'b') goto yy773;
+ goto yy11;
+yy555:
yych = *++cursor_;
- if (yych == 'u') goto yy841;
- goto yy87;
-yy624:
+ if (yych == 'u') goto yy775;
+ goto yy11;
+yy556:
yych = *++cursor_;
- if (yych == 'r') goto yy842;
- goto yy87;
-yy625:
+ if (yych == 'r') goto yy776;
+ goto yy11;
+yy557:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy844;
- case 'e': goto yy845;
- case 'n': goto yy846;
- case 'r': goto yy847;
- case 's': goto yy848;
- case 't': goto yy849;
- default: goto yy87;
+ case 'a': goto yy778;
+ case 'e': goto yy779;
+ case 'n': goto yy780;
+ case 'r': goto yy781;
+ case 's': goto yy782;
+ case 't': goto yy783;
+ default: goto yy11;
}
-yy626:
+yy558:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy850;
- case 'e': goto yy851;
- case 'g': goto yy852;
- case 'l': goto yy853;
- case 'm': goto yy854;
- case 'n': goto yy855;
- case 'r': goto yy856;
- case 's': goto yy857;
- default: goto yy87;
- }
-yy627:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ case 'a': goto yy784;
+ case 'e': goto yy785;
+ case 'g': goto yy786;
+ case 'l': goto yy787;
+ case 'm': goto yy788;
+ case 'n': goto yy789;
+ case 'r': goto yy790;
+ case 's': goto yy791;
+ default: goto yy11;
}
-#line 725 "src/wast-lexer.cc"
+yy559:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 732 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Import); }
-#line 4223 "src/prebuilt/wast-lexer-gen.cc"
-yy629:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3665 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy561:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 730 "src/wast-lexer.cc"
+#line 737 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Invoke); }
-#line 4231 "src/prebuilt/wast-lexer-gen.cc"
-yy631:
+#line 3673 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy563:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'g') goto yy858;
- goto yy87;
+ if (yych == 'g') goto yy792;
+ goto yy11;
} else {
- if (yych <= 's') goto yy859;
- if (yych <= 't') goto yy860;
- goto yy87;
+ if (yych <= 's') goto yy793;
+ if (yych <= 't') goto yy794;
+ goto yy11;
}
-yy632:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+yy564:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy633;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy565;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy861;
- goto yy86;
+ if (yych == '.') goto yy795;
+ goto yy10;
} else {
- if (yych <= ';') goto yy633;
- if (yych <= '~') goto yy86;
+ if (yych <= ';') goto yy565;
+ if (yych <= '~') goto yy10;
}
}
-yy633:
-#line 720 "src/wast-lexer.cc"
+yy565:
+#line 727 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Memory); }
-#line 4263 "src/prebuilt/wast-lexer-gen.cc"
-yy634:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3705 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy566:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 716 "src/wast-lexer.cc"
+#line 723 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Module); }
-#line 4271 "src/prebuilt/wast-lexer-gen.cc"
-yy636:
+#line 3713 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy568:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy88;
+ if (yych == '!') goto yy10;
+ goto yy12;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy88;
- if (yych <= '/') goto yy86;
- goto yy862;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy12;
+ if (yych <= '/') goto yy10;
+ goto yy796;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy88;
- if (yych <= '@') goto yy86;
- goto yy862;
+ if (yych == ';') goto yy12;
+ if (yych <= '@') goto yy10;
+ goto yy796;
} else {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy862;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy796;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy637:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+yy569:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy638;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy570;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '<') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '=') goto yy864;
- if (yych <= '~') goto yy86;
+ if (yych <= '=') goto yy798;
+ if (yych <= '~') goto yy10;
}
}
-yy638:
-#line 724 "src/wast-lexer.cc"
+yy570:
+#line 731 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Offset); }
-#line 4318 "src/prebuilt/wast-lexer-gen.cc"
-yy639:
+#line 3760 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy571:
yych = *++cursor_;
- if (yych == 'e') goto yy865;
- goto yy87;
-yy640:
+ if (yych == 'e') goto yy799;
+ goto yy11;
+yy572:
yych = *++cursor_;
- if (yych == 'e') goto yy867;
- goto yy87;
-yy641:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == '_') goto yy801;
+ goto yy11;
+yy573:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy802;
+ goto yy11;
+yy574:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy803;
+ goto yy11;
+yy575:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 713 "src/wast-lexer.cc"
+#line 720 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Result); }
-#line 4334 "src/prebuilt/wast-lexer-gen.cc"
-yy643:
+#line 3784 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy577:
yych = *++cursor_;
- if (yych == 'w') goto yy868;
- goto yy87;
-yy644:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'w') goto yy804;
+ goto yy11;
+yy578:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy645;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy579;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy870;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy806;
+ if (yych <= '~') goto yy10;
}
}
-yy645:
-#line 275 "src/wast-lexer.cc"
+yy579:
+#line 276 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Return); }
-#line 4359 "src/prebuilt/wast-lexer-gen.cc"
-yy646:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3809 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy580:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 446 "src/wast-lexer.cc"
+#line 447 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Select); }
-#line 4367 "src/prebuilt/wast-lexer-gen.cc"
-yy648:
+#line 3817 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy582:
yych = *++cursor_;
- if (yych == 'o') goto yy871;
- goto yy87;
-yy649:
+ if (yych == 'o') goto yy807;
+ goto yy11;
+yy583:
yych = *++cursor_;
- if (yych == 'c') goto yy872;
- goto yy87;
-yy650:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'c') goto yy808;
+ goto yy11;
+yy584:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 746 "src/wast-lexer.cc"
+#line 753 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Shared); }
-#line 4383 "src/prebuilt/wast-lexer-gen.cc"
-yy652:
+#line 3833 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy586:
yych = *++cursor_;
- if (yych == 'c') goto yy873;
- if (yych == 'i') goto yy874;
- goto yy87;
-yy653:
+ switch (yych) {
+ case 'c': goto yy809;
+ case 'g': goto yy810;
+ case 'i': goto yy811;
+ case 's': goto yy812;
+ default: goto yy11;
+ }
+yy587:
yych = *++cursor_;
- if (yych == 'c') goto yy875;
- goto yy87;
-yy654:
+ if (yych == 'c') goto yy813;
+ goto yy11;
+yy588:
yych = *++cursor_;
- if (yych == 'h') goto yy876;
- goto yy87;
-yy655:
+ if (yych == 'h') goto yy814;
+ goto yy11;
+yy589:
yych = *++cursor_;
- if (yych == 'n') goto yy877;
- goto yy87;
-yy656:
+ if (yych == 'n') goto yy815;
+ goto yy11;
+yy590:
yych = *++cursor_;
- if (yych == 'i') goto yy878;
- goto yy87;
-yy657:
+ if (yych == 'i') goto yy816;
+ goto yy11;
+yy591:
yych = *++cursor_;
- if (yych == 'o') goto yy879;
- goto yy87;
-yy658:
+ if (yych == 'o') goto yy817;
+ goto yy11;
+yy592:
yych = *++cursor_;
- if (yych == 'o') goto yy880;
- goto yy87;
-yy659:
+ if (yych == 'o') goto yy818;
+ goto yy11;
+yy593:
yych = *++cursor_;
- if (yych == 'o') goto yy881;
- goto yy87;
-yy660:
+ if (yych == 'o') goto yy819;
+ goto yy11;
+yy594:
yych = *++cursor_;
- if (yych == 'r') goto yy882;
- goto yy87;
-yy661:
+ if (yych == 'r') goto yy820;
+ goto yy11;
+yy595:
yych = *++cursor_;
- if (yych == 't') goto yy884;
- goto yy87;
-yy662:
+ if (yych == 't') goto yy822;
+ goto yy11;
+yy596:
yych = *++cursor_;
- if (yych == 'o') goto yy885;
- goto yy87;
-yy663:
+ if (yych == 'o') goto yy823;
+ goto yy11;
+yy597:
yych = *++cursor_;
- if (yych == 's') goto yy886;
- goto yy87;
-yy664:
- ++cursor_;
- if ((yych = *cursor_) <= '9') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy665;
- if (yych <= '/') goto yy86;
- goto yy666;
- }
- } else {
- if (yych <= '_') {
- if (yych == ';') goto yy665;
- if (yych <= '^') goto yy86;
- goto yy887;
- } else {
- if (yych == 'x') goto yy888;
- if (yych <= '~') goto yy86;
- }
- }
-yy665:
-#line 305 "src/wast-lexer.cc"
+ if (yych == 's') goto yy824;
+ goto yy11;
+yy598:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy826;
+ goto yy601;
+yy599:
+#line 306 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TEXT_AT(AlignEqNat, 6); }
-#line 4457 "src/prebuilt/wast-lexer-gen.cc"
-yy666:
+#line 3894 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy600:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
+yy601:
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy665;
+ if (yych == '!') goto yy10;
+ goto yy599;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy665;
- goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy599;
+ goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy666;
- if (yych <= ':') goto yy86;
- goto yy665;
+ if (yych <= '9') goto yy600;
+ if (yych <= ':') goto yy10;
+ goto yy599;
} else {
- if (yych == '_') goto yy887;
- if (yych <= '~') goto yy86;
- goto yy665;
+ if (yych == '_') goto yy825;
+ if (yych <= '~') goto yy10;
+ goto yy599;
}
}
-yy668:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy602:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 670 "src/wast-lexer.cc"
+#line 677 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Funcref); }
-#line 4489 "src/prebuilt/wast-lexer-gen.cc"
-yy670:
+#line 3927 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy604:
yych = *++cursor_;
switch (yych) {
- case 'e': goto yy889;
- case 'i': goto yy890;
- case 'm': goto yy891;
- case 'r': goto yy892;
- case 't': goto yy893;
- case 'u': goto yy894;
- default: goto yy87;
+ case 'e': goto yy827;
+ case 'i': goto yy828;
+ case 'm': goto yy829;
+ case 'r': goto yy830;
+ case 't': goto yy831;
+ case 'u': goto yy832;
+ default: goto yy11;
}
-yy671:
+yy605:
yych = *++cursor_;
- if (yych == 'n') goto yy895;
- goto yy87;
-yy672:
+ if (yych == 'n') goto yy833;
+ goto yy11;
+yy606:
yych = *++cursor_;
- if (yych == 'x') goto yy896;
- goto yy87;
-yy673:
+ if (yych == 'x') goto yy834;
+ goto yy11;
+yy607:
yych = *++cursor_;
- if (yych == 'e') goto yy897;
- goto yy87;
-yy674:
+ if (yych == 'e') goto yy835;
+ goto yy11;
+yy608:
yych = *++cursor_;
- if (yych == 'd') goto yy899;
- goto yy87;
-yy675:
+ if (yych == 'd') goto yy837;
+ goto yy11;
+yy609:
yych = *++cursor_;
- if (yych == '_') goto yy900;
- goto yy87;
-yy676:
+ if (yych == '_') goto yy838;
+ goto yy11;
+yy610:
yych = *++cursor_;
- if (yych == 'o') goto yy901;
- goto yy87;
-yy677:
+ if (yych == 'o') goto yy839;
+ goto yy11;
+yy611:
yych = *++cursor_;
- if (yych == 'o') goto yy902;
- goto yy87;
-yy678:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy840;
+ goto yy11;
+yy612:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 320 "src/wast-lexer.cc"
+#line 321 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Abs); }
-#line 4536 "src/prebuilt/wast-lexer-gen.cc"
-yy680:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 3974 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy614:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 367 "src/wast-lexer.cc"
+#line 368 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Add); }
-#line 4544 "src/prebuilt/wast-lexer-gen.cc"
-yy682:
+#line 3982 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy616:
yych = *++cursor_;
- if (yych == 'l') goto yy903;
- goto yy87;
-yy683:
+ if (yych == 'l') goto yy841;
+ goto yy11;
+yy617:
yych = *++cursor_;
- if (yych == 's') goto yy905;
- if (yych == 'v') goto yy906;
- goto yy87;
-yy684:
+ if (yych == 's') goto yy843;
+ if (yych == 'v') goto yy844;
+ goto yy11;
+yy618:
yych = *++cursor_;
- if (yych == 'y') goto yy907;
- goto yy87;
-yy685:
+ if (yych == 'y') goto yy845;
+ goto yy11;
+yy619:
yych = *++cursor_;
- if (yych == 'o') goto yy908;
- goto yy87;
-yy686:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'o') goto yy846;
+ goto yy11;
+yy620:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 373 "src/wast-lexer.cc"
+#line 374 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Div); }
-#line 4569 "src/prebuilt/wast-lexer-gen.cc"
-yy688:
+#line 4007 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy622:
yych = *++cursor_;
- if (yych == 'o') goto yy909;
- goto yy87;
-yy689:
+ if (yych == 'o') goto yy847;
+ goto yy11;
+yy623:
yych = *++cursor_;
- if (yych == 'd') goto yy910;
- goto yy87;
-yy690:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'd') goto yy848;
+ goto yy11;
+yy624:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 377 "src/wast-lexer.cc"
+#line 378 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Max); }
-#line 4585 "src/prebuilt/wast-lexer-gen.cc"
-yy692:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4023 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy626:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 375 "src/wast-lexer.cc"
+#line 376 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Min); }
-#line 4593 "src/prebuilt/wast-lexer-gen.cc"
-yy694:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4031 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy628:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 371 "src/wast-lexer.cc"
+#line 372 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Mul); }
-#line 4601 "src/prebuilt/wast-lexer-gen.cc"
-yy696:
+#line 4039 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy630:
yych = *++cursor_;
- if (yych == 'r') goto yy912;
- goto yy87;
-yy697:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy850;
+ goto yy11;
+yy631:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 318 "src/wast-lexer.cc"
+#line 319 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Neg); }
-#line 4613 "src/prebuilt/wast-lexer-gen.cc"
-yy699:
+#line 4051 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy633:
yych = *++cursor_;
- if (yych == 'n') goto yy913;
- goto yy87;
-yy700:
+ if (yych == 'n') goto yy851;
+ goto yy11;
+yy634:
yych = *++cursor_;
- if (yych == 't') goto yy914;
- goto yy87;
-yy701:
+ if (yych == 't') goto yy852;
+ goto yy11;
+yy635:
yych = *++cursor_;
- if (yych == 'r') goto yy916;
- goto yy87;
-yy702:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy854;
+ goto yy11;
+yy636:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 369 "src/wast-lexer.cc"
+#line 370 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Sub); }
-#line 4633 "src/prebuilt/wast-lexer-gen.cc"
-yy704:
+#line 4071 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy638:
yych = *++cursor_;
- if (yych == 'n') goto yy917;
- goto yy87;
-yy705:
+ if (yych == 'n') goto yy855;
+ goto yy11;
+yy639:
yych = *++cursor_;
- if (yych == 'b') goto yy918;
- if (yych == 'd') goto yy919;
- goto yy87;
-yy706:
+ if (yych == 'b') goto yy856;
+ if (yych == 'd') goto yy857;
+ goto yy11;
+yy640:
yych = *++cursor_;
- if (yych == 'o') goto yy920;
- goto yy87;
-yy707:
+ if (yych == 'o') goto yy858;
+ goto yy11;
+yy641:
yych = *++cursor_;
- if (yych == 'i') goto yy921;
- goto yy87;
-yy708:
+ if (yych == 'i') goto yy859;
+ goto yy11;
+yy642:
yych = *++cursor_;
- if (yych == 'q') goto yy922;
- if (yych == 'x') goto yy924;
- goto yy87;
-yy709:
+ if (yych == 'q') goto yy860;
+ if (yych == 'x') goto yy862;
+ goto yy11;
+yy643:
yych = *++cursor_;
- if (yych == 'e') goto yy925;
- if (yych == 't') goto yy927;
- goto yy87;
-yy710:
+ if (yych == 'e') goto yy863;
+ if (yych == 't') goto yy865;
+ goto yy11;
+yy644:
yych = *++cursor_;
- if (yych == 'e') goto yy929;
- if (yych == 't') goto yy931;
- goto yy87;
-yy711:
+ if (yych == 'e') goto yy867;
+ if (yych == 't') goto yy869;
+ goto yy11;
+yy645:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy933;
- goto yy87;
+ if (yych == 'a') goto yy871;
+ goto yy11;
} else {
- if (yych <= 'i') goto yy934;
- if (yych == 'u') goto yy935;
- goto yy87;
+ if (yych <= 'i') goto yy872;
+ if (yych == 'u') goto yy873;
+ goto yy11;
}
-yy712:
+yy646:
yych = *++cursor_;
- if (yych == 'e') goto yy936;
- goto yy87;
-yy713:
+ if (yych == 'e') goto yy874;
+ goto yy11;
+yy647:
yych = *++cursor_;
- if (yych == 'e') goto yy938;
- goto yy87;
-yy714:
+ if (yych == 'e') goto yy876;
+ goto yy11;
+yy648:
yych = *++cursor_;
if (yych <= 'q') {
- if (yych <= 'o') goto yy87;
- if (yych <= 'p') goto yy939;
- goto yy940;
+ if (yych <= 'o') goto yy11;
+ if (yych <= 'p') goto yy877;
+ goto yy878;
} else {
- if (yych == 'u') goto yy941;
- goto yy87;
+ if (yych == 'u') goto yy879;
+ goto yy11;
}
-yy715:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy649:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 321 "src/wast-lexer.cc"
+#line 322 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Abs); }
-#line 4701 "src/prebuilt/wast-lexer-gen.cc"
-yy717:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4139 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy651:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 368 "src/wast-lexer.cc"
+#line 369 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Add); }
-#line 4709 "src/prebuilt/wast-lexer-gen.cc"
-yy719:
+#line 4147 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy653:
yych = *++cursor_;
- if (yych == 'l') goto yy942;
- goto yy87;
-yy720:
+ if (yych == 'l') goto yy880;
+ goto yy11;
+yy654:
yych = *++cursor_;
- if (yych == 's') goto yy944;
- if (yych == 'v') goto yy945;
- goto yy87;
-yy721:
+ if (yych == 's') goto yy882;
+ if (yych == 'v') goto yy883;
+ goto yy11;
+yy655:
yych = *++cursor_;
- if (yych == 'y') goto yy946;
- goto yy87;
-yy722:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'y') goto yy884;
+ goto yy11;
+yy656:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 374 "src/wast-lexer.cc"
+#line 375 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Div); }
-#line 4730 "src/prebuilt/wast-lexer-gen.cc"
-yy724:
+#line 4168 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy658:
yych = *++cursor_;
- if (yych == 'o') goto yy947;
- goto yy87;
-yy725:
+ if (yych == 'o') goto yy885;
+ goto yy11;
+yy659:
yych = *++cursor_;
- if (yych == 'd') goto yy948;
- goto yy87;
-yy726:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'd') goto yy886;
+ goto yy11;
+yy660:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 378 "src/wast-lexer.cc"
+#line 379 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Max); }
-#line 4746 "src/prebuilt/wast-lexer-gen.cc"
-yy728:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4184 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy662:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 376 "src/wast-lexer.cc"
+#line 377 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Min); }
-#line 4754 "src/prebuilt/wast-lexer-gen.cc"
-yy730:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4192 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy664:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 372 "src/wast-lexer.cc"
+#line 373 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Mul); }
-#line 4762 "src/prebuilt/wast-lexer-gen.cc"
-yy732:
+#line 4200 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy666:
yych = *++cursor_;
- if (yych == 'r') goto yy950;
- goto yy87;
-yy733:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy888;
+ goto yy11;
+yy667:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 319 "src/wast-lexer.cc"
+#line 320 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Neg); }
-#line 4774 "src/prebuilt/wast-lexer-gen.cc"
-yy735:
+#line 4212 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy669:
yych = *++cursor_;
- if (yych == 'm') goto yy951;
- goto yy87;
-yy736:
+ if (yych == 'm') goto yy889;
+ goto yy11;
+yy670:
yych = *++cursor_;
- if (yych == 'n') goto yy952;
- goto yy87;
-yy737:
+ if (yych == 'n') goto yy890;
+ goto yy11;
+yy671:
yych = *++cursor_;
- if (yych == 't') goto yy953;
- goto yy87;
-yy738:
+ if (yych == 't') goto yy891;
+ goto yy11;
+yy672:
yych = *++cursor_;
- if (yych == 'r') goto yy955;
- goto yy87;
-yy739:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy893;
+ goto yy11;
+yy673:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 370 "src/wast-lexer.cc"
+#line 371 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Sub); }
-#line 4798 "src/prebuilt/wast-lexer-gen.cc"
-yy741:
+#line 4236 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy675:
yych = *++cursor_;
- if (yych == 'n') goto yy956;
- goto yy87;
-yy742:
+ if (yych == 'n') goto yy894;
+ goto yy11;
+yy676:
yych = *++cursor_;
- if (yych == 'b') goto yy957;
- if (yych == 'd') goto yy958;
- goto yy87;
-yy743:
+ if (yych == 'b') goto yy895;
+ if (yych == 'd') goto yy896;
+ goto yy11;
+yy677:
yych = *++cursor_;
- if (yych == 'o') goto yy959;
- goto yy87;
-yy744:
+ if (yych == 'o') goto yy897;
+ goto yy11;
+yy678:
yych = *++cursor_;
- if (yych == 'i') goto yy960;
- goto yy87;
-yy745:
+ if (yych == 'i') goto yy898;
+ goto yy11;
+yy679:
yych = *++cursor_;
- if (yych == 'q') goto yy961;
- if (yych == 'x') goto yy963;
- goto yy87;
-yy746:
+ if (yych == 'q') goto yy899;
+ if (yych == 'x') goto yy901;
+ goto yy11;
+yy680:
yych = *++cursor_;
- if (yych == 'e') goto yy964;
- if (yych == 't') goto yy966;
- goto yy87;
-yy747:
+ if (yych == 'e') goto yy902;
+ if (yych == 't') goto yy904;
+ goto yy11;
+yy681:
yych = *++cursor_;
- if (yych == 'e') goto yy968;
- if (yych == 't') goto yy970;
- goto yy87;
-yy748:
+ if (yych == 'e') goto yy906;
+ if (yych == 't') goto yy908;
+ goto yy11;
+yy682:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy972;
- goto yy87;
+ if (yych == 'a') goto yy910;
+ goto yy11;
} else {
- if (yych <= 'i') goto yy973;
- if (yych == 'u') goto yy974;
- goto yy87;
+ if (yych <= 'i') goto yy911;
+ if (yych == 'u') goto yy912;
+ goto yy11;
}
-yy749:
+yy683:
yych = *++cursor_;
- if (yych == 'e') goto yy975;
- goto yy87;
-yy750:
+ if (yych == 'e') goto yy913;
+ goto yy11;
+yy684:
yych = *++cursor_;
- if (yych == 'e') goto yy977;
- goto yy87;
-yy751:
+ if (yych == 'e') goto yy915;
+ goto yy11;
+yy685:
yych = *++cursor_;
if (yych <= 'q') {
- if (yych <= 'o') goto yy87;
- if (yych <= 'p') goto yy978;
- goto yy979;
+ if (yych <= 'o') goto yy11;
+ if (yych <= 'p') goto yy916;
+ goto yy917;
} else {
- if (yych == 'u') goto yy980;
- goto yy87;
+ if (yych == 'u') goto yy918;
+ goto yy11;
}
-yy752:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy686:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 260 "src/wast-lexer.cc"
+#line 260 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Funcref); }
-#line 4866 "src/prebuilt/wast-lexer-gen.cc"
-yy754:
+#line 4304 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy688:
yych = *++cursor_;
- if (yych == 'b') goto yy981;
- goto yy87;
-yy755:
+ if (yych == 'b') goto yy919;
+ goto yy11;
+yy689:
yych = *++cursor_;
- if (yych == 'a') goto yy982;
- goto yy87;
-yy756:
+ if (yych == 'a') goto yy920;
+ goto yy11;
+yy690:
yych = *++cursor_;
- if (yych == 'g') goto yy983;
- if (yych == 's') goto yy984;
- goto yy87;
-yy757:
+ if (yych == 'g') goto yy921;
+ if (yych == 's') goto yy922;
+ goto yy11;
+yy691:
yych = *++cursor_;
- if (yych == 'm') goto yy985;
- goto yy87;
-yy758:
+ if (yych == 'm') goto yy923;
+ goto yy11;
+yy692:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy986;
- goto yy87;
+ if (yych == 'd') goto yy924;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy987;
- if (yych == 'n') goto yy988;
- goto yy87;
+ if (yych <= 'l') goto yy925;
+ if (yych == 'n') goto yy926;
+ goto yy11;
}
-yy759:
+yy693:
yych = *++cursor_;
- if (yych == 'q') goto yy989;
- if (yych == 'x') goto yy991;
- goto yy87;
-yy760:
+ if (yych == 'q') goto yy927;
+ if (yych == 'x') goto yy929;
+ goto yy11;
+yy694:
yych = *++cursor_;
- if (yych == 'e') goto yy992;
- if (yych == 't') goto yy993;
- goto yy87;
-yy761:
+ if (yych == 'e') goto yy930;
+ if (yych == 't') goto yy931;
+ goto yy11;
+yy695:
yych = *++cursor_;
- if (yych == 'e') goto yy994;
- if (yych == 't') goto yy995;
- goto yy87;
-yy762:
+ if (yych == 'e') goto yy932;
+ if (yych == 't') goto yy933;
+ goto yy11;
+yy696:
yych = *++cursor_;
- if (yych == 'u') goto yy996;
- goto yy87;
-yy763:
+ if (yych == 'u') goto yy934;
+ goto yy11;
+yy697:
yych = *++cursor_;
- if (yych == 'e') goto yy997;
- goto yy87;
-yy764:
+ if (yych == 'e') goto yy935;
+ goto yy11;
+yy698:
yych = *++cursor_;
- if (yych == 'e') goto yy999;
- goto yy87;
-yy765:
+ if (yych == 'e') goto yy937;
+ goto yy11;
+yy699:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1000;
- goto yy87;
+ if (yych == 'h') goto yy938;
+ goto yy11;
} else {
- if (yych <= 'p') goto yy1001;
- if (yych == 'u') goto yy1002;
- goto yy87;
+ if (yych <= 'p') goto yy939;
+ if (yych == 'u') goto yy940;
+ goto yy11;
}
-yy766:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy700:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 337 "src/wast-lexer.cc"
+#line 338 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Add); }
-#line 4938 "src/prebuilt/wast-lexer-gen.cc"
-yy768:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4376 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy702:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 351 "src/wast-lexer.cc"
+#line 352 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32And); }
-#line 4946 "src/prebuilt/wast-lexer-gen.cc"
-yy770:
+#line 4384 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy704:
yych = *++cursor_;
- if (yych == 'm') goto yy1003;
- goto yy87;
-yy771:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'm') goto yy941;
+ goto yy11;
+yy705:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 312 "src/wast-lexer.cc"
+#line 313 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Clz); }
-#line 4958 "src/prebuilt/wast-lexer-gen.cc"
-yy773:
+#line 4396 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy707:
yych = *++cursor_;
- if (yych == 's') goto yy1004;
- goto yy87;
-yy774:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy942;
+ goto yy11;
+yy708:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 314 "src/wast-lexer.cc"
+#line 315 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Ctz); }
-#line 4970 "src/prebuilt/wast-lexer-gen.cc"
-yy776:
+#line 4408 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy710:
yych = *++cursor_;
- if (yych == '_') goto yy1005;
- goto yy87;
-yy777:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == '_') goto yy943;
+ goto yy11;
+yy711:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 310 "src/wast-lexer.cc"
+#line 311 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32Eqz); }
-#line 4982 "src/prebuilt/wast-lexer-gen.cc"
-yy779:
+#line 4420 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy713:
yych = *++cursor_;
- if (yych == 'e') goto yy1006;
- goto yy87;
-yy780:
+ if (yych == 'e') goto yy944;
+ goto yy11;
+yy714:
yych = *++cursor_;
- if (yych == 's') goto yy1007;
- if (yych == 'u') goto yy1009;
- goto yy87;
-yy781:
+ if (yych == 's') goto yy945;
+ if (yych == 'u') goto yy947;
+ goto yy11;
+yy715:
yych = *++cursor_;
- if (yych == 's') goto yy1011;
- if (yych == 'u') goto yy1013;
- goto yy87;
-yy782:
+ if (yych == 's') goto yy949;
+ if (yych == 'u') goto yy951;
+ goto yy11;
+yy716:
yych = *++cursor_;
- if (yych == 's') goto yy1015;
- if (yych == 'u') goto yy1017;
- goto yy87;
-yy783:
+ if (yych == 's') goto yy953;
+ if (yych == 'u') goto yy955;
+ goto yy11;
+yy717:
yych = *++cursor_;
- if (yych == 'd') goto yy1019;
- goto yy87;
-yy784:
+ if (yych == 'd') goto yy957;
+ goto yy11;
+yy718:
yych = *++cursor_;
- if (yych == 's') goto yy1021;
- if (yych == 'u') goto yy1023;
- goto yy87;
-yy785:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy959;
+ if (yych == 'u') goto yy961;
+ goto yy11;
+yy719:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 341 "src/wast-lexer.cc"
+#line 342 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Mul); }
-#line 5018 "src/prebuilt/wast-lexer-gen.cc"
-yy787:
+#line 4456 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy721:
yych = *++cursor_;
- if (yych == 'c') goto yy1025;
- goto yy87;
-yy788:
+ if (yych == 'c') goto yy963;
+ goto yy11;
+yy722:
yych = *++cursor_;
- if (yych == 'n') goto yy1026;
- goto yy87;
-yy789:
+ if (yych == 'n') goto yy964;
+ goto yy11;
+yy723:
yych = *++cursor_;
- if (yych == '_') goto yy1027;
- goto yy87;
-yy790:
+ if (yych == '_') goto yy965;
+ goto yy11;
+yy724:
yych = *++cursor_;
- if (yych == 'l') goto yy1028;
- if (yych == 'r') goto yy1030;
- goto yy87;
-yy791:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy966;
+ if (yych == 'r') goto yy968;
+ goto yy11;
+yy725:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 357 "src/wast-lexer.cc"
+#line 358 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Shl); }
-#line 5043 "src/prebuilt/wast-lexer-gen.cc"
-yy793:
+#line 4481 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy727:
yych = *++cursor_;
- if (yych == '_') goto yy1032;
- goto yy87;
-yy794:
+ if (yych == '_') goto yy970;
+ goto yy11;
+yy728:
yych = *++cursor_;
- if (yych == 'r') goto yy1033;
- goto yy87;
-yy795:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy971;
+ goto yy11;
+yy729:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 339 "src/wast-lexer.cc"
+#line 340 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Sub); }
-#line 5059 "src/prebuilt/wast-lexer-gen.cc"
-yy797:
+#line 4497 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy731:
yych = *++cursor_;
- if (yych == 'n') goto yy1034;
- goto yy87;
-yy798:
+ if (yych == 'n') goto yy972;
+ goto yy11;
+yy732:
yych = *++cursor_;
- if (yych == 'p') goto yy1035;
- goto yy87;
-yy799:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'p') goto yy973;
+ goto yy11;
+yy733:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 355 "src/wast-lexer.cc"
+#line 356 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Xor); }
-#line 5075 "src/prebuilt/wast-lexer-gen.cc"
-yy801:
+#line 4513 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy735:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy1036;
- goto yy87;
+ if (yych == 'd') goto yy974;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy1037;
- if (yych == 'n') goto yy1038;
- goto yy87;
+ if (yych <= 'l') goto yy975;
+ if (yych == 'n') goto yy976;
+ goto yy11;
}
-yy802:
+yy736:
yych = *++cursor_;
- if (yych == 'q') goto yy1039;
- if (yych == 'x') goto yy1041;
- goto yy87;
-yy803:
+ if (yych == 'q') goto yy977;
+ if (yych == 'x') goto yy979;
+ goto yy11;
+yy737:
yych = *++cursor_;
- if (yych == 'e') goto yy1042;
- if (yych == 't') goto yy1043;
- goto yy87;
-yy804:
+ if (yych == 'e') goto yy980;
+ if (yych == 't') goto yy981;
+ goto yy11;
+yy738:
yych = *++cursor_;
- if (yych == 'e') goto yy1044;
- if (yych == 't') goto yy1045;
- goto yy87;
-yy805:
+ if (yych == 'e') goto yy982;
+ if (yych == 't') goto yy983;
+ goto yy11;
+yy739:
yych = *++cursor_;
- if (yych == 'u') goto yy1046;
- goto yy87;
-yy806:
+ if (yych == 'u') goto yy984;
+ goto yy11;
+yy740:
yych = *++cursor_;
- if (yych == 'e') goto yy1047;
- goto yy87;
-yy807:
+ if (yych == 'e') goto yy985;
+ goto yy11;
+yy741:
yych = *++cursor_;
- if (yych == 'e') goto yy1049;
- goto yy87;
-yy808:
+ if (yych == 'e') goto yy987;
+ goto yy11;
+yy742:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1050;
- goto yy87;
+ if (yych == 'h') goto yy988;
+ goto yy11;
} else {
- if (yych <= 'p') goto yy1051;
- if (yych == 'u') goto yy1052;
- goto yy87;
+ if (yych <= 'p') goto yy989;
+ if (yych == 'u') goto yy990;
+ goto yy11;
}
-yy809:
+yy743:
yych = *++cursor_;
- if (yych == 'r') goto yy1053;
- goto yy87;
-yy810:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy991;
+ goto yy11;
+yy744:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 338 "src/wast-lexer.cc"
+#line 339 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Add); }
-#line 5134 "src/prebuilt/wast-lexer-gen.cc"
-yy812:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 4572 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy746:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 352 "src/wast-lexer.cc"
+#line 353 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64And); }
-#line 5142 "src/prebuilt/wast-lexer-gen.cc"
-yy814:
+#line 4580 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy748:
yych = *++cursor_;
- if (yych == 'm') goto yy1054;
- goto yy87;
-yy815:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'm') goto yy992;
+ goto yy11;
+yy749:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 313 "src/wast-lexer.cc"
+#line 314 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Clz); }
-#line 5154 "src/prebuilt/wast-lexer-gen.cc"
-yy817:
+#line 4592 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy751:
yych = *++cursor_;
- if (yych == 's') goto yy1055;
- goto yy87;
-yy818:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy993;
+ goto yy11;
+yy752:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 315 "src/wast-lexer.cc"
+#line 316 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Ctz); }
-#line 5166 "src/prebuilt/wast-lexer-gen.cc"
-yy820:
+#line 4604 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy754:
yych = *++cursor_;
- if (yych == '_') goto yy1056;
- goto yy87;
-yy821:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == '_') goto yy994;
+ goto yy11;
+yy755:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 311 "src/wast-lexer.cc"
+#line 312 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64Eqz); }
-#line 5178 "src/prebuilt/wast-lexer-gen.cc"
-yy823:
+#line 4616 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy757:
yych = *++cursor_;
- if (yych == 'e') goto yy1057;
- goto yy87;
-yy824:
+ if (yych == 'e') goto yy995;
+ goto yy11;
+yy758:
yych = *++cursor_;
- if (yych == 's') goto yy1058;
- if (yych == 'u') goto yy1060;
- goto yy87;
-yy825:
+ if (yych == 's') goto yy996;
+ if (yych == 'u') goto yy998;
+ goto yy11;
+yy759:
yych = *++cursor_;
- if (yych == 's') goto yy1062;
- if (yych == 'u') goto yy1064;
- goto yy87;
-yy826:
+ if (yych == 's') goto yy1000;
+ if (yych == 'u') goto yy1002;
+ goto yy11;
+yy760:
yych = *++cursor_;
- if (yych == 's') goto yy1066;
- if (yych == 'u') goto yy1068;
- goto yy87;
-yy827:
+ if (yych == 's') goto yy1004;
+ if (yych == 'u') goto yy1006;
+ goto yy11;
+yy761:
yych = *++cursor_;
- if (yych == 'd') goto yy1070;
- goto yy87;
-yy828:
+ if (yych == 'd') goto yy1008;
+ goto yy11;
+yy762:
yych = *++cursor_;
- if (yych == 's') goto yy1072;
- if (yych == 'u') goto yy1074;
- goto yy87;
-yy829:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1010;
+ if (yych == 'u') goto yy1012;
+ goto yy11;
+yy763:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 342 "src/wast-lexer.cc"
+#line 343 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Mul); }
-#line 5214 "src/prebuilt/wast-lexer-gen.cc"
-yy831:
+#line 4652 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy765:
yych = *++cursor_;
- if (yych == 'c') goto yy1076;
- goto yy87;
-yy832:
+ if (yych == 'c') goto yy1014;
+ goto yy11;
+yy766:
yych = *++cursor_;
- if (yych == 'n') goto yy1077;
- goto yy87;
-yy833:
+ if (yych == 'n') goto yy1015;
+ goto yy11;
+yy767:
yych = *++cursor_;
- if (yych == '_') goto yy1078;
- goto yy87;
-yy834:
+ if (yych == '_') goto yy1016;
+ goto yy11;
+yy768:
yych = *++cursor_;
- if (yych == 'l') goto yy1079;
- if (yych == 'r') goto yy1081;
- goto yy87;
-yy835:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1017;
+ if (yych == 'r') goto yy1019;
+ goto yy11;
+yy769:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 358 "src/wast-lexer.cc"
+#line 359 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Shl); }
-#line 5239 "src/prebuilt/wast-lexer-gen.cc"
-yy837:
+#line 4677 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy771:
yych = *++cursor_;
- if (yych == '_') goto yy1083;
- goto yy87;
-yy838:
+ if (yych == '_') goto yy1021;
+ goto yy11;
+yy772:
yych = *++cursor_;
- if (yych == 'r') goto yy1084;
- goto yy87;
-yy839:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1022;
+ goto yy11;
+yy773:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 340 "src/wast-lexer.cc"
+#line 341 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Sub); }
-#line 5255 "src/prebuilt/wast-lexer-gen.cc"
-yy841:
+#line 4693 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy775:
yych = *++cursor_;
- if (yych == 'n') goto yy1085;
- goto yy87;
-yy842:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1023;
+ goto yy11;
+yy776:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 356 "src/wast-lexer.cc"
+#line 357 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Xor); }
-#line 5267 "src/prebuilt/wast-lexer-gen.cc"
-yy844:
+#line 4705 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy778:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy1086;
- goto yy87;
+ if (yych == 'd') goto yy1024;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy1087;
- if (yych == 'n') goto yy1088;
- goto yy87;
+ if (yych <= 'l') goto yy1025;
+ if (yych == 'n') goto yy1026;
+ goto yy11;
}
-yy845:
+yy779:
yych = *++cursor_;
- if (yych == 'x') goto yy1089;
- goto yy87;
-yy846:
+ if (yych == 'x') goto yy1027;
+ goto yy11;
+yy780:
yych = *++cursor_;
- if (yych == 'e') goto yy1090;
- goto yy87;
-yy847:
+ if (yych == 'e') goto yy1028;
+ goto yy11;
+yy781:
yych = *++cursor_;
- if (yych == 'e') goto yy1091;
- goto yy87;
-yy848:
+ if (yych == 'e') goto yy1029;
+ goto yy11;
+yy782:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1092;
- goto yy87;
+ if (yych == 'h') goto yy1030;
+ goto yy11;
} else {
- if (yych <= 'p') goto yy1093;
- if (yych == 'u') goto yy1094;
- goto yy87;
+ if (yych <= 'p') goto yy1031;
+ if (yych == 'u') goto yy1032;
+ goto yy11;
}
-yy849:
+yy783:
yych = *++cursor_;
- if (yych == 'r') goto yy1095;
- goto yy87;
-yy850:
+ if (yych == 'r') goto yy1033;
+ goto yy11;
+yy784:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy1096;
- goto yy87;
+ if (yych == 'd') goto yy1034;
+ goto yy11;
} else {
- if (yych <= 'l') goto yy1097;
- if (yych == 'n') goto yy1098;
- goto yy87;
+ if (yych <= 'l') goto yy1035;
+ if (yych == 'n') goto yy1036;
+ goto yy11;
}
-yy851:
+yy785:
yych = *++cursor_;
- if (yych == 'q') goto yy1099;
- if (yych == 'x') goto yy1101;
- goto yy87;
-yy852:
+ if (yych == 'q') goto yy1037;
+ if (yych == 'x') goto yy1039;
+ goto yy11;
+yy786:
yych = *++cursor_;
- if (yych == 'e') goto yy1102;
- if (yych == 't') goto yy1103;
- goto yy87;
-yy853:
+ if (yych == 'e') goto yy1040;
+ if (yych == 't') goto yy1041;
+ goto yy11;
+yy787:
yych = *++cursor_;
- if (yych == 'e') goto yy1104;
- if (yych == 't') goto yy1105;
- goto yy87;
-yy854:
+ if (yych == 'e') goto yy1042;
+ if (yych == 't') goto yy1043;
+ goto yy11;
+yy788:
yych = *++cursor_;
- if (yych == 'u') goto yy1106;
- goto yy87;
-yy855:
+ if (yych == 'u') goto yy1044;
+ goto yy11;
+yy789:
yych = *++cursor_;
- if (yych == 'e') goto yy1107;
- goto yy87;
-yy856:
+ if (yych == 'e') goto yy1045;
+ goto yy11;
+yy790:
yych = *++cursor_;
- if (yych == 'e') goto yy1109;
- goto yy87;
-yy857:
+ if (yych == 'e') goto yy1047;
+ goto yy11;
+yy791:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1110;
- goto yy87;
+ if (yych == 'h') goto yy1048;
+ goto yy11;
} else {
- if (yych <= 'p') goto yy1111;
- if (yych == 'u') goto yy1112;
- goto yy87;
+ if (yych <= 'p') goto yy1049;
+ if (yych == 'u') goto yy1050;
+ goto yy11;
}
-yy858:
+yy792:
yych = *++cursor_;
- if (yych == 'e') goto yy1113;
- goto yy87;
-yy859:
+ if (yych == 'e') goto yy1051;
+ goto yy11;
+yy793:
yych = *++cursor_;
- if (yych == 'e') goto yy1114;
- goto yy87;
-yy860:
+ if (yych == 'e') goto yy1052;
+ goto yy11;
+yy794:
yych = *++cursor_;
- if (yych == 'e') goto yy1115;
- goto yy87;
-yy861:
+ if (yych == 'e') goto yy1053;
+ goto yy11;
+yy795:
yych = *++cursor_;
switch (yych) {
- case 'c': goto yy1116;
- case 'f': goto yy1117;
- case 'g': goto yy1118;
- case 'i': goto yy1119;
- case 's': goto yy1120;
- default: goto yy87;
+ case 'c': goto yy1054;
+ case 'f': goto yy1055;
+ case 'g': goto yy1056;
+ case 'i': goto yy1057;
+ case 's': goto yy1058;
+ default: goto yy11;
}
-yy862:
+yy796:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy267;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy191;
+ goto yy10;
} else {
- if (yych <= ')') goto yy267;
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy862;
- goto yy86;
+ if (yych <= ')') goto yy191;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy796;
+ goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy267;
- if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy862;
- goto yy86;
+ if (yych <= ';') goto yy191;
+ if (yych <= '@') goto yy10;
+ if (yych <= 'F') goto yy796;
+ goto yy10;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy636;
- goto yy86;
+ if (yych <= '_') goto yy568;
+ goto yy10;
} else {
- if (yych <= 'f') goto yy862;
- if (yych <= '~') goto yy86;
- goto yy267;
+ if (yych <= 'f') goto yy796;
+ if (yych <= '~') goto yy10;
+ goto yy191;
}
}
}
-yy864:
+yy798:
yych = *++cursor_;
- if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy1121;
- if (yych <= '9') goto yy1123;
- goto yy87;
-yy865:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych <= '/') goto yy11;
+ if (yych <= '0') goto yy1059;
+ if (yych <= '9') goto yy1061;
+ goto yy11;
+yy799:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 728 "src/wast-lexer.cc"
+#line 735 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Passive); }
-#line 5418 "src/prebuilt/wast-lexer-gen.cc"
-yy867:
+#line 4856 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy801:
yych = *++cursor_;
- if (yych == 'r') goto yy1125;
- goto yy87;
-yy868:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1063;
+ goto yy11;
+yy802:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1064;
+ goto yy11;
+yy803:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1066;
+ goto yy11;
+yy804:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 743 "src/wast-lexer.cc"
+#line 750 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(Rethrow); }
-#line 5430 "src/prebuilt/wast-lexer-gen.cc"
-yy870:
+#line 4876 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy806:
yych = *++cursor_;
- if (yych == 'c') goto yy1127;
- goto yy87;
-yy871:
+ if (yych == 'c') goto yy1068;
+ goto yy11;
+yy807:
yych = *++cursor_;
- if (yych == 'b') goto yy1128;
- goto yy87;
-yy872:
+ if (yych == 'b') goto yy1069;
+ goto yy11;
+yy808:
yych = *++cursor_;
- if (yych == 'a') goto yy1129;
- goto yy87;
-yy873:
+ if (yych == 'a') goto yy1070;
+ goto yy11;
+yy809:
yych = *++cursor_;
- if (yych == 'o') goto yy1130;
- goto yy87;
-yy874:
+ if (yych == 'o') goto yy1071;
+ goto yy11;
+yy810:
yych = *++cursor_;
- if (yych == 'n') goto yy1131;
- goto yy87;
-yy875:
+ if (yych == 'e') goto yy1072;
+ if (yych == 'r') goto yy1073;
+ goto yy11;
+yy811:
yych = *++cursor_;
- if (yych == 'a') goto yy1132;
- goto yy87;
-yy876:
+ if (yych == 'n') goto yy1074;
+ goto yy11;
+yy812:
yych = *++cursor_;
- if (yych == 'a') goto yy1133;
- goto yy87;
-yy877:
+ if (yych == 'e') goto yy1075;
+ if (yych == 'i') goto yy1076;
+ goto yy11;
+yy813:
yych = *++cursor_;
- if (yych == 'd') goto yy1134;
- goto yy87;
-yy878:
+ if (yych == 'a') goto yy1077;
+ goto yy11;
+yy814:
yych = *++cursor_;
- if (yych == 't') goto yy1136;
- goto yy87;
-yy879:
+ if (yych == 'a') goto yy1078;
+ goto yy11;
+yy815:
yych = *++cursor_;
- if (yych == 'n') goto yy1137;
- goto yy87;
-yy880:
+ if (yych == 'd') goto yy1079;
+ goto yy11;
+yy816:
yych = *++cursor_;
- if (yych == 'a') goto yy1138;
- goto yy87;
-yy881:
+ if (yych == 't') goto yy1081;
+ goto yy11;
+yy817:
yych = *++cursor_;
- if (yych == 't') goto yy1139;
- goto yy87;
-yy882:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1082;
+ goto yy11;
+yy818:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1083;
+ goto yy11;
+yy819:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1084;
+ goto yy11;
+yy820:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 586 "src/wast-lexer.cc"
+#line 593 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Or); }
-#line 5486 "src/prebuilt/wast-lexer-gen.cc"
-yy884:
+#line 4942 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy822:
yych = *++cursor_;
- if (yych == 'o') goto yy1141;
- goto yy87;
-yy885:
+ if (yych == 'o') goto yy1086;
+ goto yy11;
+yy823:
yych = *++cursor_;
- if (yych == 'r') goto yy1142;
- goto yy87;
-yy886:
+ if (yych == 'r') goto yy1087;
+ goto yy11;
+yy824:
yych = *++cursor_;
- if (yych == 'h') goto yy1144;
- goto yy87;
-yy887:
+ if (yych == 'h') goto yy1089;
+ goto yy11;
+yy825:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy666;
- goto yy86;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy600;
+ goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy888:
+yy826:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy88;
+ if (yych == '!') goto yy10;
+ goto yy12;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy88;
- if (yych <= '/') goto yy86;
- goto yy1145;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy12;
+ if (yych <= '/') goto yy10;
+ goto yy1090;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy88;
- if (yych <= '@') goto yy86;
- goto yy1145;
+ if (yych == ';') goto yy12;
+ if (yych <= '@') goto yy10;
+ goto yy1090;
} else {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy1145;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy1090;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy889:
+yy827:
yych = *++cursor_;
- if (yych == 'x') goto yy1147;
- goto yy87;
-yy890:
+ if (yych == 'x') goto yy1092;
+ goto yy11;
+yy828:
yych = *++cursor_;
- if (yych == 'n') goto yy1148;
- goto yy87;
-yy891:
+ if (yych == 'n') goto yy1093;
+ goto yy11;
+yy829:
yych = *++cursor_;
- if (yych == 'a') goto yy1149;
- goto yy87;
-yy892:
+ if (yych == 'a') goto yy1094;
+ goto yy11;
+yy830:
yych = *++cursor_;
- if (yych == 'e') goto yy1150;
- goto yy87;
-yy893:
+ if (yych == 'e') goto yy1095;
+ goto yy11;
+yy831:
yych = *++cursor_;
- if (yych == 'r') goto yy1151;
- goto yy87;
-yy894:
+ if (yych == 'r') goto yy1096;
+ goto yy11;
+yy832:
yych = *++cursor_;
- if (yych == 'n') goto yy1152;
- goto yy87;
-yy895:
+ if (yych == 'n') goto yy1097;
+ goto yy11;
+yy833:
yych = *++cursor_;
- if (yych == 'o') goto yy1153;
- goto yy87;
-yy896:
+ if (yych == 'o') goto yy1098;
+ goto yy11;
+yy834:
yych = *++cursor_;
- if (yych == 'n') goto yy1154;
- goto yy87;
-yy897:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1099;
+ goto yy11;
+yy835:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 270 "src/wast-lexer.cc"
+#line 271 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(BrTable); }
-#line 5588 "src/prebuilt/wast-lexer-gen.cc"
-yy899:
+#line 5044 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy837:
yych = *++cursor_;
- if (yych == 'i') goto yy1156;
- goto yy87;
-yy900:
+ if (yych == 'i') goto yy1101;
+ goto yy11;
+yy838:
yych = *++cursor_;
- if (yych == 'm') goto yy1157;
- goto yy87;
-yy901:
+ if (yych == 'm') goto yy1102;
+ goto yy11;
+yy839:
yych = *++cursor_;
- if (yych == 'p') goto yy1158;
- goto yy87;
-yy902:
+ if (yych == 'p') goto yy1103;
+ goto yy11;
+yy840:
yych = *++cursor_;
- if (yych == 'p') goto yy1160;
- goto yy87;
-yy903:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'p') goto yy1105;
+ goto yy11;
+yy841:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 324 "src/wast-lexer.cc"
+#line 325 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Ceil); }
-#line 5612 "src/prebuilt/wast-lexer-gen.cc"
-yy905:
+#line 5068 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy843:
yych = *++cursor_;
- if (yych == 't') goto yy1162;
- goto yy87;
-yy906:
+ if (yych == 't') goto yy1107;
+ goto yy11;
+yy844:
yych = *++cursor_;
- if (yych == 'e') goto yy1164;
- goto yy87;
-yy907:
+ if (yych == 'e') goto yy1109;
+ goto yy11;
+yy845:
yych = *++cursor_;
- if (yych == 's') goto yy1165;
- goto yy87;
-yy908:
+ if (yych == 's') goto yy1110;
+ goto yy11;
+yy846:
yych = *++cursor_;
- if (yych == 't') goto yy1166;
- goto yy87;
-yy909:
+ if (yych == 't') goto yy1111;
+ goto yy11;
+yy847:
yych = *++cursor_;
- if (yych == 'r') goto yy1167;
- goto yy87;
-yy910:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1112;
+ goto yy11;
+yy848:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 283 "src/wast-lexer.cc"
+#line 284 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F32Load); }
-#line 5640 "src/prebuilt/wast-lexer-gen.cc"
-yy912:
+#line 5096 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy850:
yych = *++cursor_;
- if (yych == 'e') goto yy1169;
- goto yy87;
-yy913:
+ if (yych == 'e') goto yy1114;
+ goto yy11;
+yy851:
yych = *++cursor_;
- if (yych == 't') goto yy1170;
- goto yy87;
-yy914:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1115;
+ goto yy11;
+yy852:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 322 "src/wast-lexer.cc"
+#line 323 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Sqrt); }
-#line 5656 "src/prebuilt/wast-lexer-gen.cc"
-yy916:
+#line 5112 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy854:
yych = *++cursor_;
- if (yych == 'e') goto yy1171;
- goto yy87;
-yy917:
+ if (yych == 'e') goto yy1116;
+ goto yy11;
+yy855:
yych = *++cursor_;
- if (yych == 'c') goto yy1173;
- goto yy87;
-yy918:
+ if (yych == 'c') goto yy1118;
+ goto yy11;
+yy856:
yych = *++cursor_;
- if (yych == 's') goto yy1175;
- goto yy87;
-yy919:
+ if (yych == 's') goto yy1120;
+ goto yy11;
+yy857:
yych = *++cursor_;
- if (yych == 'd') goto yy1177;
- goto yy87;
-yy920:
+ if (yych == 'd') goto yy1122;
+ goto yy11;
+yy858:
yych = *++cursor_;
- if (yych == 'n') goto yy1179;
- goto yy87;
-yy921:
+ if (yych == 'n') goto yy1124;
+ goto yy11;
+yy859:
yych = *++cursor_;
- if (yych == 'v') goto yy1180;
- goto yy87;
-yy922:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy1125;
+ goto yy11;
+yy860:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 601 "src/wast-lexer.cc"
+#line 608 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Eq); }
-#line 5688 "src/prebuilt/wast-lexer-gen.cc"
-yy924:
+#line 5144 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy862:
yych = *++cursor_;
- if (yych == 't') goto yy1182;
- goto yy87;
-yy925:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1127;
+ goto yy11;
+yy863:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 638 "src/wast-lexer.cc"
+#line 645 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ge); }
-#line 5700 "src/prebuilt/wast-lexer-gen.cc"
-yy927:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5156 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy865:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 630 "src/wast-lexer.cc"
+#line 637 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Gt); }
-#line 5708 "src/prebuilt/wast-lexer-gen.cc"
-yy929:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5164 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy867:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 622 "src/wast-lexer.cc"
+#line 629 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Le); }
-#line 5716 "src/prebuilt/wast-lexer-gen.cc"
-yy931:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5172 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy869:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 614 "src/wast-lexer.cc"
+#line 621 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Lt); }
-#line 5724 "src/prebuilt/wast-lexer-gen.cc"
-yy933:
+#line 5180 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy871:
yych = *++cursor_;
- if (yych == 'x') goto yy1183;
- goto yy87;
-yy934:
+ if (yych == 'x') goto yy1128;
+ goto yy11;
+yy872:
yych = *++cursor_;
- if (yych == 'n') goto yy1185;
- goto yy87;
-yy935:
+ if (yych == 'n') goto yy1130;
+ goto yy11;
+yy873:
yych = *++cursor_;
- if (yych == 'l') goto yy1187;
- goto yy87;
-yy936:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'l') goto yy1132;
+ goto yy11;
+yy874:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy937;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy875;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1189;
- if (yych <= '~') goto yy86;
+ if (yych <= 'g') goto yy1134;
+ if (yych <= '~') goto yy10;
}
}
-yy937:
-#line 606 "src/wast-lexer.cc"
+yy875:
+#line 613 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ne); }
-#line 5757 "src/prebuilt/wast-lexer-gen.cc"
-yy938:
+#line 5213 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy876:
yych = *++cursor_;
- if (yych == 'p') goto yy1191;
- goto yy87;
-yy939:
+ if (yych == 'p') goto yy1136;
+ goto yy11;
+yy877:
yych = *++cursor_;
- if (yych == 'l') goto yy1192;
- goto yy87;
-yy940:
+ if (yych == 'l') goto yy1137;
+ goto yy11;
+yy878:
yych = *++cursor_;
- if (yych == 'r') goto yy1193;
- goto yy87;
-yy941:
+ if (yych == 'r') goto yy1138;
+ goto yy11;
+yy879:
yych = *++cursor_;
- if (yych == 'b') goto yy1194;
- goto yy87;
-yy942:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'b') goto yy1139;
+ goto yy11;
+yy880:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 325 "src/wast-lexer.cc"
+#line 326 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Ceil); }
-#line 5781 "src/prebuilt/wast-lexer-gen.cc"
-yy944:
+#line 5237 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy882:
yych = *++cursor_;
- if (yych == 't') goto yy1196;
- goto yy87;
-yy945:
+ if (yych == 't') goto yy1141;
+ goto yy11;
+yy883:
yych = *++cursor_;
- if (yych == 'e') goto yy1198;
- goto yy87;
-yy946:
+ if (yych == 'e') goto yy1143;
+ goto yy11;
+yy884:
yych = *++cursor_;
- if (yych == 's') goto yy1199;
- goto yy87;
-yy947:
+ if (yych == 's') goto yy1144;
+ goto yy11;
+yy885:
yych = *++cursor_;
- if (yych == 'r') goto yy1200;
- goto yy87;
-yy948:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1145;
+ goto yy11;
+yy886:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 284 "src/wast-lexer.cc"
+#line 285 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F64Load); }
-#line 5805 "src/prebuilt/wast-lexer-gen.cc"
-yy950:
+#line 5261 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy888:
yych = *++cursor_;
- if (yych == 'e') goto yy1202;
- goto yy87;
-yy951:
+ if (yych == 'e') goto yy1147;
+ goto yy11;
+yy889:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1148;
+ goto yy11;
+yy890:
yych = *++cursor_;
- if (yych == 'o') goto yy1203;
- goto yy87;
-yy952:
+ if (yych == 't') goto yy1149;
+ goto yy11;
+yy891:
yych = *++cursor_;
- if (yych == 't') goto yy1204;
- goto yy87;
-yy953:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 323 "src/wast-lexer.cc"
+#line 324 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Sqrt); }
-#line 5825 "src/prebuilt/wast-lexer-gen.cc"
-yy955:
+#line 5281 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy893:
yych = *++cursor_;
- if (yych == 'e') goto yy1205;
- goto yy87;
-yy956:
+ if (yych == 'e') goto yy1150;
+ goto yy11;
+yy894:
yych = *++cursor_;
- if (yych == 'c') goto yy1207;
- goto yy87;
-yy957:
+ if (yych == 'c') goto yy1152;
+ goto yy11;
+yy895:
yych = *++cursor_;
- if (yych == 's') goto yy1209;
- goto yy87;
-yy958:
+ if (yych == 's') goto yy1154;
+ goto yy11;
+yy896:
yych = *++cursor_;
- if (yych == 'd') goto yy1211;
- goto yy87;
-yy959:
+ if (yych == 'd') goto yy1156;
+ goto yy11;
+yy897:
yych = *++cursor_;
- if (yych == 'n') goto yy1213;
- goto yy87;
-yy960:
+ if (yych == 'n') goto yy1158;
+ goto yy11;
+yy898:
yych = *++cursor_;
- if (yych == 'v') goto yy1214;
- goto yy87;
-yy961:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy1159;
+ goto yy11;
+yy899:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 602 "src/wast-lexer.cc"
+#line 609 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Eq); }
-#line 5857 "src/prebuilt/wast-lexer-gen.cc"
-yy963:
+#line 5313 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy901:
yych = *++cursor_;
- if (yych == 't') goto yy1216;
- goto yy87;
-yy964:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1161;
+ goto yy11;
+yy902:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 639 "src/wast-lexer.cc"
+#line 646 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ge); }
-#line 5869 "src/prebuilt/wast-lexer-gen.cc"
-yy966:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5325 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy904:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 631 "src/wast-lexer.cc"
+#line 638 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Gt); }
-#line 5877 "src/prebuilt/wast-lexer-gen.cc"
-yy968:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5333 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy906:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 623 "src/wast-lexer.cc"
+#line 630 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Le); }
-#line 5885 "src/prebuilt/wast-lexer-gen.cc"
-yy970:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5341 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy908:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 615 "src/wast-lexer.cc"
+#line 622 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Lt); }
-#line 5893 "src/prebuilt/wast-lexer-gen.cc"
-yy972:
+#line 5349 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy910:
yych = *++cursor_;
- if (yych == 'x') goto yy1217;
- goto yy87;
-yy973:
+ if (yych == 'x') goto yy1162;
+ goto yy11;
+yy911:
yych = *++cursor_;
- if (yych == 'n') goto yy1219;
- goto yy87;
-yy974:
+ if (yych == 'n') goto yy1164;
+ goto yy11;
+yy912:
yych = *++cursor_;
- if (yych == 'l') goto yy1221;
- goto yy87;
-yy975:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'l') goto yy1166;
+ goto yy11;
+yy913:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy976;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy914;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1223;
- if (yych <= '~') goto yy86;
+ if (yych <= 'g') goto yy1168;
+ if (yych <= '~') goto yy10;
}
}
-yy976:
-#line 607 "src/wast-lexer.cc"
+yy914:
+#line 614 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ne); }
-#line 5926 "src/prebuilt/wast-lexer-gen.cc"
-yy977:
+#line 5382 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy915:
yych = *++cursor_;
- if (yych == 'p') goto yy1225;
- goto yy87;
-yy978:
+ if (yych == 'p') goto yy1170;
+ goto yy11;
+yy916:
yych = *++cursor_;
- if (yych == 'l') goto yy1226;
- goto yy87;
-yy979:
+ if (yych == 'l') goto yy1171;
+ goto yy11;
+yy917:
yych = *++cursor_;
- if (yych == 'r') goto yy1227;
- goto yy87;
-yy980:
+ if (yych == 'r') goto yy1172;
+ goto yy11;
+yy918:
yych = *++cursor_;
- if (yych == 'b') goto yy1228;
- goto yy87;
-yy981:
+ if (yych == 'b') goto yy1173;
+ goto yy11;
+yy919:
yych = *++cursor_;
- if (yych == 'a') goto yy1230;
- goto yy87;
-yy982:
+ if (yych == 'a') goto yy1175;
+ goto yy11;
+yy920:
yych = *++cursor_;
- if (yych == 'l') goto yy1231;
- goto yy87;
-yy983:
+ if (yych == 'l') goto yy1176;
+ goto yy11;
+yy921:
yych = *++cursor_;
- if (yych == 'e') goto yy1233;
- goto yy87;
-yy984:
+ if (yych == 'e') goto yy1178;
+ goto yy11;
+yy922:
yych = *++cursor_;
- if (yych == 'e') goto yy1234;
- goto yy87;
-yy985:
+ if (yych == 'e') goto yy1179;
+ goto yy11;
+yy923:
yych = *++cursor_;
- if (yych == 'o') goto yy1235;
- goto yy87;
-yy986:
+ if (yych == 'o') goto yy1180;
+ goto yy11;
+yy924:
yych = *++cursor_;
- if (yych == 'd') goto yy1236;
- goto yy87;
-yy987:
+ if (yych == 'd') goto yy1181;
+ goto yy11;
+yy925:
yych = *++cursor_;
- if (yych == 'l') goto yy1238;
- goto yy87;
-yy988:
+ if (yych == 'l') goto yy1183;
+ goto yy11;
+yy926:
yych = *++cursor_;
- if (yych == 'y') goto yy1239;
- goto yy87;
-yy989:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'y') goto yy1184;
+ goto yy11;
+yy927:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 599 "src/wast-lexer.cc"
+#line 606 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Eq); }
-#line 5982 "src/prebuilt/wast-lexer-gen.cc"
-yy991:
+#line 5438 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy929:
yych = *++cursor_;
- if (yych == 't') goto yy1240;
- goto yy87;
-yy992:
+ if (yych == 't') goto yy1185;
+ goto yy11;
+yy930:
yych = *++cursor_;
- if (yych == '_') goto yy1241;
- goto yy87;
-yy993:
+ if (yych == '_') goto yy1186;
+ goto yy11;
+yy931:
yych = *++cursor_;
- if (yych == '_') goto yy1242;
- goto yy87;
-yy994:
+ if (yych == '_') goto yy1187;
+ goto yy11;
+yy932:
yych = *++cursor_;
- if (yych == '_') goto yy1243;
- goto yy87;
-yy995:
+ if (yych == '_') goto yy1188;
+ goto yy11;
+yy933:
yych = *++cursor_;
- if (yych == '_') goto yy1244;
- goto yy87;
-yy996:
+ if (yych == '_') goto yy1189;
+ goto yy11;
+yy934:
yych = *++cursor_;
- if (yych == 'l') goto yy1245;
- goto yy87;
-yy997:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'l') goto yy1190;
+ goto yy11;
+yy935:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy998;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy936;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1247;
- if (yych <= '~') goto yy86;
+ if (yych <= 'g') goto yy1192;
+ if (yych <= '~') goto yy10;
}
}
-yy998:
-#line 604 "src/wast-lexer.cc"
+yy936:
+#line 611 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Ne); }
-#line 6027 "src/prebuilt/wast-lexer-gen.cc"
-yy999:
+#line 5483 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy937:
yych = *++cursor_;
- if (yych == 'p') goto yy1249;
- goto yy87;
-yy1000:
+ if (yych == 'p') goto yy1194;
+ goto yy11;
+yy938:
yych = *++cursor_;
- if (yych == 'l') goto yy1250;
- if (yych == 'r') goto yy1252;
- goto yy87;
-yy1001:
+ if (yych == 'l') goto yy1195;
+ if (yych == 'r') goto yy1197;
+ goto yy11;
+yy939:
yych = *++cursor_;
- if (yych == 'l') goto yy1253;
- goto yy87;
-yy1002:
+ if (yych == 'l') goto yy1198;
+ goto yy11;
+yy940:
yych = *++cursor_;
- if (yych == 'b') goto yy1254;
- goto yy87;
-yy1003:
+ if (yych == 'b') goto yy1199;
+ goto yy11;
+yy941:
yych = *++cursor_;
- if (yych == 'i') goto yy1256;
- goto yy87;
-yy1004:
+ if (yych == 'i') goto yy1201;
+ goto yy11;
+yy942:
yych = *++cursor_;
- if (yych == 't') goto yy1257;
- goto yy87;
-yy1005:
+ if (yych == 't') goto yy1202;
+ goto yy11;
+yy943:
yych = *++cursor_;
- if (yych == 's') goto yy1259;
- if (yych == 'u') goto yy1261;
- goto yy87;
-yy1006:
+ if (yych == 's') goto yy1204;
+ if (yych == 'u') goto yy1206;
+ goto yy11;
+yy944:
yych = *++cursor_;
- if (yych == 'n') goto yy1263;
- goto yy87;
-yy1007:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1208;
+ goto yy11;
+yy945:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 397 "src/wast-lexer.cc"
+#line 398 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeS); }
-#line 6069 "src/prebuilt/wast-lexer-gen.cc"
-yy1009:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5525 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy947:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 399 "src/wast-lexer.cc"
+#line 400 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeU); }
-#line 6077 "src/prebuilt/wast-lexer-gen.cc"
-yy1011:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5533 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy949:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 393 "src/wast-lexer.cc"
+#line 394 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtS); }
-#line 6085 "src/prebuilt/wast-lexer-gen.cc"
-yy1013:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5541 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy951:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 395 "src/wast-lexer.cc"
+#line 396 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtU); }
-#line 6093 "src/prebuilt/wast-lexer-gen.cc"
-yy1015:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5549 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy953:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 389 "src/wast-lexer.cc"
+#line 390 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeS); }
-#line 6101 "src/prebuilt/wast-lexer-gen.cc"
-yy1017:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5557 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy955:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 391 "src/wast-lexer.cc"
+#line 392 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeU); }
-#line 6109 "src/prebuilt/wast-lexer-gen.cc"
-yy1019:
- ++cursor_;
- if ((yych = *cursor_) <= '0') {
+#line 5565 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy957:
+ yych = *++cursor_;
+ if (yych <= '0') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1264;
- if (yych <= '7') goto yy86;
- goto yy1265;
+ if (yych <= '1') goto yy1209;
+ if (yych <= '7') goto yy10;
+ goto yy1210;
} else {
- if (yych == ';') goto yy1020;
- if (yych <= '~') goto yy86;
+ if (yych == ';') goto yy958;
+ if (yych <= '~') goto yy10;
}
}
-yy1020:
-#line 281 "src/wast-lexer.cc"
+yy958:
+#line 282 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load); }
-#line 6132 "src/prebuilt/wast-lexer-gen.cc"
-yy1021:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5588 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy959:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 385 "src/wast-lexer.cc"
+#line 386 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtS); }
-#line 6140 "src/prebuilt/wast-lexer-gen.cc"
-yy1023:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5596 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy961:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 387 "src/wast-lexer.cc"
+#line 388 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtU); }
-#line 6148 "src/prebuilt/wast-lexer-gen.cc"
-yy1025:
+#line 5604 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy963:
yych = *++cursor_;
- if (yych == 'n') goto yy1266;
- goto yy87;
-yy1026:
+ if (yych == 'n') goto yy1211;
+ goto yy11;
+yy964:
yych = *++cursor_;
- if (yych == 't') goto yy1267;
- goto yy87;
-yy1027:
+ if (yych == 't') goto yy1212;
+ goto yy11;
+yy965:
yych = *++cursor_;
- if (yych == 's') goto yy1268;
- if (yych == 'u') goto yy1270;
- goto yy87;
-yy1028:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1213;
+ if (yych == 'u') goto yy1215;
+ goto yy11;
+yy966:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 363 "src/wast-lexer.cc"
+#line 364 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotl); }
-#line 6169 "src/prebuilt/wast-lexer-gen.cc"
-yy1030:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5625 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy968:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 365 "src/wast-lexer.cc"
+#line 366 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotr); }
-#line 6177 "src/prebuilt/wast-lexer-gen.cc"
-yy1032:
+#line 5633 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy970:
yych = *++cursor_;
- if (yych == 's') goto yy1272;
- if (yych == 'u') goto yy1274;
- goto yy87;
-yy1033:
+ if (yych == 's') goto yy1217;
+ if (yych == 'u') goto yy1219;
+ goto yy11;
+yy971:
yych = *++cursor_;
- if (yych == 'e') goto yy1276;
- goto yy87;
-yy1034:
+ if (yych == 'e') goto yy1221;
+ goto yy11;
+yy972:
yych = *++cursor_;
- if (yych == 'c') goto yy1278;
- goto yy87;
-yy1035:
+ if (yych == 'c') goto yy1223;
+ goto yy11;
+yy973:
yych = *++cursor_;
- if (yych == '/') goto yy1279;
- if (yych == '_') goto yy1280;
- goto yy87;
-yy1036:
+ if (yych == '/') goto yy1224;
+ if (yych == '_') goto yy1225;
+ goto yy11;
+yy974:
yych = *++cursor_;
- if (yych == 'd') goto yy1281;
- goto yy87;
-yy1037:
+ if (yych == 'd') goto yy1226;
+ goto yy11;
+yy975:
yych = *++cursor_;
- if (yych == 'l') goto yy1283;
- goto yy87;
-yy1038:
+ if (yych == 'l') goto yy1228;
+ goto yy11;
+yy976:
yych = *++cursor_;
- if (yych == 'y') goto yy1284;
- goto yy87;
-yy1039:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'y') goto yy1229;
+ goto yy11;
+yy977:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 600 "src/wast-lexer.cc"
+#line 607 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Eq); }
-#line 6215 "src/prebuilt/wast-lexer-gen.cc"
-yy1041:
+#line 5671 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy979:
yych = *++cursor_;
- if (yych == 't') goto yy1285;
- goto yy87;
-yy1042:
+ if (yych == 't') goto yy1230;
+ goto yy11;
+yy980:
yych = *++cursor_;
- if (yych == '_') goto yy1286;
- goto yy87;
-yy1043:
+ if (yych == '_') goto yy1231;
+ goto yy11;
+yy981:
yych = *++cursor_;
- if (yych == '_') goto yy1287;
- goto yy87;
-yy1044:
+ if (yych == '_') goto yy1232;
+ goto yy11;
+yy982:
yych = *++cursor_;
- if (yych == '_') goto yy1288;
- goto yy87;
-yy1045:
+ if (yych == '_') goto yy1233;
+ goto yy11;
+yy983:
yych = *++cursor_;
- if (yych == '_') goto yy1289;
- goto yy87;
-yy1046:
+ if (yych == '_') goto yy1234;
+ goto yy11;
+yy984:
yych = *++cursor_;
- if (yych == 'l') goto yy1290;
- goto yy87;
-yy1047:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'l') goto yy1235;
+ goto yy11;
+yy985:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1048;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy986;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1292;
- if (yych <= '~') goto yy86;
+ if (yych <= 'g') goto yy1237;
+ if (yych <= '~') goto yy10;
}
}
-yy1048:
-#line 605 "src/wast-lexer.cc"
+yy986:
+#line 612 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Ne); }
-#line 6260 "src/prebuilt/wast-lexer-gen.cc"
-yy1049:
+#line 5716 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy987:
yych = *++cursor_;
- if (yych == 'p') goto yy1294;
- goto yy87;
-yy1050:
+ if (yych == 'p') goto yy1239;
+ goto yy11;
+yy988:
yych = *++cursor_;
- if (yych == 'l') goto yy1295;
- if (yych == 'r') goto yy1297;
- goto yy87;
-yy1051:
+ if (yych == 'l') goto yy1240;
+ if (yych == 'r') goto yy1242;
+ goto yy11;
+yy989:
yych = *++cursor_;
- if (yych == 'l') goto yy1298;
- goto yy87;
-yy1052:
+ if (yych == 'l') goto yy1243;
+ goto yy11;
+yy990:
yych = *++cursor_;
- if (yych == 'b') goto yy1299;
- goto yy87;
-yy1053:
+ if (yych == 'b') goto yy1244;
+ goto yy11;
+yy991:
yych = *++cursor_;
- if (yych == 'u') goto yy1301;
- goto yy87;
-yy1054:
+ if (yych == 'u') goto yy1246;
+ goto yy11;
+yy992:
yych = *++cursor_;
- if (yych == 'i') goto yy1302;
- goto yy87;
-yy1055:
+ if (yych == 'i') goto yy1247;
+ goto yy11;
+yy993:
yych = *++cursor_;
- if (yych == 't') goto yy1303;
- goto yy87;
-yy1056:
+ if (yych == 't') goto yy1248;
+ goto yy11;
+yy994:
yych = *++cursor_;
- if (yych == 's') goto yy1305;
- if (yych == 'u') goto yy1307;
- goto yy87;
-yy1057:
+ if (yych == 's') goto yy1250;
+ if (yych == 'u') goto yy1252;
+ goto yy11;
+yy995:
yych = *++cursor_;
- if (yych == 'n') goto yy1309;
- goto yy87;
-yy1058:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'n') goto yy1254;
+ goto yy11;
+yy996:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 398 "src/wast-lexer.cc"
+#line 399 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeS); }
-#line 6306 "src/prebuilt/wast-lexer-gen.cc"
-yy1060:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5762 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy998:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 400 "src/wast-lexer.cc"
+#line 401 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeU); }
-#line 6314 "src/prebuilt/wast-lexer-gen.cc"
-yy1062:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5770 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1000:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 394 "src/wast-lexer.cc"
+#line 395 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtS); }
-#line 6322 "src/prebuilt/wast-lexer-gen.cc"
-yy1064:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5778 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1002:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 396 "src/wast-lexer.cc"
+#line 397 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtU); }
-#line 6330 "src/prebuilt/wast-lexer-gen.cc"
-yy1066:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5786 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1004:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 390 "src/wast-lexer.cc"
+#line 391 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeS); }
-#line 6338 "src/prebuilt/wast-lexer-gen.cc"
-yy1068:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5794 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1006:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 392 "src/wast-lexer.cc"
+#line 393 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeU); }
-#line 6346 "src/prebuilt/wast-lexer-gen.cc"
-yy1070:
- ++cursor_;
- if ((yych = *cursor_) <= '1') {
+#line 5802 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1008:
+ yych = *++cursor_;
+ if (yych <= '1') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1071;
- if (yych <= '0') goto yy86;
- goto yy1310;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy1009;
+ if (yych <= '0') goto yy10;
+ goto yy1255;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1311;
- if (yych <= '7') goto yy86;
- goto yy1312;
+ if (yych == '3') goto yy1256;
+ if (yych <= '7') goto yy10;
+ goto yy1257;
} else {
- if (yych == ';') goto yy1071;
- if (yych <= '~') goto yy86;
+ if (yych == ';') goto yy1009;
+ if (yych <= '~') goto yy10;
}
}
-yy1071:
-#line 282 "src/wast-lexer.cc"
+yy1009:
+#line 283 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load); }
-#line 6371 "src/prebuilt/wast-lexer-gen.cc"
-yy1072:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5827 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1010:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 386 "src/wast-lexer.cc"
+#line 387 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtS); }
-#line 6379 "src/prebuilt/wast-lexer-gen.cc"
-yy1074:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5835 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1012:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 388 "src/wast-lexer.cc"
+#line 389 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtU); }
-#line 6387 "src/prebuilt/wast-lexer-gen.cc"
-yy1076:
+#line 5843 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1014:
yych = *++cursor_;
- if (yych == 'n') goto yy1313;
- goto yy87;
-yy1077:
+ if (yych == 'n') goto yy1258;
+ goto yy11;
+yy1015:
yych = *++cursor_;
- if (yych == 't') goto yy1314;
- goto yy87;
-yy1078:
+ if (yych == 't') goto yy1259;
+ goto yy11;
+yy1016:
yych = *++cursor_;
- if (yych == 's') goto yy1315;
- if (yych == 'u') goto yy1317;
- goto yy87;
-yy1079:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1260;
+ if (yych == 'u') goto yy1262;
+ goto yy11;
+yy1017:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 364 "src/wast-lexer.cc"
+#line 365 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotl); }
-#line 6408 "src/prebuilt/wast-lexer-gen.cc"
-yy1081:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 5864 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1019:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 366 "src/wast-lexer.cc"
+#line 367 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotr); }
-#line 6416 "src/prebuilt/wast-lexer-gen.cc"
-yy1083:
+#line 5872 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1021:
yych = *++cursor_;
- if (yych == 's') goto yy1319;
- if (yych == 'u') goto yy1321;
- goto yy87;
-yy1084:
+ if (yych == 's') goto yy1264;
+ if (yych == 'u') goto yy1266;
+ goto yy11;
+yy1022:
yych = *++cursor_;
- if (yych == 'e') goto yy1323;
- goto yy87;
-yy1085:
+ if (yych == 'e') goto yy1268;
+ goto yy11;
+yy1023:
yych = *++cursor_;
- if (yych == 'c') goto yy1325;
- goto yy87;
-yy1086:
+ if (yych == 'c') goto yy1270;
+ goto yy11;
+yy1024:
yych = *++cursor_;
- if (yych == 'd') goto yy1326;
- goto yy87;
-yy1087:
+ if (yych == 'd') goto yy1271;
+ goto yy11;
+yy1025:
yych = *++cursor_;
- if (yych == 'l') goto yy1328;
- goto yy87;
-yy1088:
+ if (yych == 'l') goto yy1273;
+ goto yy11;
+yy1026:
yych = *++cursor_;
- if (yych == 'y') goto yy1329;
- goto yy87;
-yy1089:
+ if (yych == 'y') goto yy1274;
+ goto yy11;
+yy1027:
yych = *++cursor_;
- if (yych == 't') goto yy1330;
- goto yy87;
-yy1090:
+ if (yych == 't') goto yy1275;
+ goto yy11;
+yy1028:
yych = *++cursor_;
- if (yych == 'g') goto yy1331;
- goto yy87;
-yy1091:
+ if (yych == 'g') goto yy1276;
+ goto yy11;
+yy1029:
yych = *++cursor_;
- if (yych == 'p') goto yy1333;
- goto yy87;
-yy1092:
+ if (yych == 'p') goto yy1278;
+ goto yy11;
+yy1030:
yych = *++cursor_;
- if (yych == 'l') goto yy1334;
- if (yych == 'r') goto yy1336;
- goto yy87;
-yy1093:
+ if (yych == 'l') goto yy1279;
+ if (yych == 'r') goto yy1281;
+ goto yy11;
+yy1031:
yych = *++cursor_;
- if (yych == 'l') goto yy1337;
- goto yy87;
-yy1094:
+ if (yych == 'l') goto yy1282;
+ goto yy11;
+yy1032:
yych = *++cursor_;
- if (yych == 'b') goto yy1338;
- goto yy87;
-yy1095:
+ if (yych == 'b') goto yy1283;
+ goto yy11;
+yy1033:
yych = *++cursor_;
- if (yych == 'u') goto yy1340;
- goto yy87;
-yy1096:
+ if (yych == 'u') goto yy1285;
+ goto yy11;
+yy1034:
yych = *++cursor_;
- if (yych == 'd') goto yy1341;
- goto yy87;
-yy1097:
+ if (yych == 'd') goto yy1286;
+ goto yy11;
+yy1035:
yych = *++cursor_;
- if (yych == 'l') goto yy1343;
- goto yy87;
-yy1098:
+ if (yych == 'l') goto yy1288;
+ goto yy11;
+yy1036:
yych = *++cursor_;
- if (yych == 'y') goto yy1344;
- goto yy87;
-yy1099:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'y') goto yy1289;
+ goto yy11;
+yy1037:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 598 "src/wast-lexer.cc"
+#line 605 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Eq); }
-#line 6490 "src/prebuilt/wast-lexer-gen.cc"
-yy1101:
+#line 5946 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1039:
yych = *++cursor_;
- if (yych == 't') goto yy1345;
- goto yy87;
-yy1102:
+ if (yych == 't') goto yy1290;
+ goto yy11;
+yy1040:
yych = *++cursor_;
- if (yych == '_') goto yy1346;
- goto yy87;
-yy1103:
+ if (yych == '_') goto yy1291;
+ goto yy11;
+yy1041:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1292;
+ goto yy11;
+yy1042:
yych = *++cursor_;
- if (yych == '_') goto yy1347;
- goto yy87;
-yy1104:
+ if (yych == '_') goto yy1293;
+ goto yy11;
+yy1043:
yych = *++cursor_;
- if (yych == '_') goto yy1348;
- goto yy87;
-yy1105:
+ if (yych == '_') goto yy1294;
+ goto yy11;
+yy1044:
yych = *++cursor_;
- if (yych == '_') goto yy1349;
- goto yy87;
-yy1106:
+ if (yych == 'l') goto yy1295;
+ goto yy11;
+yy1045:
yych = *++cursor_;
- if (yych == 'l') goto yy1350;
- goto yy87;
-yy1107:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1108;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy1046;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1352;
- if (yych <= '~') goto yy86;
+ if (yych <= 'g') goto yy1297;
+ if (yych <= '~') goto yy10;
}
}
-yy1108:
-#line 603 "src/wast-lexer.cc"
+yy1046:
+#line 610 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Ne); }
-#line 6535 "src/prebuilt/wast-lexer-gen.cc"
-yy1109:
+#line 5991 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1047:
yych = *++cursor_;
- if (yych == 'p') goto yy1354;
- goto yy87;
-yy1110:
+ if (yych == 'p') goto yy1299;
+ goto yy11;
+yy1048:
yych = *++cursor_;
- if (yych == 'l') goto yy1355;
- if (yych == 'r') goto yy1357;
- goto yy87;
-yy1111:
+ if (yych == 'l') goto yy1300;
+ if (yych == 'r') goto yy1302;
+ goto yy11;
+yy1049:
yych = *++cursor_;
- if (yych == 'l') goto yy1358;
- goto yy87;
-yy1112:
+ if (yych == 'l') goto yy1303;
+ goto yy11;
+yy1050:
yych = *++cursor_;
- if (yych == 'b') goto yy1359;
- goto yy87;
-yy1113:
+ if (yych == 'b') goto yy1304;
+ goto yy11;
+yy1051:
yych = *++cursor_;
- if (yych == 't') goto yy1361;
- goto yy87;
-yy1114:
+ if (yych == 't') goto yy1306;
+ goto yy11;
+yy1052:
yych = *++cursor_;
- if (yych == 't') goto yy1363;
- goto yy87;
-yy1115:
+ if (yych == 't') goto yy1308;
+ goto yy11;
+yy1053:
yych = *++cursor_;
- if (yych == 'e') goto yy1365;
- goto yy87;
-yy1116:
+ if (yych == 'e') goto yy1310;
+ goto yy11;
+yy1054:
yych = *++cursor_;
- if (yych == 'o') goto yy1367;
- goto yy87;
-yy1117:
+ if (yych == 'o') goto yy1312;
+ goto yy11;
+yy1055:
yych = *++cursor_;
- if (yych == 'i') goto yy1368;
- goto yy87;
-yy1118:
+ if (yych == 'i') goto yy1313;
+ goto yy11;
+yy1056:
yych = *++cursor_;
- if (yych == 'r') goto yy1369;
- goto yy87;
-yy1119:
+ if (yych == 'r') goto yy1314;
+ goto yy11;
+yy1057:
yych = *++cursor_;
- if (yych == 'n') goto yy1370;
- goto yy87;
-yy1120:
+ if (yych == 'n') goto yy1315;
+ goto yy11;
+yy1058:
yych = *++cursor_;
- if (yych == 'i') goto yy1371;
- goto yy87;
-yy1121:
- ++cursor_;
- if ((yych = *cursor_) <= '9') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1122;
- if (yych <= '/') goto yy86;
- goto yy1123;
- }
- } else {
- if (yych <= '_') {
- if (yych == ';') goto yy1122;
- if (yych <= '^') goto yy86;
- goto yy1372;
- } else {
- if (yych == 'x') goto yy1373;
- if (yych <= '~') goto yy86;
- }
- }
-yy1122:
-#line 304 "src/wast-lexer.cc"
+ if (yych == 'i') goto yy1316;
+ goto yy11;
+yy1059:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy1318;
+ goto yy1062;
+yy1060:
+#line 305 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_TEXT_AT(OffsetEqNat, 7); }
-#line 6609 "src/prebuilt/wast-lexer-gen.cc"
-yy1123:
+#line 6048 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1061:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
+yy1062:
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy1122;
+ if (yych == '!') goto yy10;
+ goto yy1060;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1122;
- goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy1060;
+ goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy1123;
- if (yych <= ':') goto yy86;
- goto yy1122;
+ if (yych <= '9') goto yy1061;
+ if (yych <= ':') goto yy10;
+ goto yy1060;
} else {
- if (yych == '_') goto yy1372;
- if (yych <= '~') goto yy86;
- goto yy1122;
+ if (yych == '_') goto yy1317;
+ if (yych <= '~') goto yy10;
+ goto yy1060;
}
}
-yy1125:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy1063:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1319;
+ goto yy11;
+yy1064:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 729 "src/wast-lexer.cc"
+#line 464 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(RefNull); }
+#line 6085 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1066:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 736 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN(Register); }
-#line 6641 "src/prebuilt/wast-lexer-gen.cc"
-yy1127:
+#line 6093 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1068:
yych = *++cursor_;
- if (yych == 'a') goto yy1374;
- goto yy87;
-yy1128:
+ if (yych == 'a') goto yy1320;
+ goto yy11;
+yy1069:
yych = *++cursor_;
- if (yych == 'a') goto yy1375;
- goto yy87;
-yy1129:
+ if (yych == 'a') goto yy1321;
+ goto yy11;
+yy1070:
yych = *++cursor_;
- if (yych == 'l') goto yy1376;
- goto yy87;
-yy1130:
+ if (yych == 'l') goto yy1322;
+ goto yy11;
+yy1071:
yych = *++cursor_;
- if (yych == 'p') goto yy1378;
- goto yy87;
-yy1131:
+ if (yych == 'p') goto yy1324;
+ goto yy11;
+yy1072:
yych = *++cursor_;
- if (yych == 'i') goto yy1379;
- goto yy87;
-yy1132:
+ if (yych == 't') goto yy1325;
+ goto yy11;
+yy1073:
yych = *++cursor_;
- if (yych == 'l') goto yy1380;
- goto yy87;
-yy1133:
+ if (yych == 'o') goto yy1327;
+ goto yy11;
+yy1074:
yych = *++cursor_;
- if (yych == 'b') goto yy1382;
- goto yy87;
-yy1134:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'i') goto yy1328;
+ goto yy11;
+yy1075:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1329;
+ goto yy11;
+yy1076:
+ yych = *++cursor_;
+ if (yych == 'z') goto yy1331;
+ goto yy11;
+yy1077:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1332;
+ goto yy11;
+yy1078:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy1334;
+ goto yy11;
+yy1079:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 585 "src/wast-lexer.cc"
+#line 592 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128And); }
-#line 6677 "src/prebuilt/wast-lexer-gen.cc"
-yy1136:
+#line 6145 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1081:
yych = *++cursor_;
- if (yych == 's') goto yy1383;
- goto yy87;
-yy1137:
+ if (yych == 's') goto yy1335;
+ goto yy11;
+yy1082:
yych = *++cursor_;
- if (yych == 's') goto yy1384;
- goto yy87;
-yy1138:
+ if (yych == 's') goto yy1336;
+ goto yy11;
+yy1083:
yych = *++cursor_;
- if (yych == 'd') goto yy1385;
- goto yy87;
-yy1139:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'd') goto yy1337;
+ goto yy11;
+yy1084:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 588 "src/wast-lexer.cc"
+#line 595 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, V128Not); }
-#line 6697 "src/prebuilt/wast-lexer-gen.cc"
-yy1141:
+#line 6165 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1086:
yych = *++cursor_;
- if (yych == 'r') goto yy1387;
- goto yy87;
-yy1142:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1339;
+ goto yy11;
+yy1087:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 587 "src/wast-lexer.cc"
+#line 594 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Xor); }
-#line 6709 "src/prebuilt/wast-lexer-gen.cc"
-yy1144:
+#line 6177 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1089:
yych = *++cursor_;
- if (yych == 'u') goto yy1388;
- goto yy87;
-yy1145:
+ if (yych == 'u') goto yy1340;
+ goto yy11;
+yy1090:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy665;
- goto yy86;
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy599;
+ goto yy10;
} else {
- if (yych <= ')') goto yy665;
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1145;
- goto yy86;
+ if (yych <= ')') goto yy599;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy1090;
+ goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy665;
- if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy1145;
- goto yy86;
+ if (yych <= ';') goto yy599;
+ if (yych <= '@') goto yy10;
+ if (yych <= 'F') goto yy1090;
+ goto yy10;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy888;
- goto yy86;
+ if (yych <= '_') goto yy826;
+ goto yy10;
} else {
- if (yych <= 'f') goto yy1145;
- if (yych <= '~') goto yy86;
- goto yy665;
+ if (yych <= 'f') goto yy1090;
+ if (yych <= '~') goto yy10;
+ goto yy599;
}
}
}
-yy1147:
+yy1092:
yych = *++cursor_;
- if (yych == 'h') goto yy1389;
- goto yy87;
-yy1148:
+ if (yych == 'h') goto yy1341;
+ goto yy11;
+yy1093:
yych = *++cursor_;
- if (yych == 'v') goto yy1390;
- goto yy87;
-yy1149:
+ if (yych == 'v') goto yy1342;
+ goto yy11;
+yy1094:
yych = *++cursor_;
- if (yych == 'l') goto yy1391;
- goto yy87;
-yy1150:
+ if (yych == 'l') goto yy1343;
+ goto yy11;
+yy1095:
yych = *++cursor_;
- if (yych == 't') goto yy1392;
- goto yy87;
-yy1151:
+ if (yych == 't') goto yy1344;
+ goto yy11;
+yy1096:
yych = *++cursor_;
- if (yych == 'a') goto yy1393;
- goto yy87;
-yy1152:
+ if (yych == 'a') goto yy1345;
+ goto yy11;
+yy1097:
yych = *++cursor_;
- if (yych == 'l') goto yy1394;
- goto yy87;
-yy1153:
+ if (yych == 'l') goto yy1346;
+ goto yy11;
+yy1098:
yych = *++cursor_;
- if (yych == 't') goto yy1395;
- goto yy87;
-yy1154:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1347;
+ goto yy11;
+yy1099:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 744 "src/wast-lexer.cc"
+#line 751 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(BrOnExn); }
-#line 6781 "src/prebuilt/wast-lexer-gen.cc"
-yy1156:
+#line 6249 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1101:
yych = *++cursor_;
- if (yych == 'r') goto yy1396;
- goto yy87;
-yy1157:
+ if (yych == 'r') goto yy1348;
+ goto yy11;
+yy1102:
yych = *++cursor_;
- if (yych == 'e') goto yy1397;
- goto yy87;
-yy1158:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1349;
+ goto yy11;
+yy1103:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 451 "src/wast-lexer.cc"
+#line 452 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(DataDrop); }
-#line 6797 "src/prebuilt/wast-lexer-gen.cc"
-yy1160:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6265 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1105:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 457 "src/wast-lexer.cc"
+#line 458 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(ElemDrop); }
-#line 6805 "src/prebuilt/wast-lexer-gen.cc"
-yy1162:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6273 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1107:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 308 "src/wast-lexer.cc"
+#line 309 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F32Const); }
-#line 6813 "src/prebuilt/wast-lexer-gen.cc"
-yy1164:
+#line 6281 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1109:
yych = *++cursor_;
- if (yych == 'r') goto yy1398;
- goto yy87;
-yy1165:
+ if (yych == 'r') goto yy1350;
+ goto yy11;
+yy1110:
yych = *++cursor_;
- if (yych == 'i') goto yy1399;
- goto yy87;
-yy1166:
+ if (yych == 'i') goto yy1351;
+ goto yy11;
+yy1111:
yych = *++cursor_;
- if (yych == 'e') goto yy1400;
- goto yy87;
-yy1167:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1352;
+ goto yy11;
+yy1112:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 326 "src/wast-lexer.cc"
+#line 327 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Floor); }
-#line 6833 "src/prebuilt/wast-lexer-gen.cc"
-yy1169:
+#line 6301 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1114:
yych = *++cursor_;
- if (yych == 's') goto yy1401;
- goto yy87;
-yy1170:
+ if (yych == 's') goto yy1353;
+ goto yy11;
+yy1115:
yych = *++cursor_;
- if (yych == 'e') goto yy1402;
- goto yy87;
-yy1171:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1354;
+ goto yy11;
+yy1116:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 287 "src/wast-lexer.cc"
+#line 288 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F32Store); }
-#line 6849 "src/prebuilt/wast-lexer-gen.cc"
-yy1173:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6317 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1118:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 328 "src/wast-lexer.cc"
+#line 329 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Trunc); }
-#line 6857 "src/prebuilt/wast-lexer-gen.cc"
-yy1175:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6325 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1120:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 642 "src/wast-lexer.cc"
+#line 649 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Abs); }
-#line 6865 "src/prebuilt/wast-lexer-gen.cc"
-yy1177:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6333 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1122:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 648 "src/wast-lexer.cc"
+#line 655 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Add); }
-#line 6873 "src/prebuilt/wast-lexer-gen.cc"
-yy1179:
+#line 6341 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1124:
yych = *++cursor_;
- if (yych == 'v') goto yy1403;
- goto yy87;
-yy1180:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy1355;
+ goto yy11;
+yy1125:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 652 "src/wast-lexer.cc"
+#line 659 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Div); }
-#line 6885 "src/prebuilt/wast-lexer-gen.cc"
-yy1182:
+#line 6353 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1127:
yych = *++cursor_;
- if (yych == 'r') goto yy1404;
- goto yy87;
-yy1183:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1356;
+ goto yy11;
+yy1128:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 646 "src/wast-lexer.cc"
+#line 653 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Max); }
-#line 6897 "src/prebuilt/wast-lexer-gen.cc"
-yy1185:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6365 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1130:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 644 "src/wast-lexer.cc"
+#line 651 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Min); }
-#line 6905 "src/prebuilt/wast-lexer-gen.cc"
-yy1187:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6373 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1132:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 654 "src/wast-lexer.cc"
+#line 661 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Mul); }
-#line 6913 "src/prebuilt/wast-lexer-gen.cc"
-yy1189:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6381 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1134:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 640 "src/wast-lexer.cc"
+#line 647 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Neg); }
-#line 6921 "src/prebuilt/wast-lexer-gen.cc"
-yy1191:
+#line 6389 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1136:
yych = *++cursor_;
- if (yych == 'l') goto yy1405;
- goto yy87;
-yy1192:
+ if (yych == 'l') goto yy1357;
+ goto yy11;
+yy1137:
yych = *++cursor_;
- if (yych == 'a') goto yy1406;
- goto yy87;
-yy1193:
+ if (yych == 'a') goto yy1358;
+ goto yy11;
+yy1138:
yych = *++cursor_;
- if (yych == 't') goto yy1407;
- goto yy87;
-yy1194:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1359;
+ goto yy11;
+yy1139:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 650 "src/wast-lexer.cc"
+#line 657 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Sub); }
-#line 6941 "src/prebuilt/wast-lexer-gen.cc"
-yy1196:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6409 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1141:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 309 "src/wast-lexer.cc"
+#line 310 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F64Const); }
-#line 6949 "src/prebuilt/wast-lexer-gen.cc"
-yy1198:
+#line 6417 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1143:
yych = *++cursor_;
- if (yych == 'r') goto yy1409;
- goto yy87;
-yy1199:
+ if (yych == 'r') goto yy1361;
+ goto yy11;
+yy1144:
yych = *++cursor_;
- if (yych == 'i') goto yy1410;
- goto yy87;
-yy1200:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'i') goto yy1362;
+ goto yy11;
+yy1145:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 327 "src/wast-lexer.cc"
+#line 328 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Floor); }
-#line 6965 "src/prebuilt/wast-lexer-gen.cc"
-yy1202:
+#line 6433 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1147:
yych = *++cursor_;
- if (yych == 's') goto yy1411;
- goto yy87;
-yy1203:
+ if (yych == 's') goto yy1363;
+ goto yy11;
+yy1148:
yych = *++cursor_;
- if (yych == 't') goto yy1412;
- goto yy87;
-yy1204:
+ if (yych == 't') goto yy1364;
+ goto yy11;
+yy1149:
yych = *++cursor_;
- if (yych == 'e') goto yy1413;
- goto yy87;
-yy1205:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1365;
+ goto yy11;
+yy1150:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 288 "src/wast-lexer.cc"
+#line 289 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F64Store); }
-#line 6985 "src/prebuilt/wast-lexer-gen.cc"
-yy1207:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6453 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1152:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 329 "src/wast-lexer.cc"
+#line 330 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Trunc); }
-#line 6993 "src/prebuilt/wast-lexer-gen.cc"
-yy1209:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6461 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1154:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 643 "src/wast-lexer.cc"
+#line 650 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Abs); }
-#line 7001 "src/prebuilt/wast-lexer-gen.cc"
-yy1211:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6469 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1156:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 649 "src/wast-lexer.cc"
+#line 656 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Add); }
-#line 7009 "src/prebuilt/wast-lexer-gen.cc"
-yy1213:
+#line 6477 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1158:
yych = *++cursor_;
- if (yych == 'v') goto yy1414;
- goto yy87;
-yy1214:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'v') goto yy1366;
+ goto yy11;
+yy1159:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 653 "src/wast-lexer.cc"
+#line 660 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Div); }
-#line 7021 "src/prebuilt/wast-lexer-gen.cc"
-yy1216:
+#line 6489 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1161:
yych = *++cursor_;
- if (yych == 'r') goto yy1415;
- goto yy87;
-yy1217:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1367;
+ goto yy11;
+yy1162:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 647 "src/wast-lexer.cc"
+#line 654 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Max); }
-#line 7033 "src/prebuilt/wast-lexer-gen.cc"
-yy1219:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6501 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1164:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 645 "src/wast-lexer.cc"
+#line 652 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Min); }
-#line 7041 "src/prebuilt/wast-lexer-gen.cc"
-yy1221:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6509 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1166:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 655 "src/wast-lexer.cc"
+#line 662 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Mul); }
-#line 7049 "src/prebuilt/wast-lexer-gen.cc"
-yy1223:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6517 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1168:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 641 "src/wast-lexer.cc"
+#line 648 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Neg); }
-#line 7057 "src/prebuilt/wast-lexer-gen.cc"
-yy1225:
+#line 6525 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1170:
yych = *++cursor_;
- if (yych == 'l') goto yy1416;
- goto yy87;
-yy1226:
+ if (yych == 'l') goto yy1368;
+ goto yy11;
+yy1171:
yych = *++cursor_;
- if (yych == 'a') goto yy1417;
- goto yy87;
-yy1227:
+ if (yych == 'a') goto yy1369;
+ goto yy11;
+yy1172:
yych = *++cursor_;
- if (yych == 't') goto yy1418;
- goto yy87;
-yy1228:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 't') goto yy1370;
+ goto yy11;
+yy1173:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 651 "src/wast-lexer.cc"
+#line 658 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Sub); }
-#line 7077 "src/prebuilt/wast-lexer-gen.cc"
-yy1230:
+#line 6545 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1175:
yych = *++cursor_;
- if (yych == 'l') goto yy1420;
- goto yy87;
-yy1231:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1372;
+ goto yy11;
+yy1176:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 671 "src/wast-lexer.cc"
+#line 678 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(LocalGet); }
-#line 7089 "src/prebuilt/wast-lexer-gen.cc"
-yy1233:
+#line 6557 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1178:
yych = *++cursor_;
- if (yych == 't') goto yy1422;
- goto yy87;
-yy1234:
+ if (yych == 't') goto yy1374;
+ goto yy11;
+yy1179:
yych = *++cursor_;
- if (yych == 't') goto yy1424;
- goto yy87;
-yy1235:
+ if (yych == 't') goto yy1376;
+ goto yy11;
+yy1180:
yych = *++cursor_;
- if (yych == 'r') goto yy1426;
- goto yy87;
-yy1236:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'r') goto yy1378;
+ goto yy11;
+yy1181:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1237;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy1182;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1427;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy1379;
+ if (yych <= '~') goto yy10;
}
}
-yy1237:
-#line 551 "src/wast-lexer.cc"
+yy1182:
+#line 558 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Add); }
-#line 7122 "src/prebuilt/wast-lexer-gen.cc"
-yy1238:
+#line 6590 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1183:
yych = *++cursor_;
- if (yych == '_') goto yy1428;
- goto yy87;
-yy1239:
+ if (yych == '_') goto yy1380;
+ goto yy11;
+yy1184:
yych = *++cursor_;
- if (yych == '_') goto yy1429;
- goto yy87;
-yy1240:
+ if (yych == '_') goto yy1381;
+ goto yy11;
+yy1185:
yych = *++cursor_;
- if (yych == 'r') goto yy1430;
- goto yy87;
-yy1241:
+ if (yych == 'r') goto yy1382;
+ goto yy11;
+yy1186:
yych = *++cursor_;
- if (yych == 's') goto yy1431;
- if (yych == 'u') goto yy1433;
- goto yy87;
-yy1242:
+ if (yych == 's') goto yy1383;
+ if (yych == 'u') goto yy1385;
+ goto yy11;
+yy1187:
yych = *++cursor_;
- if (yych == 's') goto yy1435;
- if (yych == 'u') goto yy1437;
- goto yy87;
-yy1243:
+ if (yych == 's') goto yy1387;
+ if (yych == 'u') goto yy1389;
+ goto yy11;
+yy1188:
yych = *++cursor_;
- if (yych == 's') goto yy1439;
- if (yych == 'u') goto yy1441;
- goto yy87;
-yy1244:
+ if (yych == 's') goto yy1391;
+ if (yych == 'u') goto yy1393;
+ goto yy11;
+yy1189:
yych = *++cursor_;
- if (yych == 's') goto yy1443;
- if (yych == 'u') goto yy1445;
- goto yy87;
-yy1245:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1395;
+ if (yych == 'u') goto yy1397;
+ goto yy11;
+yy1190:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 559 "src/wast-lexer.cc"
+#line 566 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Mul); }
-#line 7162 "src/prebuilt/wast-lexer-gen.cc"
-yy1247:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6630 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1192:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 562 "src/wast-lexer.cc"
+#line 569 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Neg); }
-#line 7170 "src/prebuilt/wast-lexer-gen.cc"
-yy1249:
+#line 6638 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1194:
yych = *++cursor_;
- if (yych == 'l') goto yy1447;
- goto yy87;
-yy1250:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1399;
+ goto yy11;
+yy1195:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 574 "src/wast-lexer.cc"
+#line 581 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Shl); }
-#line 7182 "src/prebuilt/wast-lexer-gen.cc"
-yy1252:
+#line 6650 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1197:
yych = *++cursor_;
- if (yych == '_') goto yy1448;
- goto yy87;
-yy1253:
+ if (yych == '_') goto yy1400;
+ goto yy11;
+yy1198:
yych = *++cursor_;
- if (yych == 'a') goto yy1449;
- goto yy87;
-yy1254:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'a') goto yy1401;
+ goto yy11;
+yy1199:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1255;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy1200;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1450;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy1402;
+ if (yych <= '~') goto yy10;
}
}
-yy1255:
-#line 555 "src/wast-lexer.cc"
+yy1200:
+#line 562 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Sub); }
-#line 7211 "src/prebuilt/wast-lexer-gen.cc"
-yy1256:
+#line 6679 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1201:
yych = *++cursor_;
- if (yych == 'c') goto yy1451;
- goto yy87;
-yy1257:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'c') goto yy1403;
+ goto yy11;
+yy1202:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 306 "src/wast-lexer.cc"
+#line 307 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I32Const); }
-#line 7223 "src/prebuilt/wast-lexer-gen.cc"
-yy1259:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6691 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1204:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 343 "src/wast-lexer.cc"
+#line 344 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivS); }
-#line 7231 "src/prebuilt/wast-lexer-gen.cc"
-yy1261:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6699 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1206:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 345 "src/wast-lexer.cc"
+#line 346 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivU); }
-#line 7239 "src/prebuilt/wast-lexer-gen.cc"
-yy1263:
+#line 6707 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1208:
yych = *++cursor_;
- if (yych == 'd') goto yy1452;
- goto yy87;
-yy1264:
+ if (yych == 'd') goto yy1404;
+ goto yy11;
+yy1209:
yych = *++cursor_;
- if (yych == '6') goto yy1453;
- goto yy87;
-yy1265:
+ if (yych == '6') goto yy1405;
+ goto yy11;
+yy1210:
yych = *++cursor_;
- if (yych == '_') goto yy1454;
- goto yy87;
-yy1266:
+ if (yych == '_') goto yy1406;
+ goto yy11;
+yy1211:
yych = *++cursor_;
- if (yych == 't') goto yy1455;
- goto yy87;
-yy1267:
+ if (yych == 't') goto yy1407;
+ goto yy11;
+yy1212:
yych = *++cursor_;
- if (yych == 'e') goto yy1457;
- goto yy87;
-yy1268:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1409;
+ goto yy11;
+yy1213:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 347 "src/wast-lexer.cc"
+#line 348 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemS); }
-#line 7267 "src/prebuilt/wast-lexer-gen.cc"
-yy1270:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6735 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1215:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 349 "src/wast-lexer.cc"
+#line 350 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemU); }
-#line 7275 "src/prebuilt/wast-lexer-gen.cc"
-yy1272:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6743 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1217:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 359 "src/wast-lexer.cc"
+#line 360 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrS); }
-#line 7283 "src/prebuilt/wast-lexer-gen.cc"
-yy1274:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6751 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1219:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 361 "src/wast-lexer.cc"
+#line 362 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrU); }
-#line 7291 "src/prebuilt/wast-lexer-gen.cc"
-yy1276:
- ++cursor_;
- if ((yych = *cursor_) <= '0') {
+#line 6759 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1221:
+ yych = *++cursor_;
+ if (yych <= '0') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1458;
- if (yych <= '7') goto yy86;
- goto yy1459;
+ if (yych <= '1') goto yy1410;
+ if (yych <= '7') goto yy10;
+ goto yy1411;
} else {
- if (yych == ';') goto yy1277;
- if (yych <= '~') goto yy86;
+ if (yych == ';') goto yy1222;
+ if (yych <= '~') goto yy10;
}
}
-yy1277:
-#line 285 "src/wast-lexer.cc"
+yy1222:
+#line 286 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store); }
-#line 7314 "src/prebuilt/wast-lexer-gen.cc"
-yy1278:
+#line 6782 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1223:
yych = *++cursor_;
- if (yych == '_') goto yy1461;
- goto yy87;
-yy1279:
+ if (yych == '_') goto yy1413;
+ goto yy11;
+yy1224:
yych = *++cursor_;
- if (yych == 'i') goto yy1462;
- goto yy87;
-yy1280:
+ if (yych == 'i') goto yy1414;
+ goto yy11;
+yy1225:
yych = *++cursor_;
- if (yych == 'i') goto yy1463;
- goto yy87;
-yy1281:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'i') goto yy1415;
+ goto yy11;
+yy1226:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 552 "src/wast-lexer.cc"
+#line 559 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Add); }
-#line 7334 "src/prebuilt/wast-lexer-gen.cc"
-yy1283:
+#line 6802 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1228:
yych = *++cursor_;
- if (yych == '_') goto yy1464;
- goto yy87;
-yy1284:
+ if (yych == '_') goto yy1416;
+ goto yy11;
+yy1229:
yych = *++cursor_;
- if (yych == '_') goto yy1465;
- goto yy87;
-yy1285:
+ if (yych == '_') goto yy1417;
+ goto yy11;
+yy1230:
yych = *++cursor_;
- if (yych == 'r') goto yy1466;
- goto yy87;
-yy1286:
+ if (yych == 'r') goto yy1418;
+ goto yy11;
+yy1231:
yych = *++cursor_;
- if (yych == 's') goto yy1467;
- if (yych == 'u') goto yy1469;
- goto yy87;
-yy1287:
+ if (yych == 's') goto yy1419;
+ if (yych == 'u') goto yy1421;
+ goto yy11;
+yy1232:
yych = *++cursor_;
- if (yych == 's') goto yy1471;
- if (yych == 'u') goto yy1473;
- goto yy87;
-yy1288:
+ if (yych == 's') goto yy1423;
+ if (yych == 'u') goto yy1425;
+ goto yy11;
+yy1233:
yych = *++cursor_;
- if (yych == 's') goto yy1475;
- if (yych == 'u') goto yy1477;
- goto yy87;
-yy1289:
+ if (yych == 's') goto yy1427;
+ if (yych == 'u') goto yy1429;
+ goto yy11;
+yy1234:
yych = *++cursor_;
- if (yych == 's') goto yy1479;
- if (yych == 'u') goto yy1481;
- goto yy87;
-yy1290:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1431;
+ if (yych == 'u') goto yy1433;
+ goto yy11;
+yy1235:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 560 "src/wast-lexer.cc"
+#line 567 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Mul); }
-#line 7374 "src/prebuilt/wast-lexer-gen.cc"
-yy1292:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6842 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1237:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 563 "src/wast-lexer.cc"
+#line 570 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Neg); }
-#line 7382 "src/prebuilt/wast-lexer-gen.cc"
-yy1294:
+#line 6850 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1239:
yych = *++cursor_;
- if (yych == 'l') goto yy1483;
- goto yy87;
-yy1295:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1435;
+ goto yy11;
+yy1240:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 575 "src/wast-lexer.cc"
+#line 582 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Shl); }
-#line 7394 "src/prebuilt/wast-lexer-gen.cc"
-yy1297:
+#line 6862 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1242:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1436;
+ goto yy11;
+yy1243:
yych = *++cursor_;
- if (yych == '_') goto yy1484;
- goto yy87;
-yy1298:
+ if (yych == 'a') goto yy1437;
+ goto yy11;
+yy1244:
yych = *++cursor_;
- if (yych == 'a') goto yy1485;
- goto yy87;
-yy1299:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 556 "src/wast-lexer.cc"
+#line 563 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Sub); }
-#line 7410 "src/prebuilt/wast-lexer-gen.cc"
-yy1301:
+#line 6878 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1246:
yych = *++cursor_;
- if (yych == 'n') goto yy1486;
- goto yy87;
-yy1302:
+ if (yych == 'n') goto yy1438;
+ goto yy11;
+yy1247:
yych = *++cursor_;
- if (yych == 'c') goto yy1487;
- goto yy87;
-yy1303:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'c') goto yy1439;
+ goto yy11;
+yy1248:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 307 "src/wast-lexer.cc"
+#line 308 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I64Const); }
-#line 7426 "src/prebuilt/wast-lexer-gen.cc"
-yy1305:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6894 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1250:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 344 "src/wast-lexer.cc"
+#line 345 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivS); }
-#line 7434 "src/prebuilt/wast-lexer-gen.cc"
-yy1307:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6902 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1252:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 346 "src/wast-lexer.cc"
+#line 347 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivU); }
-#line 7442 "src/prebuilt/wast-lexer-gen.cc"
-yy1309:
+#line 6910 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1254:
yych = *++cursor_;
- if (yych == 'd') goto yy1488;
- goto yy87;
-yy1310:
+ if (yych == 'd') goto yy1440;
+ goto yy11;
+yy1255:
yych = *++cursor_;
- if (yych == '6') goto yy1489;
- goto yy87;
-yy1311:
+ if (yych == '6') goto yy1441;
+ goto yy11;
+yy1256:
yych = *++cursor_;
- if (yych == '2') goto yy1490;
- goto yy87;
-yy1312:
+ if (yych == '2') goto yy1442;
+ goto yy11;
+yy1257:
yych = *++cursor_;
- if (yych == '_') goto yy1491;
- goto yy87;
-yy1313:
+ if (yych == '_') goto yy1443;
+ goto yy11;
+yy1258:
yych = *++cursor_;
- if (yych == 't') goto yy1492;
- goto yy87;
-yy1314:
+ if (yych == 't') goto yy1444;
+ goto yy11;
+yy1259:
yych = *++cursor_;
- if (yych == 'e') goto yy1494;
- goto yy87;
-yy1315:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'e') goto yy1446;
+ goto yy11;
+yy1260:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 348 "src/wast-lexer.cc"
+#line 349 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemS); }
-#line 7474 "src/prebuilt/wast-lexer-gen.cc"
-yy1317:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6942 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1262:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 350 "src/wast-lexer.cc"
+#line 351 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemU); }
-#line 7482 "src/prebuilt/wast-lexer-gen.cc"
-yy1319:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6950 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1264:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 360 "src/wast-lexer.cc"
+#line 361 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrS); }
-#line 7490 "src/prebuilt/wast-lexer-gen.cc"
-yy1321:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 6958 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1266:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 362 "src/wast-lexer.cc"
+#line 363 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrU); }
-#line 7498 "src/prebuilt/wast-lexer-gen.cc"
-yy1323:
- ++cursor_;
- if ((yych = *cursor_) <= '1') {
+#line 6966 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1268:
+ yych = *++cursor_;
+ if (yych <= '1') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
+ if (yych == '!') goto yy10;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1324;
- if (yych <= '0') goto yy86;
- goto yy1495;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy1269;
+ if (yych <= '0') goto yy10;
+ goto yy1447;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1496;
- if (yych <= '7') goto yy86;
- goto yy1497;
+ if (yych == '3') goto yy1448;
+ if (yych <= '7') goto yy10;
+ goto yy1449;
} else {
- if (yych == ';') goto yy1324;
- if (yych <= '~') goto yy86;
+ if (yych == ';') goto yy1269;
+ if (yych <= '~') goto yy10;
}
}
-yy1324:
-#line 286 "src/wast-lexer.cc"
+yy1269:
+#line 287 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store); }
-#line 7523 "src/prebuilt/wast-lexer-gen.cc"
-yy1325:
+#line 6991 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1270:
yych = *++cursor_;
- if (yych == '_') goto yy1499;
- goto yy87;
-yy1326:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == '_') goto yy1451;
+ goto yy11;
+yy1271:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 553 "src/wast-lexer.cc"
+#line 560 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Add); }
-#line 7535 "src/prebuilt/wast-lexer-gen.cc"
-yy1328:
+#line 7003 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1273:
yych = *++cursor_;
- if (yych == '_') goto yy1500;
- goto yy87;
-yy1329:
+ if (yych == '_') goto yy1452;
+ goto yy11;
+yy1274:
yych = *++cursor_;
- if (yych == '_') goto yy1501;
- goto yy87;
-yy1330:
+ if (yych == '_') goto yy1453;
+ goto yy11;
+yy1275:
yych = *++cursor_;
- if (yych == 'r') goto yy1502;
- goto yy87;
-yy1331:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'r') goto yy1454;
+ goto yy11;
+yy1276:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 564 "src/wast-lexer.cc"
+#line 571 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Neg); }
-#line 7555 "src/prebuilt/wast-lexer-gen.cc"
-yy1333:
+#line 7023 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1278:
yych = *++cursor_;
- if (yych == 'l') goto yy1503;
- goto yy87;
-yy1334:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1455;
+ goto yy11;
+yy1279:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 576 "src/wast-lexer.cc"
+#line 583 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Shl); }
-#line 7567 "src/prebuilt/wast-lexer-gen.cc"
-yy1336:
+#line 7035 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1281:
yych = *++cursor_;
- if (yych == '_') goto yy1504;
- goto yy87;
-yy1337:
+ if (yych == '_') goto yy1456;
+ goto yy11;
+yy1282:
yych = *++cursor_;
- if (yych == 'a') goto yy1505;
- goto yy87;
-yy1338:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'a') goto yy1457;
+ goto yy11;
+yy1283:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 557 "src/wast-lexer.cc"
+#line 564 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Sub); }
-#line 7583 "src/prebuilt/wast-lexer-gen.cc"
-yy1340:
+#line 7051 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1285:
yych = *++cursor_;
- if (yych == 'n') goto yy1506;
- goto yy87;
-yy1341:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'n') goto yy1458;
+ goto yy11;
+yy1286:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1342;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy1287;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1507;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy1459;
+ if (yych <= '~') goto yy10;
}
}
-yy1342:
-#line 550 "src/wast-lexer.cc"
+yy1287:
+#line 557 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Add); }
-#line 7608 "src/prebuilt/wast-lexer-gen.cc"
-yy1343:
+#line 7076 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1288:
yych = *++cursor_;
- if (yych == '_') goto yy1508;
- goto yy87;
-yy1344:
+ if (yych == '_') goto yy1460;
+ goto yy11;
+yy1289:
yych = *++cursor_;
- if (yych == '_') goto yy1509;
- goto yy87;
-yy1345:
+ if (yych == '_') goto yy1461;
+ goto yy11;
+yy1290:
yych = *++cursor_;
- if (yych == 'r') goto yy1510;
- goto yy87;
-yy1346:
+ if (yych == 'r') goto yy1462;
+ goto yy11;
+yy1291:
yych = *++cursor_;
- if (yych == 's') goto yy1511;
- if (yych == 'u') goto yy1513;
- goto yy87;
-yy1347:
+ if (yych == 's') goto yy1463;
+ if (yych == 'u') goto yy1465;
+ goto yy11;
+yy1292:
yych = *++cursor_;
- if (yych == 's') goto yy1515;
- if (yych == 'u') goto yy1517;
- goto yy87;
-yy1348:
+ if (yych == 's') goto yy1467;
+ if (yych == 'u') goto yy1469;
+ goto yy11;
+yy1293:
yych = *++cursor_;
- if (yych == 's') goto yy1519;
- if (yych == 'u') goto yy1521;
- goto yy87;
-yy1349:
+ if (yych == 's') goto yy1471;
+ if (yych == 'u') goto yy1473;
+ goto yy11;
+yy1294:
yych = *++cursor_;
- if (yych == 's') goto yy1523;
- if (yych == 'u') goto yy1525;
- goto yy87;
-yy1350:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 's') goto yy1475;
+ if (yych == 'u') goto yy1477;
+ goto yy11;
+yy1295:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 558 "src/wast-lexer.cc"
+#line 565 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Mul); }
-#line 7648 "src/prebuilt/wast-lexer-gen.cc"
-yy1352:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 7116 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1297:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 561 "src/wast-lexer.cc"
+#line 568 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Neg); }
-#line 7656 "src/prebuilt/wast-lexer-gen.cc"
-yy1354:
+#line 7124 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1299:
yych = *++cursor_;
- if (yych == 'l') goto yy1527;
- goto yy87;
-yy1355:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1479;
+ goto yy11;
+yy1300:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 573 "src/wast-lexer.cc"
+#line 580 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Shl); }
-#line 7668 "src/prebuilt/wast-lexer-gen.cc"
-yy1357:
+#line 7136 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1302:
yych = *++cursor_;
- if (yych == '_') goto yy1528;
- goto yy87;
-yy1358:
+ if (yych == '_') goto yy1480;
+ goto yy11;
+yy1303:
yych = *++cursor_;
- if (yych == 'a') goto yy1529;
- goto yy87;
-yy1359:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
+ if (yych == 'a') goto yy1481;
+ goto yy11;
+yy1304:
+ yych = *++cursor_;
+ if (yych <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy86;
+ if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1360;
- if (yych <= '\'') goto yy86;
+ if (yych <= '"') goto yy1305;
+ if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy86;
+ if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1530;
- if (yych <= '~') goto yy86;
+ if (yych <= '_') goto yy1482;
+ if (yych <= '~') goto yy10;
}
}
-yy1360:
-#line 554 "src/wast-lexer.cc"
+yy1305:
+#line 561 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Sub); }
-#line 7697 "src/prebuilt/wast-lexer-gen.cc"
-yy1361:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 7165 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1306:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 276 "src/wast-lexer.cc"
+#line 277 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(LocalGet); }
-#line 7705 "src/prebuilt/wast-lexer-gen.cc"
-yy1363:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 7173 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1308:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 277 "src/wast-lexer.cc"
+#line 278 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(LocalSet); }
-#line 7713 "src/prebuilt/wast-lexer-gen.cc"
-yy1365:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 7181 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1310:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 278 "src/wast-lexer.cc"
+#line 279 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(LocalTee); }
-#line 7721 "src/prebuilt/wast-lexer-gen.cc"
-yy1367:
+#line 7189 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1312:
yych = *++cursor_;
- if (yych == 'p') goto yy1531;
- goto yy87;
-yy1368:
+ if (yych == 'p') goto yy1483;
+ goto yy11;
+yy1313:
yych = *++cursor_;
- if (yych == 'l') goto yy1532;
- goto yy87;
-yy1369:
+ if (yych == 'l') goto yy1484;
+ goto yy11;
+yy1314:
yych = *++cursor_;
- if (yych == 'o') goto yy1533;
- goto yy87;
-yy1370:
+ if (yych == 'o') goto yy1485;
+ goto yy11;
+yy1315:
yych = *++cursor_;
- if (yych == 'i') goto yy1534;
- goto yy87;
-yy1371:
+ if (yych == 'i') goto yy1486;
+ goto yy11;
+yy1316:
yych = *++cursor_;
- if (yych == 'z') goto yy1535;
- goto yy87;
-yy1372:
+ if (yych == 'z') goto yy1487;
+ goto yy11;
+yy1317:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy88;
- goto yy86;
+ if (yych <= ' ') goto yy12;
+ goto yy10;
} else {
- if (yych <= '"') goto yy88;
- if (yych <= '\'') goto yy86;
- goto yy88;
+ if (yych <= '"') goto yy12;
+ if (yych <= '\'') goto yy10;
+ goto yy12;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1123;
- goto yy86;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy1061;
+ goto yy10;
} else {
- if (yych <= ';') goto yy88;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= ';') goto yy12;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy1373:
+yy1318:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy86;
- goto yy88;
+ if (yych == '!') goto yy10;
+ goto yy12;
} else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy88;
- if (yych <= '/') goto yy86;
- goto yy1536;
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy12;
+ if (yych <= '/') goto yy10;
+ goto yy1488;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy88;
- if (yych <= '@') goto yy86;
- goto yy1536;
+ if (yych == ';') goto yy12;
+ if (yych <= '@') goto yy10;
+ goto yy1488;
} else {
- if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy1536;
- if (yych <= '~') goto yy86;
- goto yy88;
+ if (yych <= '`') goto yy10;
+ if (yych <= 'f') goto yy1488;
+ if (yych <= '~') goto yy10;
+ goto yy12;
}
}
-yy1374:
+yy1319:
yych = *++cursor_;
- if (yych == 'l') goto yy1538;
- goto yy87;
-yy1375:
+ if (yych == 'l') goto yy1490;
+ goto yy11;
+yy1320:
yych = *++cursor_;
- if (yych == 'l') goto yy1539;
- goto yy87;
-yy1376:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych == 'l') goto yy1491;
+ goto yy11;
+yy1321:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1492;
+ goto yy11;
+yy1322:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 672 "src/wast-lexer.cc"
+#line 679 "/home/alex/code/wabt/src/wast-lexer.cc"
{ RETURN_OPCODE0(LocalSet); }
-#line 7807 "src/prebuilt/wast-lexer-gen.cc"
+#line 7279 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1324:
+ yych = *++cursor_;
+ if (yych == 'y') goto yy1494;
+ goto yy11;
+yy1325:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 460 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableGet); }
+#line 7291 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1327:
+ yych = *++cursor_;
+ if (yych == 'w') goto yy1496;
+ goto yy11;
+yy1328:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1498;
+ goto yy11;
+yy1329:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 461 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableSet); }
+#line 7307 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1331:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1500;
+ goto yy11;
+yy1332:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 680 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalTee); }
+#line 7319 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1334:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1502;
+ goto yy11;
+yy1335:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1503;
+ goto yy11;
+yy1336:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1504;
+ goto yy11;
+yy1337:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 534 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, V128Load); }
+#line 7339 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1339:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1506;
+ goto yy11;
+yy1340:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1508;
+ goto yy11;
+yy1341:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1509;
+ goto yy11;
+yy1342:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1510;
+ goto yy11;
+yy1343:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1511;
+ goto yy11;
+yy1344:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1512;
+ goto yy11;
+yy1345:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1513;
+ goto yy11;
+yy1346:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1515;
+ goto yy11;
+yy1347:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1516;
+ goto yy11;
+yy1348:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1517;
+ goto yy11;
+yy1349:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1518;
+ goto yy11;
+yy1350:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1519;
+ goto yy11;
+yy1351:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy1520;
+ goto yy11;
+yy1352:
+ yych = *++cursor_;
+ if (yych == '/') goto yy1521;
+ if (yych == '_') goto yy1522;
+ goto yy11;
+yy1353:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1523;
+ goto yy11;
+yy1354:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1525;
+ goto yy11;
+yy1355:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1526;
+ goto yy11;
+yy1356:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1527;
+ goto yy11;
+yy1357:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1528;
+ goto yy11;
+yy1358:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1529;
+ goto yy11;
+yy1359:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 663 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4Sqrt); }
+#line 7428 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1361:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1531;
+ goto yy11;
+yy1362:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy1532;
+ goto yy11;
+yy1363:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1533;
+ goto yy11;
+yy1364:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1535;
+ goto yy11;
+yy1365:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1536;
+ goto yy11;
+yy1366:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1537;
+ goto yy11;
+yy1367:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1538;
+ goto yy11;
+yy1368:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1539;
+ goto yy11;
+yy1369:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1540;
+ goto yy11;
+yy1370:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 664 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2Sqrt); }
+#line 7472 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1372:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 681 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalGet); }
+#line 7480 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1374:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 280 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalGet); }
+#line 7488 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1376:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 281 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalSet); }
+#line 7496 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1378:
yych = *++cursor_;
- if (yych == 'y') goto yy1541;
- goto yy87;
+ if (yych == 'y') goto yy1542;
+ goto yy11;
yy1379:
yych = *++cursor_;
- if (yych == 't') goto yy1543;
- goto yy87;
+ if (yych == 's') goto yy1544;
+ goto yy11;
yy1380:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 673 "src/wast-lexer.cc"
- { RETURN_OPCODE0(LocalTee); }
-#line 7823 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1545;
+ goto yy11;
+yy1381:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1546;
+ goto yy11;
yy1382:
yych = *++cursor_;
- if (yych == 'l') goto yy1545;
- goto yy87;
+ if (yych == 'a') goto yy1547;
+ goto yy11;
yy1383:
yych = *++cursor_;
- if (yych == 'e') goto yy1546;
- goto yy87;
-yy1384:
- yych = *++cursor_;
- if (yych == 't') goto yy1547;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 641 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GeS); }
+#line 7524 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1385:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 527 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, V128Load); }
-#line 7843 "src/prebuilt/wast-lexer-gen.cc"
+#line 642 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GeU); }
+#line 7532 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1387:
yych = *++cursor_;
- if (yych == 'e') goto yy1549;
- goto yy87;
-yy1388:
- yych = *++cursor_;
- if (yych == 'f') goto yy1551;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 633 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GtS); }
+#line 7540 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1389:
yych = *++cursor_;
- if (yych == 'a') goto yy1552;
- goto yy87;
-yy1390:
- yych = *++cursor_;
- if (yych == 'a') goto yy1553;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 634 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GtU); }
+#line 7548 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1391:
yych = *++cursor_;
- if (yych == 'f') goto yy1554;
- goto yy87;
-yy1392:
- yych = *++cursor_;
- if (yych == 'u') goto yy1555;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 625 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LeS); }
+#line 7556 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1393:
yych = *++cursor_;
- if (yych == 'p') goto yy1556;
- goto yy87;
-yy1394:
- yych = *++cursor_;
- if (yych == 'i') goto yy1558;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 626 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LeU); }
+#line 7564 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1395:
yych = *++cursor_;
- if (yych == 'i') goto yy1559;
- goto yy87;
-yy1396:
- yych = *++cursor_;
- if (yych == 'e') goto yy1560;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 617 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LtS); }
+#line 7572 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1397:
yych = *++cursor_;
- if (yych == 'm') goto yy1561;
- goto yy87;
-yy1398:
- yych = *++cursor_;
- if (yych == 't') goto yy1562;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 618 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LtU); }
+#line 7580 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1399:
yych = *++cursor_;
- if (yych == 'g') goto yy1563;
- goto yy87;
+ if (yych == 'a') goto yy1548;
+ goto yy11;
yy1400:
yych = *++cursor_;
- if (yych == '/') goto yy1564;
- if (yych == '_') goto yy1565;
- goto yy87;
+ if (yych == 's') goto yy1549;
+ if (yych == 'u') goto yy1551;
+ goto yy11;
yy1401:
yych = *++cursor_;
- if (yych == 't') goto yy1566;
- goto yy87;
+ if (yych == 't') goto yy1553;
+ goto yy11;
yy1402:
yych = *++cursor_;
- if (yych == 'r') goto yy1568;
- goto yy87;
+ if (yych == 's') goto yy1555;
+ goto yy11;
yy1403:
yych = *++cursor_;
- if (yych == 'e') goto yy1569;
- goto yy87;
+ if (yych == '.') goto yy1556;
+ goto yy11;
yy1404:
yych = *++cursor_;
- if (yych == 'a') goto yy1570;
- goto yy87;
+ if (yych == '1') goto yy1557;
+ if (yych == '8') goto yy1558;
+ goto yy11;
yy1405:
yych = *++cursor_;
- if (yych == 'a') goto yy1571;
- goto yy87;
+ if (yych == '_') goto yy1559;
+ goto yy11;
yy1406:
yych = *++cursor_;
- if (yych == 't') goto yy1572;
- goto yy87;
+ if (yych == 's') goto yy1560;
+ if (yych == 'u') goto yy1562;
+ goto yy11;
yy1407:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 656 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4Sqrt); }
-#line 7932 "src/prebuilt/wast-lexer-gen.cc"
+#line 317 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Popcnt); }
+#line 7623 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1409:
yych = *++cursor_;
- if (yych == 't') goto yy1574;
- goto yy87;
+ if (yych == 'r') goto yy1564;
+ goto yy11;
yy1410:
yych = *++cursor_;
- if (yych == 'g') goto yy1575;
- goto yy87;
+ if (yych == '6') goto yy1565;
+ goto yy11;
yy1411:
yych = *++cursor_;
- if (yych == 't') goto yy1576;
- goto yy87;
-yy1412:
- yych = *++cursor_;
- if (yych == 'e') goto yy1578;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 300 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, I32Store8); }
+#line 7639 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1413:
yych = *++cursor_;
- if (yych == 'r') goto yy1579;
- goto yy87;
+ if (yych <= 'r') {
+ if (yych == 'f') goto yy1567;
+ goto yy11;
+ } else {
+ if (yych <= 's') goto yy1568;
+ if (yych == 'u') goto yy1569;
+ goto yy11;
+ }
yy1414:
yych = *++cursor_;
- if (yych == 'e') goto yy1580;
- goto yy87;
+ if (yych == '6') goto yy1570;
+ goto yy11;
yy1415:
yych = *++cursor_;
- if (yych == 'a') goto yy1581;
- goto yy87;
+ if (yych == '6') goto yy1571;
+ goto yy11;
yy1416:
yych = *++cursor_;
- if (yych == 'a') goto yy1582;
- goto yy87;
+ if (yych == 't') goto yy1572;
+ goto yy11;
yy1417:
yych = *++cursor_;
- if (yych == 't') goto yy1583;
- goto yy87;
+ if (yych == 't') goto yy1573;
+ goto yy11;
yy1418:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 657 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2Sqrt); }
-#line 7976 "src/prebuilt/wast-lexer-gen.cc"
-yy1420:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1574;
+ goto yy11;
+yy1419:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 674 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GlobalGet); }
-#line 7984 "src/prebuilt/wast-lexer-gen.cc"
-yy1422:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 643 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GeS); }
+#line 7677 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1421:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 279 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GlobalGet); }
-#line 7992 "src/prebuilt/wast-lexer-gen.cc"
-yy1424:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 644 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GeU); }
+#line 7685 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1423:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 280 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GlobalSet); }
-#line 8000 "src/prebuilt/wast-lexer-gen.cc"
-yy1426:
+#line 635 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GtS); }
+#line 7693 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1425:
yych = *++cursor_;
- if (yych == 'y') goto yy1585;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 636 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GtU); }
+#line 7701 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1427:
yych = *++cursor_;
- if (yych == 's') goto yy1587;
- goto yy87;
-yy1428:
- yych = *++cursor_;
- if (yych == 't') goto yy1588;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 627 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LeS); }
+#line 7709 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1429:
yych = *++cursor_;
- if (yych == 't') goto yy1589;
- goto yy87;
-yy1430:
- yych = *++cursor_;
- if (yych == 'a') goto yy1590;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 628 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LeU); }
+#line 7717 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1431:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 634 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GeS); }
-#line 8028 "src/prebuilt/wast-lexer-gen.cc"
+#line 619 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LtS); }
+#line 7725 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1433:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 635 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GeU); }
-#line 8036 "src/prebuilt/wast-lexer-gen.cc"
+#line 620 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LtU); }
+#line 7733 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1435:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 626 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GtS); }
-#line 8044 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1575;
+ goto yy11;
+yy1436:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1576;
+ if (yych == 'u') goto yy1578;
+ goto yy11;
yy1437:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 627 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GtU); }
-#line 8052 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1580;
+ goto yy11;
+yy1438:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1582;
+ goto yy11;
yy1439:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == '.') goto yy1583;
+ goto yy11;
+yy1440:
+ yych = *++cursor_;
+ if (yych <= '3') {
+ if (yych == '1') goto yy1584;
+ if (yych <= '2') goto yy11;
+ goto yy1585;
+ } else {
+ if (yych <= '8') {
+ if (yych <= '7') goto yy11;
+ goto yy1586;
+ } else {
+ if (yych == '_') goto yy1587;
+ goto yy11;
+ }
}
-#line 618 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LeS); }
-#line 8060 "src/prebuilt/wast-lexer-gen.cc"
yy1441:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 619 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LeU); }
-#line 8068 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy1588;
+ goto yy11;
+yy1442:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1589;
+ goto yy11;
yy1443:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 610 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LtS); }
-#line 8076 "src/prebuilt/wast-lexer-gen.cc"
-yy1445:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 's') goto yy1590;
+ if (yych == 'u') goto yy1592;
+ goto yy11;
+yy1444:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 611 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LtU); }
-#line 8084 "src/prebuilt/wast-lexer-gen.cc"
+#line 318 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Popcnt); }
+#line 7790 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1446:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1594;
+ goto yy11;
yy1447:
yych = *++cursor_;
- if (yych == 'a') goto yy1591;
- goto yy87;
+ if (yych == '6') goto yy1595;
+ goto yy11;
yy1448:
yych = *++cursor_;
- if (yych == 's') goto yy1592;
- if (yych == 'u') goto yy1594;
- goto yy87;
+ if (yych == '2') goto yy1597;
+ goto yy11;
yy1449:
yych = *++cursor_;
- if (yych == 't') goto yy1596;
- goto yy87;
-yy1450:
- yych = *++cursor_;
- if (yych == 's') goto yy1598;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 301 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, I64Store8); }
+#line 7810 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1451:
yych = *++cursor_;
- if (yych == '.') goto yy1599;
- goto yy87;
+ if (yych <= 'r') {
+ if (yych == 'f') goto yy1599;
+ goto yy11;
+ } else {
+ if (yych <= 's') goto yy1600;
+ if (yych == 'u') goto yy1601;
+ goto yy11;
+ }
yy1452:
yych = *++cursor_;
- if (yych == '1') goto yy1600;
- if (yych == '8') goto yy1601;
- goto yy87;
+ if (yych == 't') goto yy1602;
+ goto yy11;
yy1453:
yych = *++cursor_;
- if (yych == '_') goto yy1602;
- goto yy87;
+ if (yych == 't') goto yy1603;
+ goto yy11;
yy1454:
yych = *++cursor_;
- if (yych == 's') goto yy1603;
- if (yych == 'u') goto yy1605;
- goto yy87;
+ if (yych == 'a') goto yy1604;
+ goto yy11;
yy1455:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 316 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Popcnt); }
-#line 8127 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1605;
+ goto yy11;
+yy1456:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1606;
+ if (yych == 'u') goto yy1608;
+ goto yy11;
yy1457:
yych = *++cursor_;
- if (yych == 'r') goto yy1607;
- goto yy87;
+ if (yych == 't') goto yy1610;
+ goto yy11;
yy1458:
yych = *++cursor_;
- if (yych == '6') goto yy1608;
- goto yy87;
+ if (yych == 'c') goto yy1612;
+ goto yy11;
yy1459:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 299 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, I32Store8); }
-#line 8143 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 's') goto yy1613;
+ goto yy11;
+yy1460:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1614;
+ goto yy11;
yy1461:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'f') goto yy1610;
- goto yy87;
- } else {
- if (yych <= 's') goto yy1611;
- if (yych == 'u') goto yy1612;
- goto yy87;
- }
+ if (yych == 't') goto yy1615;
+ goto yy11;
yy1462:
yych = *++cursor_;
- if (yych == '6') goto yy1613;
- goto yy87;
+ if (yych == 'a') goto yy1616;
+ goto yy11;
yy1463:
yych = *++cursor_;
- if (yych == '6') goto yy1614;
- goto yy87;
-yy1464:
- yych = *++cursor_;
- if (yych == 't') goto yy1615;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 639 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16GeS); }
+#line 7873 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1465:
yych = *++cursor_;
- if (yych == 't') goto yy1616;
- goto yy87;
-yy1466:
- yych = *++cursor_;
- if (yych == 'a') goto yy1617;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 640 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16GeU); }
+#line 7881 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1467:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 636 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GeS); }
-#line 8181 "src/prebuilt/wast-lexer-gen.cc"
+#line 631 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16GtS); }
+#line 7889 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1469:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 637 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GeU); }
-#line 8189 "src/prebuilt/wast-lexer-gen.cc"
+#line 632 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16GtU); }
+#line 7897 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1471:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 628 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GtS); }
-#line 8197 "src/prebuilt/wast-lexer-gen.cc"
+#line 623 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16LeS); }
+#line 7905 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1473:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 629 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GtU); }
-#line 8205 "src/prebuilt/wast-lexer-gen.cc"
+#line 624 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16LeU); }
+#line 7913 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1475:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 620 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LeS); }
-#line 8213 "src/prebuilt/wast-lexer-gen.cc"
+#line 615 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16LtS); }
+#line 7921 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1477:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 621 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LeU); }
-#line 8221 "src/prebuilt/wast-lexer-gen.cc"
+#line 616 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16LtU); }
+#line 7929 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1479:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 612 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LtS); }
-#line 8229 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1617;
+ goto yy11;
+yy1480:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1618;
+ if (yych == 'u') goto yy1620;
+ goto yy11;
yy1481:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 613 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LtU); }
-#line 8237 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1622;
+ goto yy11;
+yy1482:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1624;
+ goto yy11;
yy1483:
yych = *++cursor_;
- if (yych == 'a') goto yy1618;
- goto yy87;
+ if (yych == 'y') goto yy1625;
+ goto yy11;
yy1484:
yych = *++cursor_;
- if (yych == 's') goto yy1619;
- if (yych == 'u') goto yy1621;
- goto yy87;
+ if (yych == 'l') goto yy1627;
+ goto yy11;
yy1485:
yych = *++cursor_;
- if (yych == 't') goto yy1623;
- goto yy87;
+ if (yych == 'w') goto yy1629;
+ goto yy11;
yy1486:
yych = *++cursor_;
- if (yych == 'c') goto yy1625;
- goto yy87;
+ if (yych == 't') goto yy1631;
+ goto yy11;
yy1487:
yych = *++cursor_;
- if (yych == '.') goto yy1626;
- goto yy87;
+ if (yych == 'e') goto yy1633;
+ goto yy11;
yy1488:
- yych = *++cursor_;
- if (yych <= '3') {
- if (yych == '1') goto yy1627;
- if (yych <= '2') goto yy87;
- goto yy1628;
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= ':') {
+ if (yych <= '\'') {
+ if (yych == '!') goto yy10;
+ if (yych <= '"') goto yy1060;
+ goto yy10;
+ } else {
+ if (yych <= ')') goto yy1060;
+ if (yych <= '/') goto yy10;
+ if (yych <= '9') goto yy1488;
+ goto yy10;
+ }
} else {
- if (yych <= '8') {
- if (yych <= '7') goto yy87;
- goto yy1629;
+ if (yych <= '^') {
+ if (yych <= ';') goto yy1060;
+ if (yych <= '@') goto yy10;
+ if (yych <= 'F') goto yy1488;
+ goto yy10;
} else {
- if (yych == '_') goto yy1630;
- goto yy87;
+ if (yych <= '`') {
+ if (yych <= '_') goto yy1318;
+ goto yy10;
+ } else {
+ if (yych <= 'f') goto yy1488;
+ if (yych <= '~') goto yy10;
+ goto yy1060;
+ }
}
}
-yy1489:
- yych = *++cursor_;
- if (yych == '_') goto yy1631;
- goto yy87;
yy1490:
yych = *++cursor_;
- if (yych == '_') goto yy1632;
- goto yy87;
+ if (yych == 'l') goto yy1635;
+ goto yy11;
yy1491:
yych = *++cursor_;
- if (yych == 's') goto yy1633;
- if (yych == 'u') goto yy1635;
- goto yy87;
+ if (yych == 'l') goto yy1637;
+ goto yy11;
yy1492:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 317 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Popcnt); }
-#line 8294 "src/prebuilt/wast-lexer-gen.cc"
+#line 682 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalSet); }
+#line 8014 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1494:
yych = *++cursor_;
- if (yych == 'r') goto yy1637;
- goto yy87;
-yy1495:
- yych = *++cursor_;
- if (yych == '6') goto yy1638;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 459 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableCopy); }
+#line 8022 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1496:
yych = *++cursor_;
- if (yych == '2') goto yy1640;
- goto yy87;
-yy1497:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 300 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, I64Store8); }
-#line 8314 "src/prebuilt/wast-lexer-gen.cc"
-yy1499:
+#line 462 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableGrow); }
+#line 8030 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1498:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'f') goto yy1642;
- goto yy87;
- } else {
- if (yych <= 's') goto yy1643;
- if (yych == 'u') goto yy1644;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
+#line 457 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableInit); }
+#line 8038 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1500:
yych = *++cursor_;
- if (yych == 't') goto yy1645;
- goto yy87;
-yy1501:
- yych = *++cursor_;
- if (yych == 't') goto yy1646;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 463 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableSize); }
+#line 8046 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1502:
yych = *++cursor_;
- if (yych == 'a') goto yy1647;
- goto yy87;
+ if (yych == 'e') goto yy1639;
+ goto yy11;
yy1503:
yych = *++cursor_;
- if (yych == 'a') goto yy1648;
- goto yy87;
+ if (yych == 'l') goto yy1641;
+ goto yy11;
yy1504:
yych = *++cursor_;
- if (yych == 's') goto yy1649;
- if (yych == 'u') goto yy1651;
- goto yy87;
-yy1505:
- yych = *++cursor_;
- if (yych == 't') goto yy1653;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 533 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Const, V128Const); }
+#line 8062 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1506:
yych = *++cursor_;
- if (yych == 'c') goto yy1655;
- goto yy87;
-yy1507:
- yych = *++cursor_;
- if (yych == 's') goto yy1656;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 535 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, V128Store); }
+#line 8070 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1508:
yych = *++cursor_;
- if (yych == 't') goto yy1657;
- goto yy87;
+ if (yych == 'f') goto yy1642;
+ goto yy11;
yy1509:
yych = *++cursor_;
- if (yych == 't') goto yy1658;
- goto yy87;
+ if (yych == 'u') goto yy1643;
+ goto yy11;
yy1510:
yych = *++cursor_;
- if (yych == 'a') goto yy1659;
- goto yy87;
+ if (yych == 'l') goto yy1644;
+ goto yy11;
yy1511:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 632 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16GeS); }
-#line 8377 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1645;
+ goto yy11;
+yy1512:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1646;
+ goto yy11;
yy1513:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 633 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16GeU); }
-#line 8385 "src/prebuilt/wast-lexer-gen.cc"
+#line 745 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertTrap); }
+#line 8098 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1515:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 624 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16GtS); }
-#line 8393 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1647;
+ goto yy11;
+yy1516:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1648;
+ goto yy11;
yy1517:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 625 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16GtU); }
-#line 8401 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1649;
+ goto yy11;
+yy1518:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1650;
+ goto yy11;
yy1519:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 616 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16LeS); }
-#line 8409 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy1651;
+ goto yy11;
+yy1520:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1652;
+ goto yy11;
yy1521:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 617 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16LeU); }
-#line 8417 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1654;
+ goto yy11;
+yy1522:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1655;
+ goto yy11;
yy1523:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 608 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16LtS); }
-#line 8425 "src/prebuilt/wast-lexer-gen.cc"
+#line 331 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32Nearest); }
+#line 8138 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1525:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 609 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16LtU); }
-#line 8433 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1656;
+ goto yy11;
+yy1526:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1657;
+ goto yy11;
yy1527:
yych = *++cursor_;
- if (yych == 'a') goto yy1660;
- goto yy87;
+ if (yych == 'c') goto yy1658;
+ goto yy11;
yy1528:
yych = *++cursor_;
- if (yych == 's') goto yy1661;
- if (yych == 'u') goto yy1663;
- goto yy87;
+ if (yych == 'c') goto yy1659;
+ goto yy11;
yy1529:
yych = *++cursor_;
- if (yych == 't') goto yy1665;
- goto yy87;
-yy1530:
- yych = *++cursor_;
- if (yych == 's') goto yy1667;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 540 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4Splat); }
+#line 8162 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1531:
yych = *++cursor_;
- if (yych == 'y') goto yy1668;
- goto yy87;
+ if (yych == '_') goto yy1660;
+ goto yy11;
yy1532:
yych = *++cursor_;
- if (yych == 'l') goto yy1670;
- goto yy87;
+ if (yych == 'n') goto yy1661;
+ goto yy11;
yy1533:
yych = *++cursor_;
- if (yych == 'w') goto yy1672;
- goto yy87;
-yy1534:
- yych = *++cursor_;
- if (yych == 't') goto yy1674;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 332 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64Nearest); }
+#line 8178 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1535:
yych = *++cursor_;
- if (yych == 'e') goto yy1676;
- goto yy87;
+ if (yych == '/') goto yy1663;
+ if (yych == '_') goto yy1664;
+ goto yy11;
yy1536:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= ':') {
- if (yych <= '\'') {
- if (yych == '!') goto yy86;
- if (yych <= '"') goto yy1122;
- goto yy86;
- } else {
- if (yych <= ')') goto yy1122;
- if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1536;
- goto yy86;
- }
- } else {
- if (yych <= '^') {
- if (yych <= ';') goto yy1122;
- if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy1536;
- goto yy86;
- } else {
- if (yych <= '`') {
- if (yych <= '_') goto yy1373;
- goto yy86;
- } else {
- if (yych <= 'f') goto yy1536;
- if (yych <= '~') goto yy86;
- goto yy1122;
- }
- }
- }
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1665;
+ goto yy11;
+yy1537:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1666;
+ goto yy11;
yy1538:
yych = *++cursor_;
- if (yych == 'l') goto yy1678;
- goto yy87;
+ if (yych == 'c') goto yy1667;
+ goto yy11;
yy1539:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 675 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GlobalSet); }
-#line 8514 "src/prebuilt/wast-lexer-gen.cc"
-yy1541:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1668;
+ goto yy11;
+yy1540:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 458 "src/wast-lexer.cc"
- { RETURN_OPCODE0(TableCopy); }
-#line 8522 "src/prebuilt/wast-lexer-gen.cc"
-yy1543:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 541 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2Splat); }
+#line 8207 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1542:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 456 "src/wast-lexer.cc"
- { RETURN_OPCODE0(TableInit); }
-#line 8530 "src/prebuilt/wast-lexer-gen.cc"
+#line 456 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemoryGrow); }
+#line 8215 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1544:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1669;
+ goto yy11;
yy1545:
yych = *++cursor_;
- if (yych == 'e') goto yy1680;
- goto yy87;
+ if (yych == 'r') goto yy1670;
+ goto yy11;
yy1546:
yych = *++cursor_;
- if (yych == 'l') goto yy1682;
- goto yy87;
+ if (yych == 'r') goto yy1671;
+ goto yy11;
yy1547:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 526 "src/wast-lexer.cc"
- { RETURN_OPCODE(Const, V128Const); }
-#line 8546 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1672;
+ goto yy11;
+yy1548:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1673;
+ goto yy11;
yy1549:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 528 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, V128Store); }
-#line 8554 "src/prebuilt/wast-lexer-gen.cc"
+#line 586 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8ShrS); }
+#line 8243 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1551:
yych = *++cursor_;
- if (yych == 'f') goto yy1683;
- goto yy87;
-yy1552:
- yych = *++cursor_;
- if (yych == 'u') goto yy1684;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 587 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8ShrU); }
+#line 8251 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1553:
yych = *++cursor_;
- if (yych == 'l') goto yy1685;
- goto yy87;
-yy1554:
- yych = *++cursor_;
- if (yych == 'o') goto yy1686;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 537 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I16X8Splat); }
+#line 8259 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1555:
yych = *++cursor_;
- if (yych == 'r') goto yy1687;
- goto yy87;
+ if (yych == 'a') goto yy1674;
+ goto yy11;
yy1556:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= 'r') {
+ if (yych == 'l') goto yy1675;
+ if (yych <= 'q') goto yy11;
+ goto yy1676;
+ } else {
+ if (yych <= 's') goto yy1677;
+ if (yych == 'w') goto yy1678;
+ goto yy11;
}
-#line 738 "src/wast-lexer.cc"
- { RETURN(AssertTrap); }
-#line 8582 "src/prebuilt/wast-lexer-gen.cc"
+yy1557:
+ yych = *++cursor_;
+ if (yych == '6') goto yy1679;
+ goto yy11;
yy1558:
yych = *++cursor_;
- if (yych == 'n') goto yy1688;
- goto yy87;
+ if (yych == '_') goto yy1680;
+ goto yy11;
yy1559:
yych = *++cursor_;
- if (yych == 'f') goto yy1689;
- goto yy87;
+ if (yych == 's') goto yy1681;
+ if (yych == 'u') goto yy1683;
+ goto yy11;
yy1560:
yych = *++cursor_;
- if (yych == 'c') goto yy1690;
- goto yy87;
-yy1561:
- yych = *++cursor_;
- if (yych == 'o') goto yy1691;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 290 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load8S); }
+#line 8295 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1562:
yych = *++cursor_;
- if (yych == '_') goto yy1692;
- goto yy87;
-yy1563:
- yych = *++cursor_;
- if (yych == 'n') goto yy1693;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 292 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load8U); }
+#line 8303 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1564:
yych = *++cursor_;
- if (yych == 'f') goto yy1695;
- goto yy87;
+ if (yych == 'p') goto yy1685;
+ goto yy11;
yy1565:
yych = *++cursor_;
- if (yych == 'f') goto yy1696;
- goto yy87;
-yy1566:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 330 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32Nearest); }
-#line 8622 "src/prebuilt/wast-lexer-gen.cc"
+#line 302 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, I32Store16); }
+#line 8315 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1567:
+ yych = *++cursor_;
+ if (yych == '3') goto yy1686;
+ if (yych == '6') goto yy1687;
+ goto yy11;
yy1568:
yych = *++cursor_;
- if (yych == 'p') goto yy1697;
- goto yy87;
+ if (yych <= '9') {
+ if (yych == '/') goto yy1688;
+ goto yy11;
+ } else {
+ if (yych <= ':') goto yy1689;
+ if (yych == 'a') goto yy1690;
+ goto yy11;
+ }
yy1569:
yych = *++cursor_;
- if (yych == 'r') goto yy1698;
- goto yy87;
+ if (yych == '/') goto yy1691;
+ if (yych == ':') goto yy1692;
+ goto yy11;
yy1570:
yych = *++cursor_;
- if (yych == 'c') goto yy1699;
- goto yy87;
+ if (yych == '4') goto yy1693;
+ goto yy11;
yy1571:
yych = *++cursor_;
- if (yych == 'c') goto yy1700;
- goto yy87;
+ if (yych == '4') goto yy1695;
+ goto yy11;
yy1572:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 533 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4Splat); }
-#line 8646 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1697;
+ goto yy11;
+yy1573:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1698;
+ goto yy11;
yy1574:
yych = *++cursor_;
- if (yych == '_') goto yy1701;
- goto yy87;
+ if (yych == 'c') goto yy1699;
+ goto yy11;
yy1575:
yych = *++cursor_;
- if (yych == 'n') goto yy1702;
- goto yy87;
+ if (yych == 'c') goto yy1700;
+ goto yy11;
yy1576:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 331 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64Nearest); }
-#line 8662 "src/prebuilt/wast-lexer-gen.cc"
+#line 588 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I32X4ShrS); }
+#line 8367 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1578:
yych = *++cursor_;
- if (yych == '/') goto yy1704;
- if (yych == '_') goto yy1705;
- goto yy87;
-yy1579:
- yych = *++cursor_;
- if (yych == 'p') goto yy1706;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 589 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I32X4ShrU); }
+#line 8375 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1580:
yych = *++cursor_;
- if (yych == 'r') goto yy1707;
- goto yy87;
-yy1581:
- yych = *++cursor_;
- if (yych == 'c') goto yy1708;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 538 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4Splat); }
+#line 8383 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1582:
yych = *++cursor_;
- if (yych == 'c') goto yy1709;
- goto yy87;
+ if (yych == '_') goto yy1701;
+ goto yy11;
yy1583:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= 'r') {
+ if (yych == 'l') goto yy1702;
+ if (yych <= 'q') goto yy11;
+ goto yy1703;
+ } else {
+ if (yych <= 's') goto yy1704;
+ if (yych == 'w') goto yy1705;
+ goto yy11;
}
-#line 534 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2Splat); }
-#line 8691 "src/prebuilt/wast-lexer-gen.cc"
+yy1584:
+ yych = *++cursor_;
+ if (yych == '6') goto yy1706;
+ goto yy11;
yy1585:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 455 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemoryGrow); }
-#line 8699 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy1707;
+ goto yy11;
+yy1586:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1708;
+ goto yy11;
yy1587:
yych = *++cursor_;
- if (yych == 'a') goto yy1710;
- goto yy87;
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1709;
+ goto yy11;
+ } else {
+ if (yych <= 's') goto yy1710;
+ if (yych == 'u') goto yy1711;
+ goto yy11;
+ }
yy1588:
yych = *++cursor_;
- if (yych == 'r') goto yy1711;
- goto yy87;
+ if (yych == 's') goto yy1712;
+ if (yych == 'u') goto yy1714;
+ goto yy11;
yy1589:
yych = *++cursor_;
- if (yych == 'r') goto yy1712;
- goto yy87;
+ if (yych == 's') goto yy1716;
+ if (yych == 'u') goto yy1718;
+ goto yy11;
yy1590:
yych = *++cursor_;
- if (yych == 'c') goto yy1713;
- goto yy87;
-yy1591:
- yych = *++cursor_;
- if (yych == 'c') goto yy1714;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 291 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load8S); }
+#line 8438 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1592:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 579 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8ShrS); }
-#line 8727 "src/prebuilt/wast-lexer-gen.cc"
+#line 293 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load8U); }
+#line 8446 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1594:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 580 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8ShrU); }
-#line 8735 "src/prebuilt/wast-lexer-gen.cc"
-yy1596:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1720;
+ goto yy11;
+yy1595:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 530 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I16X8Splat); }
-#line 8743 "src/prebuilt/wast-lexer-gen.cc"
-yy1598:
+#line 303 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, I64Store16); }
+#line 8458 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1597:
yych = *++cursor_;
- if (yych == 'a') goto yy1715;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 304 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Store, I64Store32); }
+#line 8466 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1599:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'l') goto yy1716;
- if (yych <= 'q') goto yy87;
- goto yy1717;
- } else {
- if (yych <= 's') goto yy1718;
- if (yych == 'w') goto yy1719;
- goto yy87;
- }
+ if (yych == '3') goto yy1721;
+ if (yych == '6') goto yy1722;
+ goto yy11;
yy1600:
yych = *++cursor_;
- if (yych == '6') goto yy1720;
- goto yy87;
+ if (yych <= '9') {
+ if (yych == '/') goto yy1723;
+ goto yy11;
+ } else {
+ if (yych <= ':') goto yy1724;
+ if (yych == 'a') goto yy1725;
+ goto yy11;
+ }
yy1601:
yych = *++cursor_;
- if (yych == '_') goto yy1721;
- goto yy87;
+ if (yych == '/') goto yy1726;
+ if (yych == ':') goto yy1727;
+ goto yy11;
yy1602:
yych = *++cursor_;
- if (yych == 's') goto yy1722;
- if (yych == 'u') goto yy1724;
- goto yy87;
+ if (yych == 'r') goto yy1728;
+ goto yy11;
yy1603:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 289 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load8S); }
-#line 8779 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1729;
+ goto yy11;
+yy1604:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1730;
+ goto yy11;
yy1605:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 291 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load8U); }
-#line 8787 "src/prebuilt/wast-lexer-gen.cc"
-yy1607:
yych = *++cursor_;
- if (yych == 'p') goto yy1726;
- goto yy87;
+ if (yych == 'c') goto yy1731;
+ goto yy11;
+yy1606:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 590 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I64X2ShrS); }
+#line 8510 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1608:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 301 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, I32Store16); }
-#line 8799 "src/prebuilt/wast-lexer-gen.cc"
+#line 591 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I64X2ShrU); }
+#line 8518 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1610:
yych = *++cursor_;
- if (yych == '3') goto yy1727;
- if (yych == '6') goto yy1728;
- goto yy87;
-yy1611:
- yych = *++cursor_;
- if (yych <= '9') {
- if (yych == '/') goto yy1729;
- goto yy87;
- } else {
- if (yych <= ':') goto yy1730;
- if (yych == 'a') goto yy1731;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
+#line 539 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2Splat); }
+#line 8526 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1612:
yych = *++cursor_;
- if (yych == '/') goto yy1732;
- if (yych == ':') goto yy1733;
- goto yy87;
+ if (yych == '_') goto yy1732;
+ goto yy11;
yy1613:
yych = *++cursor_;
- if (yych == '4') goto yy1734;
- goto yy87;
+ if (yych == 'a') goto yy1733;
+ goto yy11;
yy1614:
yych = *++cursor_;
- if (yych == '4') goto yy1736;
- goto yy87;
+ if (yych == 'r') goto yy1734;
+ goto yy11;
yy1615:
yych = *++cursor_;
- if (yych == 'r') goto yy1738;
- goto yy87;
+ if (yych == 'r') goto yy1735;
+ goto yy11;
yy1616:
yych = *++cursor_;
- if (yych == 'r') goto yy1739;
- goto yy87;
+ if (yych == 'c') goto yy1736;
+ goto yy11;
yy1617:
yych = *++cursor_;
- if (yych == 'c') goto yy1740;
- goto yy87;
+ if (yych == 'c') goto yy1737;
+ goto yy11;
yy1618:
yych = *++cursor_;
- if (yych == 'c') goto yy1741;
- goto yy87;
-yy1619:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 581 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I32X4ShrS); }
-#line 8851 "src/prebuilt/wast-lexer-gen.cc"
-yy1621:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 584 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16ShrS); }
+#line 8558 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1620:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 582 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I32X4ShrU); }
-#line 8859 "src/prebuilt/wast-lexer-gen.cc"
-yy1623:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 585 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16ShrU); }
+#line 8566 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1622:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 531 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4Splat); }
-#line 8867 "src/prebuilt/wast-lexer-gen.cc"
-yy1625:
+#line 536 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I8X16Splat); }
+#line 8574 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1624:
yych = *++cursor_;
- if (yych == '_') goto yy1742;
- goto yy87;
-yy1626:
+ if (yych == 'a') goto yy1738;
+ goto yy11;
+yy1625:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'l') goto yy1743;
- if (yych <= 'q') goto yy87;
- goto yy1744;
- } else {
- if (yych <= 's') goto yy1745;
- if (yych == 'w') goto yy1746;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
+#line 453 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemoryCopy); }
+#line 8586 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1627:
yych = *++cursor_;
- if (yych == '6') goto yy1747;
- goto yy87;
-yy1628:
- yych = *++cursor_;
- if (yych == '2') goto yy1748;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 454 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemoryFill); }
+#line 8594 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1629:
yych = *++cursor_;
- if (yych == '_') goto yy1749;
- goto yy87;
-yy1630:
- yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'i') goto yy1750;
- goto yy87;
- } else {
- if (yych <= 's') goto yy1751;
- if (yych == 'u') goto yy1752;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
+#line 450 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemoryGrow); }
+#line 8602 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1631:
yych = *++cursor_;
- if (yych == 's') goto yy1753;
- if (yych == 'u') goto yy1755;
- goto yy87;
-yy1632:
- yych = *++cursor_;
- if (yych == 's') goto yy1757;
- if (yych == 'u') goto yy1759;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 451 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemoryInit); }
+#line 8610 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1633:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 290 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load8S); }
-#line 8922 "src/prebuilt/wast-lexer-gen.cc"
+#line 449 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemorySize); }
+#line 8618 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1635:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 292 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load8U); }
-#line 8930 "src/prebuilt/wast-lexer-gen.cc"
+#line 465 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(RefIsNull); }
+#line 8626 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1637:
yych = *++cursor_;
- if (yych == 'p') goto yy1761;
- goto yy87;
-yy1638:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy10;
+ } else {
+ if (yych <= '"') goto yy1638;
+ if (yych <= '\'') goto yy10;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych != ';') goto yy10;
+ } else {
+ if (yych <= '_') goto yy1739;
+ if (yych <= '~') goto yy10;
+ }
}
-#line 302 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, I64Store16); }
-#line 8942 "src/prebuilt/wast-lexer-gen.cc"
-yy1640:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy1638:
+#line 673 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(ReturnCall); }
+#line 8647 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1639:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 303 "src/wast-lexer.cc"
- { RETURN_OPCODE(Store, I64Store32); }
-#line 8950 "src/prebuilt/wast-lexer-gen.cc"
+#line 448 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(Unreachable); }
+#line 8655 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1641:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1740;
+ goto yy11;
yy1642:
yych = *++cursor_;
- if (yych == '3') goto yy1762;
- if (yych == '6') goto yy1763;
- goto yy87;
+ if (yych == 'l') goto yy1741;
+ goto yy11;
yy1643:
yych = *++cursor_;
- if (yych <= '9') {
- if (yych == '/') goto yy1764;
- goto yy87;
- } else {
- if (yych <= ':') goto yy1765;
- if (yych == 'a') goto yy1766;
- goto yy87;
- }
+ if (yych == 's') goto yy1742;
+ goto yy11;
yy1644:
yych = *++cursor_;
- if (yych == '/') goto yy1767;
- if (yych == ':') goto yy1768;
- goto yy87;
+ if (yych == 'i') goto yy1743;
+ goto yy11;
yy1645:
yych = *++cursor_;
- if (yych == 'r') goto yy1769;
- goto yy87;
+ if (yych == 'r') goto yy1744;
+ goto yy11;
yy1646:
yych = *++cursor_;
- if (yych == 'r') goto yy1770;
- goto yy87;
+ if (yych == 'n') goto yy1745;
+ goto yy11;
yy1647:
yych = *++cursor_;
- if (yych == 'c') goto yy1771;
- goto yy87;
+ if (yych == 'k') goto yy1747;
+ goto yy11;
yy1648:
yych = *++cursor_;
- if (yych == 'c') goto yy1772;
- goto yy87;
+ if (yych == 'y') goto yy1748;
+ goto yy11;
yy1649:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 583 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I64X2ShrS); }
-#line 8994 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1750;
+ goto yy11;
+yy1650:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1752;
+ goto yy11;
yy1651:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1753;
+ goto yy11;
+ } else {
+ if (yych <= 's') goto yy1754;
+ if (yych == 'u') goto yy1755;
+ goto yy11;
}
-#line 584 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I64X2ShrU); }
-#line 9002 "src/prebuilt/wast-lexer-gen.cc"
-yy1653:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy1652:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 532 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2Splat); }
-#line 9010 "src/prebuilt/wast-lexer-gen.cc"
+#line 380 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F32Copysign); }
+#line 8713 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1654:
+ yych = *++cursor_;
+ if (yych == '6') goto yy1756;
+ goto yy11;
yy1655:
yych = *++cursor_;
- if (yych == '_') goto yy1773;
- goto yy87;
+ if (yych == '6') goto yy1757;
+ goto yy11;
yy1656:
yych = *++cursor_;
- if (yych == 'a') goto yy1774;
- goto yy87;
+ if (yych == 'r') goto yy1758;
+ goto yy11;
yy1657:
yych = *++cursor_;
- if (yych == 'r') goto yy1775;
- goto yy87;
+ if (yych == 't') goto yy1759;
+ goto yy11;
yy1658:
yych = *++cursor_;
- if (yych == 'r') goto yy1776;
- goto yy87;
+ if (yych == 't') goto yy1760;
+ goto yy11;
yy1659:
yych = *++cursor_;
- if (yych == 'c') goto yy1777;
- goto yy87;
+ if (yych == 'e') goto yy1761;
+ goto yy11;
yy1660:
yych = *++cursor_;
- if (yych == 'c') goto yy1778;
- goto yy87;
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1762;
+ goto yy11;
+ } else {
+ if (yych <= 's') goto yy1763;
+ if (yych == 'u') goto yy1764;
+ goto yy11;
+ }
yy1661:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 577 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16ShrS); }
-#line 9042 "src/prebuilt/wast-lexer-gen.cc"
+#line 381 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F64Copysign); }
+#line 8755 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1663:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 578 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16ShrU); }
-#line 9050 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1765;
+ goto yy11;
+yy1664:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1766;
+ goto yy11;
yy1665:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 529 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I8X16Splat); }
-#line 9058 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1767;
+ goto yy11;
+yy1666:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1768;
+ goto yy11;
yy1667:
yych = *++cursor_;
- if (yych == 'a') goto yy1779;
- goto yy87;
+ if (yych == 't') goto yy1769;
+ goto yy11;
yy1668:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 452 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemoryCopy); }
-#line 9070 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1770;
+ goto yy11;
+yy1669:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1771;
+ goto yy11;
yy1670:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 453 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemoryFill); }
-#line 9078 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1772;
+ goto yy11;
+yy1671:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1773;
+ goto yy11;
yy1672:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 449 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemoryGrow); }
-#line 9086 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1774;
+ goto yy11;
+yy1673:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1775;
+ goto yy11;
yy1674:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 450 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemoryInit); }
-#line 9094 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1776;
+ goto yy11;
+yy1675:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1777;
+ goto yy11;
yy1676:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 448 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemorySize); }
-#line 9102 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1778;
+ goto yy11;
+yy1677:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1779;
+ goto yy11;
yy1678:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
- if (yych <= '!') {
- if (yych >= '!') goto yy86;
- } else {
- if (yych <= '"') goto yy1679;
- if (yych <= '\'') goto yy86;
- }
- } else {
- if (yych <= '^') {
- if (yych != ';') goto yy86;
- } else {
- if (yych <= '_') goto yy1780;
- if (yych <= '~') goto yy86;
- }
- }
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1780;
+ goto yy11;
yy1679:
-#line 666 "src/wast-lexer.cc"
- { RETURN_OPCODE0(ReturnCall); }
-#line 9123 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy1781;
+ goto yy11;
yy1680:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 447 "src/wast-lexer.cc"
- { RETURN_OPCODE0(Unreachable); }
-#line 9131 "src/prebuilt/wast-lexer-gen.cc"
-yy1682:
yych = *++cursor_;
- if (yych == 'e') goto yy1781;
- goto yy87;
-yy1683:
+ if (yych == 's') goto yy1782;
+ goto yy11;
+yy1681:
yych = *++cursor_;
- if (yych == 'l') goto yy1782;
- goto yy87;
-yy1684:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 294 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load16S); }
+#line 8835 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1683:
yych = *++cursor_;
- if (yych == 's') goto yy1783;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 296 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load16U); }
+#line 8843 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1685:
yych = *++cursor_;
- if (yych == 'i') goto yy1784;
- goto yy87;
+ if (yych == 'r') goto yy1784;
+ goto yy11;
yy1686:
yych = *++cursor_;
- if (yych == 'r') goto yy1785;
- goto yy87;
+ if (yych == '2') goto yy1785;
+ goto yy11;
yy1687:
yych = *++cursor_;
- if (yych == 'n') goto yy1786;
- goto yy87;
+ if (yych == '4') goto yy1786;
+ goto yy11;
yy1688:
yych = *++cursor_;
- if (yych == 'k') goto yy1788;
- goto yy87;
+ if (yych == 'f') goto yy1787;
+ goto yy11;
yy1689:
yych = *++cursor_;
- if (yych == 'y') goto yy1789;
- goto yy87;
+ if (yych == 's') goto yy1788;
+ goto yy11;
yy1690:
yych = *++cursor_;
- if (yych == 't') goto yy1791;
- goto yy87;
+ if (yych == 't') goto yy1789;
+ goto yy11;
yy1691:
yych = *++cursor_;
- if (yych == 'r') goto yy1793;
- goto yy87;
+ if (yych == 'f') goto yy1790;
+ goto yy11;
yy1692:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'i') goto yy1794;
- goto yy87;
- } else {
- if (yych <= 's') goto yy1795;
- if (yych == 'u') goto yy1796;
- goto yy87;
- }
+ if (yych == 's') goto yy1791;
+ goto yy11;
yy1693:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 379 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F32Copysign); }
-#line 9189 "src/prebuilt/wast-lexer-gen.cc"
+#line 685 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32WrapI64); }
+#line 8883 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1695:
yych = *++cursor_;
- if (yych == '6') goto yy1797;
- goto yy87;
-yy1696:
- yych = *++cursor_;
- if (yych == '6') goto yy1798;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 416 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32WrapI64); }
+#line 8891 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1697:
yych = *++cursor_;
- if (yych == 'r') goto yy1799;
- goto yy87;
+ if (yych == 'u') goto yy1792;
+ goto yy11;
yy1698:
yych = *++cursor_;
- if (yych == 't') goto yy1800;
- goto yy87;
+ if (yych == 'u') goto yy1793;
+ goto yy11;
yy1699:
yych = *++cursor_;
- if (yych == 't') goto yy1801;
- goto yy87;
+ if (yych == 't') goto yy1794;
+ goto yy11;
yy1700:
yych = *++cursor_;
- if (yych == 'e') goto yy1802;
- goto yy87;
+ if (yych == 'e') goto yy1795;
+ goto yy11;
yy1701:
yych = *++cursor_;
- if (yych <= 'r') {
- if (yych == 'i') goto yy1803;
- goto yy87;
- } else {
- if (yych <= 's') goto yy1804;
- if (yych == 'u') goto yy1805;
- goto yy87;
- }
+ if (yych == 's') goto yy1796;
+ goto yy11;
yy1702:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 380 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F64Copysign); }
-#line 9231 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1797;
+ goto yy11;
+yy1703:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1798;
+ goto yy11;
yy1704:
yych = *++cursor_;
- if (yych == 'f') goto yy1806;
- goto yy87;
+ if (yych == 't') goto yy1799;
+ goto yy11;
yy1705:
yych = *++cursor_;
- if (yych == 'f') goto yy1807;
- goto yy87;
+ if (yych == 'a') goto yy1800;
+ goto yy11;
yy1706:
yych = *++cursor_;
- if (yych == 'r') goto yy1808;
- goto yy87;
+ if (yych == '_') goto yy1801;
+ goto yy11;
yy1707:
yych = *++cursor_;
- if (yych == 't') goto yy1809;
- goto yy87;
+ if (yych == '_') goto yy1802;
+ goto yy11;
yy1708:
yych = *++cursor_;
- if (yych == 't') goto yy1810;
- goto yy87;
+ if (yych == 's') goto yy1803;
+ goto yy11;
yy1709:
yych = *++cursor_;
- if (yych == 'e') goto yy1811;
- goto yy87;
+ if (yych == '3') goto yy1805;
+ goto yy11;
yy1710:
yych = *++cursor_;
- if (yych == 't') goto yy1812;
- goto yy87;
+ if (yych == '/') goto yy1806;
+ goto yy11;
yy1711:
yych = *++cursor_;
- if (yych == 'u') goto yy1813;
- goto yy87;
+ if (yych == '/') goto yy1807;
+ goto yy11;
yy1712:
yych = *++cursor_;
- if (yych == 'u') goto yy1814;
- goto yy87;
-yy1713:
- yych = *++cursor_;
- if (yych == 't') goto yy1815;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 295 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load16S); }
+#line 8959 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1714:
yych = *++cursor_;
- if (yych == 'e') goto yy1816;
- goto yy87;
-yy1715:
- yych = *++cursor_;
- if (yych == 't') goto yy1817;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 297 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load16U); }
+#line 8967 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1716:
yych = *++cursor_;
- if (yych == 'o') goto yy1818;
- goto yy87;
-yy1717:
- yych = *++cursor_;
- if (yych == 'm') goto yy1819;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 298 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load32S); }
+#line 8975 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1718:
yych = *++cursor_;
- if (yych == 't') goto yy1820;
- goto yy87;
-yy1719:
- yych = *++cursor_;
- if (yych == 'a') goto yy1821;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 299 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load32U); }
+#line 8983 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1720:
yych = *++cursor_;
- if (yych == '_') goto yy1822;
- goto yy87;
+ if (yych == 'r') goto yy1808;
+ goto yy11;
yy1721:
yych = *++cursor_;
- if (yych == 's') goto yy1823;
- goto yy87;
+ if (yych == '2') goto yy1809;
+ goto yy11;
yy1722:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 293 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load16S); }
-#line 9311 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy1810;
+ goto yy11;
+yy1723:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1811;
+ goto yy11;
yy1724:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 295 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load16U); }
-#line 9319 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 's') goto yy1812;
+ goto yy11;
+yy1725:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1813;
+ goto yy11;
yy1726:
yych = *++cursor_;
- if (yych == 'r') goto yy1825;
- goto yy87;
+ if (yych == 'f') goto yy1814;
+ goto yy11;
yy1727:
yych = *++cursor_;
- if (yych == '2') goto yy1826;
- goto yy87;
+ if (yych == 's') goto yy1815;
+ goto yy11;
yy1728:
yych = *++cursor_;
- if (yych == '4') goto yy1827;
- goto yy87;
+ if (yych == 'u') goto yy1816;
+ goto yy11;
yy1729:
yych = *++cursor_;
- if (yych == 'f') goto yy1828;
- goto yy87;
+ if (yych == 'u') goto yy1817;
+ goto yy11;
yy1730:
yych = *++cursor_;
- if (yych == 's') goto yy1829;
- goto yy87;
+ if (yych == 't') goto yy1818;
+ goto yy11;
yy1731:
yych = *++cursor_;
- if (yych == 't') goto yy1830;
- goto yy87;
+ if (yych == 'e') goto yy1819;
+ goto yy11;
yy1732:
yych = *++cursor_;
- if (yych == 'f') goto yy1831;
- goto yy87;
+ if (yych == 's') goto yy1820;
+ goto yy11;
yy1733:
yych = *++cursor_;
- if (yych == 's') goto yy1832;
- goto yy87;
+ if (yych == 't') goto yy1821;
+ goto yy11;
yy1734:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 678 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32WrapI64); }
-#line 9359 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1822;
+ goto yy11;
+yy1735:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1823;
+ goto yy11;
yy1736:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 415 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32WrapI64); }
-#line 9367 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy1824;
+ goto yy11;
+yy1737:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1825;
+ goto yy11;
yy1738:
yych = *++cursor_;
- if (yych == 'u') goto yy1833;
- goto yy87;
+ if (yych == 't') goto yy1826;
+ goto yy11;
yy1739:
yych = *++cursor_;
- if (yych == 'u') goto yy1834;
- goto yy87;
+ if (yych == 'i') goto yy1827;
+ goto yy11;
yy1740:
yych = *++cursor_;
- if (yych == 't') goto yy1835;
- goto yy87;
+ if (yych == 'c') goto yy1828;
+ goto yy11;
yy1741:
yych = *++cursor_;
- if (yych == 'e') goto yy1836;
- goto yy87;
+ if (yych == 'e') goto yy1829;
+ goto yy11;
yy1742:
yych = *++cursor_;
- if (yych == 's') goto yy1837;
- goto yy87;
+ if (yych == 't') goto yy1831;
+ goto yy11;
yy1743:
yych = *++cursor_;
- if (yych == 'o') goto yy1838;
- goto yy87;
+ if (yych == 'd') goto yy1832;
+ goto yy11;
yy1744:
yych = *++cursor_;
- if (yych == 'm') goto yy1839;
- goto yy87;
+ if (yych == 'm') goto yy1834;
+ goto yy11;
yy1745:
yych = *++cursor_;
- if (yych == 't') goto yy1840;
- goto yy87;
+ if (yych <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy10;
+ } else {
+ if (yych <= '"') goto yy1746;
+ if (yych <= '\'') goto yy10;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych != ';') goto yy10;
+ } else {
+ if (yych <= '_') goto yy1835;
+ if (yych <= '~') goto yy10;
+ }
+ }
yy1746:
- yych = *++cursor_;
- if (yych == 'a') goto yy1841;
- goto yy87;
+#line 742 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertReturn); }
+#line 9104 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1747:
yych = *++cursor_;
- if (yych == '_') goto yy1842;
- goto yy87;
+ if (yych == 'a') goto yy1836;
+ goto yy11;
yy1748:
yych = *++cursor_;
- if (yych == '_') goto yy1843;
- goto yy87;
-yy1749:
- yych = *++cursor_;
- if (yych == 's') goto yy1844;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 469 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(AtomicNotify); }
+#line 9116 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1750:
yych = *++cursor_;
- if (yych == '3') goto yy1846;
- goto yy87;
-yy1751:
- yych = *++cursor_;
- if (yych == '/') goto yy1847;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 273 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(CallIndirect); }
+#line 9124 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1752:
yych = *++cursor_;
- if (yych == '/') goto yy1848;
- goto yy87;
+ if (yych == 'y') goto yy1837;
+ goto yy11;
yy1753:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 294 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load16S); }
-#line 9435 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy1839;
+ if (yych == '6') goto yy1840;
+ goto yy11;
+yy1754:
+ yych = *++cursor_;
+ if (yych == '/') goto yy1841;
+ goto yy11;
yy1755:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 296 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load16U); }
-#line 9443 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '/') goto yy1842;
+ goto yy11;
+yy1756:
+ yych = *++cursor_;
+ if (yych == '4') goto yy1843;
+ goto yy11;
yy1757:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 297 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load32S); }
-#line 9451 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy1845;
+ goto yy11;
+yy1758:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1847;
+ goto yy11;
yy1759:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 298 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load32U); }
-#line 9459 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy1848;
+ goto yy11;
+yy1760:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1849;
+ goto yy11;
yy1761:
yych = *++cursor_;
- if (yych == 'r') goto yy1849;
- goto yy87;
+ if (yych == '_') goto yy1850;
+ goto yy11;
yy1762:
yych = *++cursor_;
- if (yych == '2') goto yy1850;
- goto yy87;
+ if (yych == '3') goto yy1851;
+ if (yych == '6') goto yy1852;
+ goto yy11;
yy1763:
yych = *++cursor_;
- if (yych == '4') goto yy1851;
- goto yy87;
+ if (yych == '/') goto yy1853;
+ goto yy11;
yy1764:
yych = *++cursor_;
- if (yych == 'f') goto yy1852;
- goto yy87;
+ if (yych == '/') goto yy1854;
+ goto yy11;
yy1765:
yych = *++cursor_;
- if (yych == 's') goto yy1853;
- goto yy87;
+ if (yych == '3') goto yy1855;
+ goto yy11;
yy1766:
yych = *++cursor_;
- if (yych == 't') goto yy1854;
- goto yy87;
+ if (yych == '3') goto yy1856;
+ goto yy11;
yy1767:
yych = *++cursor_;
- if (yych == 'f') goto yy1855;
- goto yy87;
+ if (yych == 'e') goto yy1857;
+ goto yy11;
yy1768:
yych = *++cursor_;
- if (yych == 's') goto yy1856;
- goto yy87;
+ if (yych == '_') goto yy1858;
+ goto yy11;
yy1769:
yych = *++cursor_;
- if (yych == 'u') goto yy1857;
- goto yy87;
+ if (yych == '_') goto yy1859;
+ goto yy11;
yy1770:
yych = *++cursor_;
- if (yych == 'u') goto yy1858;
- goto yy87;
+ if (yych == '_') goto yy1860;
+ goto yy11;
yy1771:
yych = *++cursor_;
- if (yych == 't') goto yy1859;
- goto yy87;
+ if (yych == 'u') goto yy1861;
+ goto yy11;
yy1772:
yych = *++cursor_;
- if (yych == 'e') goto yy1860;
- goto yy87;
+ if (yych == 'e') goto yy1862;
+ goto yy11;
yy1773:
yych = *++cursor_;
- if (yych == 's') goto yy1861;
- goto yy87;
+ if (yych == 'e') goto yy1864;
+ goto yy11;
yy1774:
yych = *++cursor_;
- if (yych == 't') goto yy1862;
- goto yy87;
+ if (yych == '_') goto yy1866;
+ goto yy11;
yy1775:
yych = *++cursor_;
- if (yych == 'u') goto yy1863;
- goto yy87;
+ if (yych == '_') goto yy1867;
+ goto yy11;
yy1776:
yych = *++cursor_;
- if (yych == 'u') goto yy1864;
- goto yy87;
+ if (yych == 'u') goto yy1868;
+ goto yy11;
yy1777:
yych = *++cursor_;
- if (yych == 't') goto yy1865;
- goto yy87;
+ if (yych == 'a') goto yy1869;
+ goto yy11;
yy1778:
yych = *++cursor_;
- if (yych == 'e') goto yy1866;
- goto yy87;
+ if (yych == 'w') goto yy1870;
+ goto yy11;
yy1779:
yych = *++cursor_;
- if (yych == 't') goto yy1867;
- goto yy87;
+ if (yych == 'o') goto yy1871;
+ goto yy11;
yy1780:
yych = *++cursor_;
- if (yych == 'i') goto yy1868;
- goto yy87;
+ if (yych == 'i') goto yy1872;
+ goto yy11;
yy1781:
yych = *++cursor_;
- if (yych == 'c') goto yy1869;
- goto yy87;
+ if (yych == 's') goto yy1873;
+ goto yy11;
yy1782:
yych = *++cursor_;
- if (yych == 'e') goto yy1870;
- goto yy87;
-yy1783:
- yych = *++cursor_;
- if (yych == 't') goto yy1872;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 333 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Extend8S); }
+#line 9254 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1784:
yych = *++cursor_;
- if (yych == 'd') goto yy1873;
- goto yy87;
+ if (yych == 'e') goto yy1875;
+ goto yy11;
yy1785:
yych = *++cursor_;
- if (yych == 'm') goto yy1875;
- goto yy87;
+ if (yych == '_') goto yy1876;
+ goto yy11;
yy1786:
- ++cursor_;
- if ((yych = *cursor_) <= ')') {
- if (yych <= '!') {
- if (yych >= '!') goto yy86;
- } else {
- if (yych <= '"') goto yy1787;
- if (yych <= '\'') goto yy86;
- }
- } else {
- if (yych <= '^') {
- if (yych != ';') goto yy86;
- } else {
- if (yych <= '_') goto yy1876;
- if (yych <= '~') goto yy86;
- }
- }
+ yych = *++cursor_;
+ if (yych == '_') goto yy1877;
+ goto yy11;
yy1787:
-#line 735 "src/wast-lexer.cc"
- { RETURN(AssertReturn); }
-#line 9580 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy1878;
+ if (yych == '6') goto yy1879;
+ goto yy11;
yy1788:
yych = *++cursor_;
- if (yych == 'a') goto yy1877;
- goto yy87;
+ if (yych == 'a') goto yy1880;
+ goto yy11;
yy1789:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 462 "src/wast-lexer.cc"
- { RETURN_OPCODE0(AtomicNotify); }
-#line 9592 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy1881;
+ goto yy11;
+yy1790:
+ yych = *++cursor_;
+ if (yych == '3') goto yy1882;
+ if (yych == '6') goto yy1883;
+ goto yy11;
yy1791:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 272 "src/wast-lexer.cc"
- { RETURN_OPCODE0(CallIndirect); }
-#line 9600 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1884;
+ goto yy11;
+yy1792:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1885;
+ goto yy11;
yy1793:
yych = *++cursor_;
- if (yych == 'y') goto yy1878;
- goto yy87;
+ if (yych == 'e') goto yy1887;
+ goto yy11;
yy1794:
yych = *++cursor_;
- if (yych == '3') goto yy1880;
- if (yych == '6') goto yy1881;
- goto yy87;
+ if (yych == '_') goto yy1889;
+ goto yy11;
yy1795:
yych = *++cursor_;
- if (yych == '/') goto yy1882;
- goto yy87;
+ if (yych == '_') goto yy1890;
+ goto yy11;
yy1796:
yych = *++cursor_;
- if (yych == '/') goto yy1883;
- goto yy87;
+ if (yych == 'a') goto yy1891;
+ goto yy11;
yy1797:
yych = *++cursor_;
- if (yych == '4') goto yy1884;
- goto yy87;
+ if (yych == 'a') goto yy1892;
+ goto yy11;
yy1798:
yych = *++cursor_;
- if (yych == '4') goto yy1886;
- goto yy87;
+ if (yych == 'w') goto yy1893;
+ goto yy11;
yy1799:
yych = *++cursor_;
- if (yych == 'e') goto yy1888;
- goto yy87;
+ if (yych == 'o') goto yy1894;
+ goto yy11;
yy1800:
yych = *++cursor_;
- if (yych == '_') goto yy1889;
- goto yy87;
+ if (yych == 'i') goto yy1895;
+ goto yy11;
yy1801:
yych = *++cursor_;
- if (yych == '_') goto yy1890;
- goto yy87;
+ if (yych == 's') goto yy1896;
+ goto yy11;
yy1802:
yych = *++cursor_;
- if (yych == '_') goto yy1891;
- goto yy87;
+ if (yych == 's') goto yy1898;
+ goto yy11;
yy1803:
yych = *++cursor_;
- if (yych == '3') goto yy1892;
- if (yych == '6') goto yy1893;
- goto yy87;
-yy1804:
- yych = *++cursor_;
- if (yych == '/') goto yy1894;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 335 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend8S); }
+#line 9340 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1805:
yych = *++cursor_;
- if (yych == '/') goto yy1895;
- goto yy87;
+ if (yych == '2') goto yy1900;
+ goto yy11;
yy1806:
yych = *++cursor_;
- if (yych == '3') goto yy1896;
- goto yy87;
+ if (yych == 'i') goto yy1901;
+ goto yy11;
yy1807:
yych = *++cursor_;
- if (yych == '3') goto yy1897;
- goto yy87;
+ if (yych == 'i') goto yy1902;
+ goto yy11;
yy1808:
yych = *++cursor_;
- if (yych == 'e') goto yy1898;
- goto yy87;
+ if (yych == 'e') goto yy1903;
+ goto yy11;
yy1809:
yych = *++cursor_;
- if (yych == '_') goto yy1899;
- goto yy87;
+ if (yych == '_') goto yy1904;
+ goto yy11;
yy1810:
yych = *++cursor_;
- if (yych == '_') goto yy1900;
- goto yy87;
+ if (yych == '_') goto yy1905;
+ goto yy11;
yy1811:
yych = *++cursor_;
- if (yych == '_') goto yy1901;
- goto yy87;
+ if (yych == '3') goto yy1906;
+ if (yych == '6') goto yy1907;
+ goto yy11;
yy1812:
yych = *++cursor_;
- if (yych == 'u') goto yy1902;
- goto yy87;
+ if (yych == 'a') goto yy1908;
+ goto yy11;
yy1813:
yych = *++cursor_;
- if (yych == 'e') goto yy1903;
- goto yy87;
+ if (yych == '_') goto yy1909;
+ goto yy11;
yy1814:
yych = *++cursor_;
- if (yych == 'e') goto yy1905;
- goto yy87;
+ if (yych == '3') goto yy1910;
+ if (yych == '6') goto yy1911;
+ goto yy11;
yy1815:
yych = *++cursor_;
- if (yych == '_') goto yy1907;
- goto yy87;
+ if (yych == 'a') goto yy1912;
+ goto yy11;
yy1816:
yych = *++cursor_;
- if (yych == '_') goto yy1908;
- goto yy87;
+ if (yych == 'e') goto yy1913;
+ goto yy11;
yy1817:
yych = *++cursor_;
- if (yych == 'u') goto yy1909;
- goto yy87;
+ if (yych == 'e') goto yy1915;
+ goto yy11;
yy1818:
yych = *++cursor_;
- if (yych == 'a') goto yy1910;
- goto yy87;
+ if (yych == '_') goto yy1917;
+ goto yy11;
yy1819:
yych = *++cursor_;
- if (yych == 'w') goto yy1911;
- goto yy87;
+ if (yych == '_') goto yy1918;
+ goto yy11;
yy1820:
yych = *++cursor_;
- if (yych == 'o') goto yy1912;
- goto yy87;
+ if (yych == 'a') goto yy1919;
+ goto yy11;
yy1821:
yych = *++cursor_;
- if (yych == 'i') goto yy1913;
- goto yy87;
+ if (yych == 'u') goto yy1920;
+ goto yy11;
yy1822:
yych = *++cursor_;
- if (yych == 's') goto yy1914;
- goto yy87;
+ if (yych == 'e') goto yy1921;
+ goto yy11;
yy1823:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 332 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Extend8S); }
-#line 9730 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1923;
+ goto yy11;
+yy1824:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1925;
+ goto yy11;
yy1825:
yych = *++cursor_;
- if (yych == 'e') goto yy1916;
- goto yy87;
+ if (yych == '_') goto yy1926;
+ goto yy11;
yy1826:
yych = *++cursor_;
- if (yych == '_') goto yy1917;
- goto yy87;
+ if (yych == 'u') goto yy1927;
+ goto yy11;
yy1827:
yych = *++cursor_;
- if (yych == '_') goto yy1918;
- goto yy87;
+ if (yych == 'n') goto yy1928;
+ goto yy11;
yy1828:
yych = *++cursor_;
- if (yych == '3') goto yy1919;
- if (yych == '6') goto yy1920;
- goto yy87;
+ if (yych == 't') goto yy1929;
+ goto yy11;
yy1829:
yych = *++cursor_;
- if (yych == 'a') goto yy1921;
- goto yy87;
-yy1830:
- yych = *++cursor_;
- if (yych == '_') goto yy1922;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 556 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
+#line 9446 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1831:
yych = *++cursor_;
- if (yych == '3') goto yy1923;
- if (yych == '6') goto yy1924;
- goto yy87;
+ if (yych == 'i') goto yy1931;
+ goto yy11;
yy1832:
yych = *++cursor_;
- if (yych == 'a') goto yy1925;
- goto yy87;
-yy1833:
- yych = *++cursor_;
- if (yych == 'e') goto yy1926;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 740 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertInvalid); }
+#line 9458 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1834:
yych = *++cursor_;
- if (yych == 'e') goto yy1928;
- goto yy87;
+ if (yych == 'e') goto yy1932;
+ goto yy11;
yy1835:
yych = *++cursor_;
- if (yych == '_') goto yy1930;
- goto yy87;
+ if (yych == 'a') goto yy1933;
+ if (yych == 'c') goto yy1934;
+ goto yy11;
yy1836:
yych = *++cursor_;
- if (yych == '_') goto yy1931;
- goto yy87;
+ if (yych == 'b') goto yy1935;
+ goto yy11;
yy1837:
yych = *++cursor_;
- if (yych == 'a') goto yy1932;
- goto yy87;
-yy1838:
- yych = *++cursor_;
- if (yych == 'a') goto yy1933;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 455 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemorySize); }
+#line 9479 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1839:
yych = *++cursor_;
- if (yych == 'w') goto yy1934;
- goto yy87;
+ if (yych == '2') goto yy1936;
+ goto yy11;
yy1840:
yych = *++cursor_;
- if (yych == 'o') goto yy1935;
- goto yy87;
+ if (yych == '4') goto yy1937;
+ goto yy11;
yy1841:
yych = *++cursor_;
- if (yych == 'i') goto yy1936;
- goto yy87;
+ if (yych == 'i') goto yy1938;
+ goto yy11;
yy1842:
yych = *++cursor_;
- if (yych == 's') goto yy1937;
- goto yy87;
+ if (yych == 'i') goto yy1939;
+ goto yy11;
yy1843:
yych = *++cursor_;
- if (yych == 's') goto yy1939;
- goto yy87;
-yy1844:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 334 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend8S); }
-#line 9816 "src/prebuilt/wast-lexer-gen.cc"
-yy1846:
+#line 703 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32DemoteF64); }
+#line 9503 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1845:
yych = *++cursor_;
- if (yych == '2') goto yy1941;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 442 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32DemoteF64); }
+#line 9511 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1847:
yych = *++cursor_;
- if (yych == 'i') goto yy1942;
- goto yy87;
+ if (yych == 't') goto yy1940;
+ goto yy11;
yy1848:
yych = *++cursor_;
- if (yych == 'i') goto yy1943;
- goto yy87;
+ if (yych == 'i') goto yy1941;
+ goto yy11;
yy1849:
yych = *++cursor_;
- if (yych == 'e') goto yy1944;
- goto yy87;
+ if (yych == 'l') goto yy1942;
+ goto yy11;
yy1850:
yych = *++cursor_;
- if (yych == '_') goto yy1945;
- goto yy87;
+ if (yych == 'l') goto yy1943;
+ goto yy11;
yy1851:
yych = *++cursor_;
- if (yych == '_') goto yy1946;
- goto yy87;
+ if (yych == '2') goto yy1944;
+ goto yy11;
yy1852:
yych = *++cursor_;
- if (yych == '3') goto yy1947;
- if (yych == '6') goto yy1948;
- goto yy87;
+ if (yych == '4') goto yy1945;
+ goto yy11;
yy1853:
yych = *++cursor_;
- if (yych == 'a') goto yy1949;
- goto yy87;
+ if (yych == 'i') goto yy1946;
+ goto yy11;
yy1854:
yych = *++cursor_;
- if (yych == '_') goto yy1950;
- goto yy87;
+ if (yych == 'i') goto yy1947;
+ goto yy11;
yy1855:
yych = *++cursor_;
- if (yych == '3') goto yy1951;
- if (yych == '6') goto yy1952;
- goto yy87;
+ if (yych == '2') goto yy1948;
+ goto yy11;
yy1856:
yych = *++cursor_;
- if (yych == 'a') goto yy1953;
- goto yy87;
+ if (yych == '2') goto yy1950;
+ goto yy11;
yy1857:
yych = *++cursor_;
- if (yych == 'e') goto yy1954;
- goto yy87;
+ if (yych == 't') goto yy1952;
+ goto yy11;
yy1858:
yych = *++cursor_;
- if (yych == 'e') goto yy1956;
- goto yy87;
+ if (yych == 'i') goto yy1953;
+ goto yy11;
yy1859:
yych = *++cursor_;
- if (yych == '_') goto yy1958;
- goto yy87;
+ if (yych == 'l') goto yy1954;
+ goto yy11;
yy1860:
yych = *++cursor_;
- if (yych == '_') goto yy1959;
- goto yy87;
+ if (yych == 'l') goto yy1955;
+ goto yy11;
yy1861:
yych = *++cursor_;
- if (yych == 'a') goto yy1960;
- goto yy87;
+ if (yych == 'r') goto yy1956;
+ goto yy11;
yy1862:
yych = *++cursor_;
- if (yych == 'u') goto yy1961;
- goto yy87;
-yy1863:
- yych = *++cursor_;
- if (yych == 'e') goto yy1962;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 602 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I16X8AllTrue); }
+#line 9579 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1864:
yych = *++cursor_;
- if (yych == 'e') goto yy1964;
- goto yy87;
-yy1865:
- yych = *++cursor_;
- if (yych == '_') goto yy1966;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 598 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I16X8AnyTrue); }
+#line 9587 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1866:
yych = *++cursor_;
- if (yych == '_') goto yy1967;
- goto yy87;
+ if (yych == 'l') goto yy1957;
+ goto yy11;
yy1867:
yych = *++cursor_;
- if (yych == 'u') goto yy1968;
- goto yy87;
+ if (yych == 'l') goto yy1958;
+ goto yy11;
yy1868:
yych = *++cursor_;
- if (yych == 'n') goto yy1969;
- goto yy87;
+ if (yych == 'r') goto yy1959;
+ goto yy11;
yy1869:
yych = *++cursor_;
- if (yych == 't') goto yy1970;
- goto yy87;
+ if (yych == 'd') goto yy1960;
+ goto yy11;
yy1870:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= '0') {
+ if (yych == '.') goto yy1962;
+ goto yy11;
+ } else {
+ if (yych <= '1') goto yy1963;
+ if (yych == '8') goto yy1964;
+ goto yy11;
}
-#line 549 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
-#line 9922 "src/prebuilt/wast-lexer-gen.cc"
+yy1871:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1965;
+ goto yy11;
yy1872:
yych = *++cursor_;
- if (yych == 'i') goto yy1972;
- goto yy87;
+ if (yych == 't') goto yy1966;
+ goto yy11;
yy1873:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 733 "src/wast-lexer.cc"
- { RETURN(AssertInvalid); }
-#line 9934 "src/prebuilt/wast-lexer-gen.cc"
+#line 334 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Extend16S); }
+#line 9629 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1875:
yych = *++cursor_;
- if (yych == 'e') goto yy1973;
- goto yy87;
+ if (yych == 't') goto yy1968;
+ goto yy11;
yy1876:
yych = *++cursor_;
- if (yych == 'a') goto yy1974;
- if (yych == 'c') goto yy1975;
- goto yy87;
+ if (yych == 's') goto yy1969;
+ if (yych == 'u') goto yy1971;
+ goto yy11;
yy1877:
yych = *++cursor_;
- if (yych == 'b') goto yy1976;
- goto yy87;
+ if (yych == 's') goto yy1973;
+ if (yych == 'u') goto yy1975;
+ goto yy11;
yy1878:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 454 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemorySize); }
-#line 9955 "src/prebuilt/wast-lexer-gen.cc"
-yy1880:
yych = *++cursor_;
if (yych == '2') goto yy1977;
- goto yy87;
+ goto yy11;
+yy1879:
+ yych = *++cursor_;
+ if (yych == '4') goto yy1979;
+ goto yy11;
+yy1880:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1981;
+ goto yy11;
yy1881:
yych = *++cursor_;
- if (yych == '4') goto yy1978;
- goto yy87;
+ if (yych == 'f') goto yy1982;
+ goto yy11;
yy1882:
yych = *++cursor_;
- if (yych == 'i') goto yy1979;
- goto yy87;
+ if (yych == '2') goto yy1983;
+ goto yy11;
yy1883:
yych = *++cursor_;
- if (yych == 'i') goto yy1980;
- goto yy87;
+ if (yych == '4') goto yy1985;
+ goto yy11;
yy1884:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 696 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32DemoteF64); }
-#line 9979 "src/prebuilt/wast-lexer-gen.cc"
-yy1886:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 't') goto yy1987;
+ goto yy11;
+yy1885:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 441 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32DemoteF64); }
-#line 9987 "src/prebuilt/wast-lexer-gen.cc"
-yy1888:
+#line 603 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4AllTrue); }
+#line 9679 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1887:
yych = *++cursor_;
- if (yych == 't') goto yy1981;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 599 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4AnyTrue); }
+#line 9687 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1889:
yych = *++cursor_;
- if (yych == 'i') goto yy1982;
- goto yy87;
+ if (yych == 'l') goto yy1988;
+ goto yy11;
yy1890:
yych = *++cursor_;
- if (yych == 'l') goto yy1983;
- goto yy87;
+ if (yych == 'l') goto yy1989;
+ goto yy11;
yy1891:
yych = *++cursor_;
- if (yych == 'l') goto yy1984;
- goto yy87;
+ if (yych == 't') goto yy1990;
+ goto yy11;
yy1892:
yych = *++cursor_;
- if (yych == '2') goto yy1985;
- goto yy87;
+ if (yych == 'd') goto yy1991;
+ goto yy11;
yy1893:
yych = *++cursor_;
- if (yych == '4') goto yy1986;
- goto yy87;
+ switch (yych) {
+ case '.': goto yy1993;
+ case '1': goto yy1994;
+ case '3': goto yy1995;
+ case '8': goto yy1996;
+ default: goto yy11;
+ }
yy1894:
yych = *++cursor_;
- if (yych == 'i') goto yy1987;
- goto yy87;
+ if (yych == 'r') goto yy1997;
+ goto yy11;
yy1895:
yych = *++cursor_;
- if (yych == 'i') goto yy1988;
- goto yy87;
+ if (yych == 't') goto yy1998;
+ goto yy11;
yy1896:
yych = *++cursor_;
- if (yych == '2') goto yy1989;
- goto yy87;
-yy1897:
- yych = *++cursor_;
- if (yych == '2') goto yy1991;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 336 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend16S); }
+#line 9728 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1898:
yych = *++cursor_;
- if (yych == 't') goto yy1993;
- goto yy87;
-yy1899:
- yych = *++cursor_;
- if (yych == 'i') goto yy1994;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 337 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend32S); }
+#line 9736 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1900:
yych = *++cursor_;
- if (yych == 'l') goto yy1995;
- goto yy87;
+ if (yych == '_') goto yy2000;
+ goto yy11;
yy1901:
yych = *++cursor_;
- if (yych == 'l') goto yy1996;
- goto yy87;
+ if (yych == '3') goto yy2001;
+ goto yy11;
yy1902:
yych = *++cursor_;
- if (yych == 'r') goto yy1997;
- goto yy87;
+ if (yych == '3') goto yy2002;
+ goto yy11;
yy1903:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 595 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I16X8AllTrue); }
-#line 10055 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy2003;
+ goto yy11;
+yy1904:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2004;
+ if (yych == 'u') goto yy2006;
+ goto yy11;
yy1905:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 591 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I16X8AnyTrue); }
-#line 10063 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 's') goto yy2008;
+ if (yych == 'u') goto yy2010;
+ goto yy11;
+yy1906:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2012;
+ goto yy11;
yy1907:
yych = *++cursor_;
- if (yych == 'l') goto yy1998;
- goto yy87;
+ if (yych == '4') goto yy2014;
+ goto yy11;
yy1908:
yych = *++cursor_;
- if (yych == 'l') goto yy1999;
- goto yy87;
+ if (yych == 't') goto yy2016;
+ goto yy11;
yy1909:
yych = *++cursor_;
- if (yych == 'r') goto yy2000;
- goto yy87;
+ if (yych == 'f') goto yy2017;
+ goto yy11;
yy1910:
yych = *++cursor_;
- if (yych == 'd') goto yy2001;
- goto yy87;
+ if (yych == '2') goto yy2018;
+ goto yy11;
yy1911:
yych = *++cursor_;
- if (yych <= '0') {
- if (yych == '.') goto yy2003;
- goto yy87;
- } else {
- if (yych <= '1') goto yy2004;
- if (yych == '8') goto yy2005;
- goto yy87;
- }
+ if (yych == '4') goto yy2020;
+ goto yy11;
yy1912:
yych = *++cursor_;
- if (yych == 'r') goto yy2006;
- goto yy87;
+ if (yych == 't') goto yy2022;
+ goto yy11;
yy1913:
yych = *++cursor_;
- if (yych == 't') goto yy2007;
- goto yy87;
-yy1914:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 333 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Extend16S); }
-#line 10105 "src/prebuilt/wast-lexer-gen.cc"
-yy1916:
+#line 604 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2AllTrue); }
+#line 9798 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1915:
yych = *++cursor_;
- if (yych == 't') goto yy2009;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 600 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2AnyTrue); }
+#line 9806 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1917:
yych = *++cursor_;
- if (yych == 's') goto yy2010;
- if (yych == 'u') goto yy2012;
- goto yy87;
+ if (yych == 'l') goto yy2023;
+ goto yy11;
yy1918:
yych = *++cursor_;
- if (yych == 's') goto yy2014;
- if (yych == 'u') goto yy2016;
- goto yy87;
+ if (yych == 'l') goto yy2024;
+ goto yy11;
yy1919:
yych = *++cursor_;
- if (yych == '2') goto yy2018;
- goto yy87;
+ if (yych == 't') goto yy2025;
+ goto yy11;
yy1920:
yych = *++cursor_;
- if (yych == '4') goto yy2020;
- goto yy87;
+ if (yych == 'r') goto yy2026;
+ goto yy11;
yy1921:
yych = *++cursor_;
- if (yych == 't') goto yy2022;
- goto yy87;
-yy1922:
- yych = *++cursor_;
- if (yych == 'f') goto yy2023;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 601 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I8X16AllTrue); }
+#line 9830 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1923:
yych = *++cursor_;
- if (yych == '2') goto yy2024;
- goto yy87;
-yy1924:
- yych = *++cursor_;
- if (yych == '4') goto yy2026;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 597 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I8X16AnyTrue); }
+#line 9838 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1925:
yych = *++cursor_;
- if (yych == 't') goto yy2028;
- goto yy87;
+ if (yych == 'l') goto yy2027;
+ goto yy11;
yy1926:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 596 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4AllTrue); }
-#line 10155 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'l') goto yy2028;
+ goto yy11;
+yy1927:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2029;
+ goto yy11;
yy1928:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 592 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4AnyTrue); }
-#line 10163 "src/prebuilt/wast-lexer-gen.cc"
-yy1930:
yych = *++cursor_;
- if (yych == 'l') goto yy2029;
- goto yy87;
+ if (yych == 'd') goto yy2030;
+ goto yy11;
+yy1929:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 596 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Ternary, V128BitSelect); }
+#line 9862 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1931:
yych = *++cursor_;
- if (yych == 'l') goto yy2030;
- goto yy87;
+ if (yych == 'o') goto yy2031;
+ goto yy11;
yy1932:
yych = *++cursor_;
- if (yych == 't') goto yy2031;
- goto yy87;
+ if (yych == 'd') goto yy2032;
+ goto yy11;
yy1933:
yych = *++cursor_;
- if (yych == 'd') goto yy2032;
- goto yy87;
+ if (yych == 'r') goto yy2034;
+ goto yy11;
yy1934:
yych = *++cursor_;
- switch (yych) {
- case '.': goto yy2034;
- case '1': goto yy2035;
- case '3': goto yy2036;
- case '8': goto yy2037;
- default: goto yy87;
- }
+ if (yych == 'a') goto yy2035;
+ goto yy11;
yy1935:
yych = *++cursor_;
- if (yych == 'r') goto yy2038;
- goto yy87;
+ if (yych == 'l') goto yy2036;
+ goto yy11;
yy1936:
yych = *++cursor_;
- if (yych == 't') goto yy2039;
- goto yy87;
+ if (yych == '_') goto yy2037;
+ goto yy11;
yy1937:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 335 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend16S); }
-#line 10204 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2038;
+ goto yy11;
+yy1938:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2039;
+ if (yych == '6') goto yy2040;
+ goto yy11;
yy1939:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 336 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend32S); }
-#line 10212 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy2041;
+ if (yych == '6') goto yy2042;
+ goto yy11;
+yy1940:
+ yych = *++cursor_;
+ if (yych == '/') goto yy2043;
+ if (yych == '_') goto yy2044;
+ goto yy11;
yy1941:
yych = *++cursor_;
- if (yych == '_') goto yy2041;
- goto yy87;
+ if (yych == '3') goto yy2045;
+ goto yy11;
yy1942:
yych = *++cursor_;
- if (yych == '3') goto yy2042;
- goto yy87;
+ if (yych == 'a') goto yy2046;
+ goto yy11;
yy1943:
yych = *++cursor_;
- if (yych == '3') goto yy2043;
- goto yy87;
+ if (yych == 'a') goto yy2047;
+ goto yy11;
yy1944:
yych = *++cursor_;
- if (yych == 't') goto yy2044;
- goto yy87;
+ if (yych == '_') goto yy2048;
+ goto yy11;
yy1945:
yych = *++cursor_;
- if (yych == 's') goto yy2045;
- if (yych == 'u') goto yy2047;
- goto yy87;
+ if (yych == '_') goto yy2049;
+ goto yy11;
yy1946:
yych = *++cursor_;
- if (yych == 's') goto yy2049;
- if (yych == 'u') goto yy2051;
- goto yy87;
+ if (yych == '3') goto yy2050;
+ if (yych == '6') goto yy2051;
+ goto yy11;
yy1947:
yych = *++cursor_;
- if (yych == '2') goto yy2053;
- goto yy87;
+ if (yych == '3') goto yy2052;
+ if (yych == '6') goto yy2053;
+ goto yy11;
yy1948:
yych = *++cursor_;
- if (yych == '4') goto yy2055;
- goto yy87;
-yy1949:
- yych = *++cursor_;
- if (yych == 't') goto yy2057;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 702 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64PromoteF32); }
+#line 9943 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1950:
yych = *++cursor_;
- if (yych == 'f') goto yy2058;
- goto yy87;
-yy1951:
- yych = *++cursor_;
- if (yych == '2') goto yy2059;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 441 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64PromoteF32); }
+#line 9951 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1952:
yych = *++cursor_;
- if (yych == '4') goto yy2061;
- goto yy87;
+ if (yych == '/') goto yy2054;
+ if (yych == '_') goto yy2055;
+ goto yy11;
yy1953:
yych = *++cursor_;
- if (yych == 't') goto yy2063;
- goto yy87;
+ if (yych == '6') goto yy2056;
+ goto yy11;
yy1954:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 597 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2AllTrue); }
-#line 10274 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2057;
+ goto yy11;
+yy1955:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2058;
+ goto yy11;
yy1956:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 593 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2AnyTrue); }
-#line 10282 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2059;
+ goto yy11;
+yy1957:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2060;
+ goto yy11;
yy1958:
yych = *++cursor_;
- if (yych == 'l') goto yy2064;
- goto yy87;
+ if (yych == 'a') goto yy2061;
+ goto yy11;
yy1959:
yych = *++cursor_;
- if (yych == 'l') goto yy2065;
- goto yy87;
+ if (yych == 'a') goto yy2062;
+ goto yy11;
yy1960:
yych = *++cursor_;
- if (yych == 't') goto yy2066;
- goto yy87;
+ if (yych <= '0') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy10;
+ } else {
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych <= '1') goto yy2063;
+ if (yych <= '7') goto yy10;
+ goto yy2064;
+ } else {
+ if (yych == ';') goto yy1961;
+ if (yych <= '~') goto yy10;
+ }
+ }
yy1961:
- yych = *++cursor_;
- if (yych == 'r') goto yy2067;
- goto yy87;
+#line 470 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
+#line 10007 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1962:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ switch (yych) {
+ case 'a': goto yy2065;
+ case 'c': goto yy2066;
+ case 'o': goto yy2067;
+ case 's': goto yy2068;
+ case 'x': goto yy2069;
+ default: goto yy11;
}
-#line 594 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I8X16AllTrue); }
-#line 10306 "src/prebuilt/wast-lexer-gen.cc"
+yy1963:
+ yych = *++cursor_;
+ if (yych == '6') goto yy2070;
+ goto yy11;
yy1964:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 590 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I8X16AnyTrue); }
-#line 10314 "src/prebuilt/wast-lexer-gen.cc"
-yy1966:
yych = *++cursor_;
- if (yych == 'l') goto yy2068;
- goto yy87;
-yy1967:
+ if (yych == '.') goto yy2071;
+ goto yy11;
+yy1965:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2072;
+ goto yy11;
+yy1966:
yych = *++cursor_;
- if (yych == 'l') goto yy2069;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 467 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
+#line 10037 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1968:
yych = *++cursor_;
- if (yych == 'r') goto yy2070;
- goto yy87;
+ if (yych == '/') goto yy2074;
+ if (yych == '_') goto yy2075;
+ goto yy11;
yy1969:
yych = *++cursor_;
- if (yych == 'd') goto yy2071;
- goto yy87;
-yy1970:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 589 "src/wast-lexer.cc"
- { RETURN_OPCODE(Ternary, V128BitSelect); }
-#line 10338 "src/prebuilt/wast-lexer-gen.cc"
-yy1972:
+#line 417 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32S); }
+#line 10050 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy1971:
yych = *++cursor_;
- if (yych == 'o') goto yy2072;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 421 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32U); }
+#line 10058 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1973:
yych = *++cursor_;
- if (yych == 'd') goto yy2073;
- goto yy87;
-yy1974:
- yych = *++cursor_;
- if (yych == 'r') goto yy2075;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 419 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64S); }
+#line 10066 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1975:
yych = *++cursor_;
- if (yych == 'a') goto yy2076;
- goto yy87;
-yy1976:
- yych = *++cursor_;
- if (yych == 'l') goto yy2077;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 423 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64U); }
+#line 10074 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1977:
yych = *++cursor_;
- if (yych == '_') goto yy2078;
- goto yy87;
-yy1978:
- yych = *++cursor_;
- if (yych == '_') goto yy2079;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 686 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32S); }
+#line 10082 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1979:
yych = *++cursor_;
- if (yych == '3') goto yy2080;
- if (yych == '6') goto yy2081;
- goto yy87;
-yy1980:
- yych = *++cursor_;
- if (yych == '3') goto yy2082;
- if (yych == '6') goto yy2083;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 688 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64S); }
+#line 10090 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1981:
yych = *++cursor_;
- if (yych == '/') goto yy2084;
- if (yych == '_') goto yy2085;
- goto yy87;
+ if (yych == '/') goto yy2076;
+ goto yy11;
yy1982:
yych = *++cursor_;
- if (yych == '3') goto yy2086;
- goto yy87;
+ if (yych == '3') goto yy2077;
+ if (yych == '6') goto yy2078;
+ goto yy11;
yy1983:
yych = *++cursor_;
- if (yych == 'a') goto yy2087;
- goto yy87;
-yy1984:
- yych = *++cursor_;
- if (yych == 'a') goto yy2088;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 690 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32U); }
+#line 10107 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1985:
yych = *++cursor_;
- if (yych == '_') goto yy2089;
- goto yy87;
-yy1986:
- yych = *++cursor_;
- if (yych == '_') goto yy2090;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 692 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64U); }
+#line 10115 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1987:
yych = *++cursor_;
- if (yych == '3') goto yy2091;
- if (yych == '6') goto yy2092;
- goto yy87;
+ if (yych == '/') goto yy2079;
+ goto yy11;
yy1988:
yych = *++cursor_;
- if (yych == '3') goto yy2093;
- if (yych == '6') goto yy2094;
- goto yy87;
+ if (yych == 'a') goto yy2080;
+ goto yy11;
yy1989:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 695 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64PromoteF32); }
-#line 10419 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2081;
+ goto yy11;
+yy1990:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2082;
+ goto yy11;
yy1991:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= '1') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy10;
+ } else {
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy1992;
+ if (yych <= '0') goto yy10;
+ goto yy2083;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych == '3') goto yy2084;
+ if (yych <= '7') goto yy10;
+ goto yy2085;
+ } else {
+ if (yych == ';') goto yy1992;
+ if (yych <= '~') goto yy10;
+ }
}
-#line 440 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64PromoteF32); }
-#line 10427 "src/prebuilt/wast-lexer-gen.cc"
+yy1992:
+#line 471 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
+#line 10156 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy1993:
yych = *++cursor_;
- if (yych == '/') goto yy2095;
- if (yych == '_') goto yy2096;
- goto yy87;
+ switch (yych) {
+ case 'a': goto yy2086;
+ case 'c': goto yy2087;
+ case 'o': goto yy2088;
+ case 's': goto yy2089;
+ case 'x': goto yy2090;
+ default: goto yy11;
+ }
yy1994:
yych = *++cursor_;
- if (yych == '6') goto yy2097;
- goto yy87;
+ if (yych == '6') goto yy2091;
+ goto yy11;
yy1995:
yych = *++cursor_;
- if (yych == 'a') goto yy2098;
- goto yy87;
+ if (yych == '2') goto yy2092;
+ goto yy11;
yy1996:
yych = *++cursor_;
- if (yych == 'a') goto yy2099;
- goto yy87;
+ if (yych == '.') goto yy2093;
+ goto yy11;
yy1997:
yych = *++cursor_;
- if (yych == 'a') goto yy2100;
- goto yy87;
+ if (yych == 'e') goto yy2094;
+ goto yy11;
yy1998:
yych = *++cursor_;
- if (yych == 'a') goto yy2101;
- goto yy87;
-yy1999:
- yych = *++cursor_;
- if (yych == 'a') goto yy2102;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 468 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
+#line 10190 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2000:
yych = *++cursor_;
- if (yych == 'a') goto yy2103;
- goto yy87;
+ if (yych == 's') goto yy2096;
+ if (yych == 'u') goto yy2098;
+ goto yy11;
yy2001:
- ++cursor_;
- if ((yych = *cursor_) <= '0') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
- }
- } else {
- if (yych <= '8') {
- if (yych <= '1') goto yy2104;
- if (yych <= '7') goto yy86;
- goto yy2105;
- } else {
- if (yych == ';') goto yy2002;
- if (yych <= '~') goto yy86;
- }
- }
+ yych = *++cursor_;
+ if (yych == '2') goto yy2100;
+ goto yy11;
yy2002:
-#line 463 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
-#line 10483 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy2102;
+ goto yy11;
yy2003:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2106;
- case 'c': goto yy2107;
- case 'o': goto yy2108;
- case 's': goto yy2109;
- case 'x': goto yy2110;
- default: goto yy87;
- }
+ if (yych == '/') goto yy2104;
+ if (yych == '_') goto yy2105;
+ goto yy11;
yy2004:
yych = *++cursor_;
- if (yych == '6') goto yy2111;
- goto yy87;
-yy2005:
- yych = *++cursor_;
- if (yych == '.') goto yy2112;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 418 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32S); }
+#line 10216 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2006:
yych = *++cursor_;
- if (yych == 'e') goto yy2113;
- goto yy87;
-yy2007:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 460 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
-#line 10513 "src/prebuilt/wast-lexer-gen.cc"
-yy2009:
+#line 422 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32U); }
+#line 10224 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2008:
yych = *++cursor_;
- if (yych == '/') goto yy2115;
- if (yych == '_') goto yy2116;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 420 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64S); }
+#line 10232 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2010:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 416 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF32S); }
-#line 10526 "src/prebuilt/wast-lexer-gen.cc"
+#line 424 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64U); }
+#line 10240 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2012:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 420 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF32U); }
-#line 10534 "src/prebuilt/wast-lexer-gen.cc"
+#line 687 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32S); }
+#line 10248 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2014:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 418 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF64S); }
-#line 10542 "src/prebuilt/wast-lexer-gen.cc"
+#line 689 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64S); }
+#line 10256 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2016:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 422 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF64U); }
-#line 10550 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '/') goto yy2106;
+ goto yy11;
+yy2017:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2107;
+ if (yych == '6') goto yy2108;
+ goto yy11;
yy2018:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 679 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF32S); }
-#line 10558 "src/prebuilt/wast-lexer-gen.cc"
+#line 691 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32U); }
+#line 10273 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2020:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 681 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF64S); }
-#line 10566 "src/prebuilt/wast-lexer-gen.cc"
+#line 693 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64U); }
+#line 10281 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2022:
yych = *++cursor_;
- if (yych == '/') goto yy2117;
- goto yy87;
+ if (yych == '/') goto yy2109;
+ goto yy11;
yy2023:
yych = *++cursor_;
- if (yych == '3') goto yy2118;
- if (yych == '6') goto yy2119;
- goto yy87;
+ if (yych == 'a') goto yy2110;
+ goto yy11;
yy2024:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 683 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF32U); }
-#line 10583 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2111;
+ goto yy11;
+yy2025:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2112;
+ goto yy11;
yy2026:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 685 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncF64U); }
-#line 10591 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2113;
+ goto yy11;
+yy2027:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2114;
+ goto yy11;
yy2028:
yych = *++cursor_;
- if (yych == '/') goto yy2120;
- goto yy87;
+ if (yych == 'a') goto yy2115;
+ goto yy11;
yy2029:
yych = *++cursor_;
- if (yych == 'a') goto yy2121;
- goto yy87;
+ if (yych == 'a') goto yy2116;
+ goto yy11;
yy2030:
yych = *++cursor_;
- if (yych == 'a') goto yy2122;
- goto yy87;
+ if (yych == 'i') goto yy2117;
+ goto yy11;
yy2031:
yych = *++cursor_;
- if (yych == '_') goto yy2123;
- goto yy87;
+ if (yych == 'n') goto yy2118;
+ goto yy11;
yy2032:
- ++cursor_;
- if ((yych = *cursor_) <= '1') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy2033;
- if (yych <= '0') goto yy86;
- goto yy2124;
- }
- } else {
- if (yych <= '8') {
- if (yych == '3') goto yy2125;
- if (yych <= '7') goto yy86;
- goto yy2126;
- } else {
- if (yych == ';') goto yy2033;
- if (yych <= '~') goto yy86;
- }
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-yy2033:
-#line 464 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
-#line 10632 "src/prebuilt/wast-lexer-gen.cc"
+#line 739 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertMalformed); }
+#line 10329 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2034:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2127;
- case 'c': goto yy2128;
- case 'o': goto yy2129;
- case 's': goto yy2130;
- case 'x': goto yy2131;
- default: goto yy87;
- }
+ if (yych == 'i') goto yy2120;
+ goto yy11;
yy2035:
yych = *++cursor_;
- if (yych == '6') goto yy2132;
- goto yy87;
+ if (yych == 'n') goto yy2121;
+ goto yy11;
yy2036:
yych = *++cursor_;
- if (yych == '2') goto yy2133;
- goto yy87;
+ if (yych == 'e') goto yy2122;
+ goto yy11;
yy2037:
yych = *++cursor_;
- if (yych == '.') goto yy2134;
- goto yy87;
+ if (yych == 's') goto yy2124;
+ if (yych == 'u') goto yy2126;
+ goto yy11;
yy2038:
yych = *++cursor_;
- if (yych == 'e') goto yy2135;
- goto yy87;
+ if (yych == 's') goto yy2128;
+ if (yych == 'u') goto yy2130;
+ goto yy11;
yy2039:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 461 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
-#line 10666 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy2132;
+ goto yy11;
+yy2040:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2134;
+ goto yy11;
yy2041:
yych = *++cursor_;
- if (yych == 's') goto yy2137;
- if (yych == 'u') goto yy2139;
- goto yy87;
+ if (yych == '2') goto yy2136;
+ goto yy11;
yy2042:
yych = *++cursor_;
- if (yych == '2') goto yy2141;
- goto yy87;
+ if (yych == '4') goto yy2138;
+ goto yy11;
yy2043:
yych = *++cursor_;
- if (yych == '2') goto yy2143;
- goto yy87;
+ if (yych == 'i') goto yy2140;
+ goto yy11;
yy2044:
yych = *++cursor_;
- if (yych == '/') goto yy2145;
- if (yych == '_') goto yy2146;
- goto yy87;
+ if (yych == 'i') goto yy2141;
+ goto yy11;
yy2045:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 417 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF32S); }
-#line 10692 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy2142;
+ goto yy11;
+yy2046:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2143;
+ goto yy11;
yy2047:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 421 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF32U); }
-#line 10700 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2144;
+ goto yy11;
+yy2048:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2145;
+ if (yych == 'u') goto yy2147;
+ goto yy11;
yy2049:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 419 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF64S); }
-#line 10708 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 's') goto yy2149;
+ if (yych == 'u') goto yy2151;
+ goto yy11;
+yy2050:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2153;
+ goto yy11;
yy2051:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 423 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF64U); }
-#line 10716 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2155;
+ goto yy11;
+yy2052:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2157;
+ goto yy11;
yy2053:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 680 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF32S); }
-#line 10724 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2159;
+ goto yy11;
+yy2054:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2161;
+ goto yy11;
yy2055:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 682 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF64S); }
-#line 10732 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2162;
+ goto yy11;
+yy2056:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2163;
+ goto yy11;
yy2057:
yych = *++cursor_;
- if (yych == '/') goto yy2147;
- goto yy87;
+ if (yych == 'n') goto yy2164;
+ goto yy11;
yy2058:
yych = *++cursor_;
- if (yych == '3') goto yy2148;
- if (yych == '6') goto yy2149;
- goto yy87;
+ if (yych == 'n') goto yy2165;
+ goto yy11;
yy2059:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 684 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF32U); }
-#line 10749 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 't') goto yy2166;
+ goto yy11;
+yy2060:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2167;
+ goto yy11;
yy2061:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 686 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncF64U); }
-#line 10757 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2168;
+ goto yy11;
+yy2062:
+ yych = *++cursor_;
+ if (yych == 't') goto yy2169;
+ goto yy11;
yy2063:
yych = *++cursor_;
- if (yych == '/') goto yy2150;
- goto yy87;
+ if (yych == '6') goto yy2170;
+ goto yy11;
yy2064:
yych = *++cursor_;
- if (yych == 'a') goto yy2151;
- goto yy87;
+ if (yych == '_') goto yy2171;
+ goto yy11;
yy2065:
yych = *++cursor_;
- if (yych == 'a') goto yy2152;
- goto yy87;
+ if (yych == 'd') goto yy2172;
+ if (yych == 'n') goto yy2173;
+ goto yy11;
yy2066:
yych = *++cursor_;
- if (yych == '_') goto yy2153;
- goto yy87;
+ if (yych == 'm') goto yy2174;
+ goto yy11;
yy2067:
yych = *++cursor_;
- if (yych == 'a') goto yy2154;
- goto yy87;
+ if (yych == 'r') goto yy2175;
+ goto yy11;
yy2068:
yych = *++cursor_;
- if (yych == 'a') goto yy2155;
- goto yy87;
+ if (yych == 'u') goto yy2177;
+ goto yy11;
yy2069:
yych = *++cursor_;
- if (yych == 'a') goto yy2156;
- goto yy87;
+ if (yych == 'c') goto yy2178;
+ if (yych == 'o') goto yy2179;
+ goto yy11;
yy2070:
yych = *++cursor_;
- if (yych == 'a') goto yy2157;
- goto yy87;
+ if (yych == '.') goto yy2180;
+ goto yy11;
yy2071:
yych = *++cursor_;
- if (yych == 'i') goto yy2158;
- goto yy87;
+ switch (yych) {
+ case 'a': goto yy2181;
+ case 'c': goto yy2182;
+ case 'o': goto yy2183;
+ case 's': goto yy2184;
+ case 'x': goto yy2185;
+ default: goto yy11;
+ }
yy2072:
yych = *++cursor_;
- if (yych == 'n') goto yy2159;
- goto yy87;
-yy2073:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych <= '0') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy10;
+ } else {
+ if (yych <= '\'') goto yy10;
+ if (yych >= '*') goto yy10;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych <= '1') goto yy2186;
+ if (yych <= '7') goto yy10;
+ goto yy2187;
+ } else {
+ if (yych == ';') goto yy2073;
+ if (yych <= '~') goto yy10;
+ }
}
-#line 732 "src/wast-lexer.cc"
- { RETURN(AssertMalformed); }
-#line 10805 "src/prebuilt/wast-lexer-gen.cc"
+yy2073:
+#line 477 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore); }
+#line 10516 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2074:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy2189;
+ goto yy11;
yy2075:
yych = *++cursor_;
- if (yych == 'i') goto yy2161;
- goto yy87;
+ if (yych == 'f') goto yy2190;
+ goto yy11;
yy2076:
yych = *++cursor_;
- if (yych == 'n') goto yy2162;
- goto yy87;
+ if (yych == 'f') goto yy2191;
+ goto yy11;
yy2077:
yych = *++cursor_;
- if (yych == 'e') goto yy2163;
- goto yy87;
+ if (yych == '2') goto yy2192;
+ goto yy11;
yy2078:
yych = *++cursor_;
- if (yych == 's') goto yy2165;
- if (yych == 'u') goto yy2167;
- goto yy87;
+ if (yych == '4') goto yy2193;
+ goto yy11;
yy2079:
yych = *++cursor_;
- if (yych == 's') goto yy2169;
- if (yych == 'u') goto yy2171;
- goto yy87;
+ if (yych == 'f') goto yy2194;
+ goto yy11;
yy2080:
yych = *++cursor_;
- if (yych == '2') goto yy2173;
- goto yy87;
+ if (yych == 'n') goto yy2195;
+ goto yy11;
yy2081:
yych = *++cursor_;
- if (yych == '4') goto yy2175;
- goto yy87;
+ if (yych == 'n') goto yy2196;
+ goto yy11;
yy2082:
yych = *++cursor_;
- if (yych == '2') goto yy2177;
- goto yy87;
+ if (yych == 'f') goto yy2197;
+ goto yy11;
yy2083:
yych = *++cursor_;
- if (yych == '4') goto yy2179;
- goto yy87;
+ if (yych == '6') goto yy2198;
+ goto yy11;
yy2084:
yych = *++cursor_;
- if (yych == 'i') goto yy2181;
- goto yy87;
+ if (yych == '2') goto yy2199;
+ goto yy11;
yy2085:
yych = *++cursor_;
- if (yych == 'i') goto yy2182;
- goto yy87;
+ if (yych == '_') goto yy2200;
+ goto yy11;
yy2086:
yych = *++cursor_;
- if (yych == '2') goto yy2183;
- goto yy87;
+ if (yych == 'd') goto yy2201;
+ if (yych == 'n') goto yy2202;
+ goto yy11;
yy2087:
yych = *++cursor_;
- if (yych == 'n') goto yy2184;
- goto yy87;
+ if (yych == 'm') goto yy2203;
+ goto yy11;
yy2088:
yych = *++cursor_;
- if (yych == 'n') goto yy2185;
- goto yy87;
+ if (yych == 'r') goto yy2204;
+ goto yy11;
yy2089:
yych = *++cursor_;
- if (yych == 's') goto yy2186;
- if (yych == 'u') goto yy2188;
- goto yy87;
+ if (yych == 'u') goto yy2206;
+ goto yy11;
yy2090:
yych = *++cursor_;
- if (yych == 's') goto yy2190;
- if (yych == 'u') goto yy2192;
- goto yy87;
+ if (yych == 'c') goto yy2207;
+ if (yych == 'o') goto yy2208;
+ goto yy11;
yy2091:
yych = *++cursor_;
- if (yych == '2') goto yy2194;
- goto yy87;
+ if (yych == '.') goto yy2209;
+ goto yy11;
yy2092:
yych = *++cursor_;
- if (yych == '4') goto yy2196;
- goto yy87;
+ if (yych == '.') goto yy2210;
+ goto yy11;
yy2093:
yych = *++cursor_;
- if (yych == '2') goto yy2198;
- goto yy87;
+ switch (yych) {
+ case 'a': goto yy2211;
+ case 'c': goto yy2212;
+ case 'o': goto yy2213;
+ case 's': goto yy2214;
+ case 'x': goto yy2215;
+ default: goto yy11;
+ }
yy2094:
yych = *++cursor_;
- if (yych == '4') goto yy2200;
- goto yy87;
+ if (yych <= '1') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy10;
+ } else {
+ if (yych <= '\'') goto yy10;
+ if (yych <= ')') goto yy2095;
+ if (yych <= '0') goto yy10;
+ goto yy2216;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych == '3') goto yy2217;
+ if (yych <= '7') goto yy10;
+ goto yy2218;
+ } else {
+ if (yych == ';') goto yy2095;
+ if (yych <= '~') goto yy10;
+ }
+ }
yy2095:
- yych = *++cursor_;
- if (yych == 'i') goto yy2202;
- goto yy87;
+#line 478 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore); }
+#line 10629 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2096:
yych = *++cursor_;
- if (yych == 'i') goto yy2203;
- goto yy87;
-yy2097:
- yych = *++cursor_;
- if (yych == '4') goto yy2204;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 414 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32S); }
+#line 10637 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2098:
yych = *++cursor_;
- if (yych == 'n') goto yy2205;
- goto yy87;
-yy2099:
- yych = *++cursor_;
- if (yych == 'n') goto yy2206;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 415 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32U); }
+#line 10645 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2100:
yych = *++cursor_;
- if (yych == 't') goto yy2207;
- goto yy87;
-yy2101:
- yych = *++cursor_;
- if (yych == 'n') goto yy2208;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 683 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32S); }
+#line 10653 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2102:
yych = *++cursor_;
- if (yych == 'n') goto yy2209;
- goto yy87;
-yy2103:
- yych = *++cursor_;
- if (yych == 't') goto yy2210;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 684 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32U); }
+#line 10661 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2104:
yych = *++cursor_;
- if (yych == '6') goto yy2211;
- goto yy87;
+ if (yych == 'f') goto yy2220;
+ goto yy11;
yy2105:
yych = *++cursor_;
- if (yych == '_') goto yy2212;
- goto yy87;
+ if (yych == 'f') goto yy2221;
+ goto yy11;
yy2106:
yych = *++cursor_;
- if (yych == 'd') goto yy2213;
- if (yych == 'n') goto yy2214;
- goto yy87;
+ if (yych == 'f') goto yy2222;
+ goto yy11;
yy2107:
yych = *++cursor_;
- if (yych == 'm') goto yy2215;
- goto yy87;
+ if (yych == '2') goto yy2223;
+ goto yy11;
yy2108:
yych = *++cursor_;
- if (yych == 'r') goto yy2216;
- goto yy87;
+ if (yych == '4') goto yy2224;
+ goto yy11;
yy2109:
yych = *++cursor_;
- if (yych == 'u') goto yy2218;
- goto yy87;
+ if (yych == 'f') goto yy2225;
+ goto yy11;
yy2110:
yych = *++cursor_;
- if (yych == 'c') goto yy2219;
- if (yych == 'o') goto yy2220;
- goto yy87;
+ if (yych == 'n') goto yy2226;
+ goto yy11;
yy2111:
yych = *++cursor_;
- if (yych == '.') goto yy2221;
- goto yy87;
+ if (yych == 'n') goto yy2227;
+ goto yy11;
yy2112:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2222;
- case 'c': goto yy2223;
- case 'o': goto yy2224;
- case 's': goto yy2225;
- case 'x': goto yy2226;
- default: goto yy87;
- }
+ if (yych == 'f') goto yy2228;
+ goto yy11;
yy2113:
- ++cursor_;
- if ((yych = *cursor_) <= '0') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych >= '*') goto yy86;
- }
- } else {
- if (yych <= '8') {
- if (yych <= '1') goto yy2227;
- if (yych <= '7') goto yy86;
- goto yy2228;
- } else {
- if (yych == ';') goto yy2114;
- if (yych <= '~') goto yy86;
- }
- }
+ yych = *++cursor_;
+ if (yych == 't') goto yy2229;
+ goto yy11;
yy2114:
-#line 470 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore); }
-#line 10992 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2230;
+ goto yy11;
yy2115:
yych = *++cursor_;
- if (yych == 'f') goto yy2230;
- goto yy87;
+ if (yych == 'n') goto yy2231;
+ goto yy11;
yy2116:
yych = *++cursor_;
- if (yych == 'f') goto yy2231;
- goto yy87;
+ if (yych == 't') goto yy2232;
+ goto yy11;
yy2117:
yych = *++cursor_;
- if (yych == 'f') goto yy2232;
- goto yy87;
+ if (yych == 'r') goto yy2233;
+ goto yy11;
yy2118:
yych = *++cursor_;
- if (yych == '2') goto yy2233;
- goto yy87;
-yy2119:
- yych = *++cursor_;
- if (yych == '4') goto yy2234;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 746 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertExhaustion); }
+#line 10725 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2120:
yych = *++cursor_;
- if (yych == 'f') goto yy2235;
- goto yy87;
+ if (yych == 't') goto yy2234;
+ goto yy11;
yy2121:
yych = *++cursor_;
- if (yych == 'n') goto yy2236;
- goto yy87;
+ if (yych == 'o') goto yy2235;
+ goto yy11;
yy2122:
yych = *++cursor_;
- if (yych == 'n') goto yy2237;
- goto yy87;
-yy2123:
- yych = *++cursor_;
- if (yych == 'f') goto yy2238;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 741 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertUnlinkable); }
+#line 10741 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2124:
yych = *++cursor_;
- if (yych == '6') goto yy2239;
- goto yy87;
-yy2125:
- yych = *++cursor_;
- if (yych == '2') goto yy2240;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 433 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32S); }
+#line 10749 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2126:
yych = *++cursor_;
- if (yych == '_') goto yy2241;
- goto yy87;
-yy2127:
- yych = *++cursor_;
- if (yych == 'd') goto yy2242;
- if (yych == 'n') goto yy2243;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 437 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32U); }
+#line 10757 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2128:
yych = *++cursor_;
- if (yych == 'm') goto yy2244;
- goto yy87;
-yy2129:
- yych = *++cursor_;
- if (yych == 'r') goto yy2245;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 435 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64S); }
+#line 10765 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2130:
yych = *++cursor_;
- if (yych == 'u') goto yy2247;
- goto yy87;
-yy2131:
- yych = *++cursor_;
- if (yych == 'c') goto yy2248;
- if (yych == 'o') goto yy2249;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 439 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64U); }
+#line 10773 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2132:
yych = *++cursor_;
- if (yych == '.') goto yy2250;
- goto yy87;
-yy2133:
- yych = *++cursor_;
- if (yych == '.') goto yy2251;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 694 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32S); }
+#line 10781 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2134:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2252;
- case 'c': goto yy2253;
- case 'o': goto yy2254;
- case 's': goto yy2255;
- case 'x': goto yy2256;
- default: goto yy87;
- }
-yy2135:
- ++cursor_;
- if ((yych = *cursor_) <= '1') {
- if (yych <= '"') {
- if (yych == '!') goto yy86;
- } else {
- if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy2136;
- if (yych <= '0') goto yy86;
- goto yy2257;
- }
- } else {
- if (yych <= '8') {
- if (yych == '3') goto yy2258;
- if (yych <= '7') goto yy86;
- goto yy2259;
- } else {
- if (yych == ';') goto yy2136;
- if (yych <= '~') goto yy86;
- }
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
+#line 696 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64S); }
+#line 10789 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2136:
-#line 471 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore); }
-#line 11105 "src/prebuilt/wast-lexer-gen.cc"
-yy2137:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 413 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendI32S); }
-#line 11113 "src/prebuilt/wast-lexer-gen.cc"
-yy2139:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 698 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32U); }
+#line 10797 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2138:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 414 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendI32U); }
-#line 11121 "src/prebuilt/wast-lexer-gen.cc"
+#line 700 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64U); }
+#line 10805 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2140:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2236;
+ goto yy11;
yy2141:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 676 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendI32S); }
-#line 11129 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy2237;
+ goto yy11;
+yy2142:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2238;
+ goto yy11;
yy2143:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 677 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendI32U); }
-#line 11137 "src/prebuilt/wast-lexer-gen.cc"
-yy2145:
yych = *++cursor_;
- if (yych == 'f') goto yy2261;
- goto yy87;
-yy2146:
+ if (yych == 'e') goto yy2239;
+ goto yy11;
+yy2144:
yych = *++cursor_;
- if (yych == 'f') goto yy2262;
- goto yy87;
-yy2147:
+ if (yych == 'e') goto yy2241;
+ goto yy11;
+yy2145:
yych = *++cursor_;
- if (yych == 'f') goto yy2263;
- goto yy87;
-yy2148:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 434 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32S); }
+#line 10833 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2147:
yych = *++cursor_;
- if (yych == '2') goto yy2264;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 438 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32U); }
+#line 10841 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2149:
yych = *++cursor_;
- if (yych == '4') goto yy2265;
- goto yy87;
-yy2150:
- yych = *++cursor_;
- if (yych == 'f') goto yy2266;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 436 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64S); }
+#line 10849 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2151:
yych = *++cursor_;
- if (yych == 'n') goto yy2267;
- goto yy87;
-yy2152:
- yych = *++cursor_;
- if (yych == 'n') goto yy2268;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 440 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64U); }
+#line 10857 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2153:
yych = *++cursor_;
- if (yych == 'f') goto yy2269;
- goto yy87;
-yy2154:
- yych = *++cursor_;
- if (yych == 't') goto yy2270;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 695 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32S); }
+#line 10865 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2155:
yych = *++cursor_;
- if (yych == 'n') goto yy2271;
- goto yy87;
-yy2156:
- yych = *++cursor_;
- if (yych == 'n') goto yy2272;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 697 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64S); }
+#line 10873 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2157:
yych = *++cursor_;
- if (yych == 't') goto yy2273;
- goto yy87;
-yy2158:
- yych = *++cursor_;
- if (yych == 'r') goto yy2274;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 699 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32U); }
+#line 10881 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2159:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 739 "src/wast-lexer.cc"
- { RETURN(AssertExhaustion); }
-#line 11201 "src/prebuilt/wast-lexer-gen.cc"
+#line 701 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64U); }
+#line 10889 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2161:
yych = *++cursor_;
- if (yych == 't') goto yy2275;
- goto yy87;
+ if (yych == '6') goto yy2243;
+ goto yy11;
yy2162:
yych = *++cursor_;
- if (yych == 'o') goto yy2276;
- goto yy87;
+ if (yych == '6') goto yy2244;
+ goto yy11;
yy2163:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 734 "src/wast-lexer.cc"
- { RETURN(AssertUnlinkable); }
-#line 11217 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2245;
+ goto yy11;
+yy2164:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2246;
+ goto yy11;
yy2165:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 432 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI32S); }
-#line 11225 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2248;
+ goto yy11;
+yy2166:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2250;
+ goto yy11;
yy2167:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 436 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI32U); }
-#line 11233 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2251;
+ goto yy11;
+yy2168:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2252;
+ goto yy11;
yy2169:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 434 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI64S); }
-#line 11241 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2254;
+ goto yy11;
+yy2170:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2255;
+ goto yy11;
yy2171:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 438 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI64U); }
-#line 11249 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2256;
+ goto yy11;
+yy2172:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2258;
+ goto yy11;
yy2173:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 687 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI32S); }
-#line 11257 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2260;
+ goto yy11;
+yy2174:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2262;
+ goto yy11;
yy2175:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 689 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI64S); }
-#line 11265 "src/prebuilt/wast-lexer-gen.cc"
+#line 505 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
+#line 10953 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2177:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 691 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI32U); }
-#line 11273 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'b') goto yy2263;
+ goto yy11;
+yy2178:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2265;
+ goto yy11;
yy2179:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2266;
+ goto yy11;
+yy2180:
+ yych = *++cursor_;
+ switch (yych) {
+ case 'a': goto yy2268;
+ case 'c': goto yy2269;
+ case 'o': goto yy2270;
+ case 's': goto yy2271;
+ case 'x': goto yy2272;
+ default: goto yy11;
}
-#line 693 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertI64U); }
-#line 11281 "src/prebuilt/wast-lexer-gen.cc"
yy2181:
yych = *++cursor_;
- if (yych == '3') goto yy2277;
- goto yy87;
+ if (yych == 'd') goto yy2273;
+ if (yych == 'n') goto yy2274;
+ goto yy11;
yy2182:
yych = *++cursor_;
- if (yych == '3') goto yy2278;
- goto yy87;
+ if (yych == 'm') goto yy2275;
+ goto yy11;
yy2183:
yych = *++cursor_;
- if (yych == 'x') goto yy2279;
- goto yy87;
+ if (yych == 'r') goto yy2276;
+ goto yy11;
yy2184:
yych = *++cursor_;
- if (yych == 'e') goto yy2280;
- goto yy87;
+ if (yych == 'u') goto yy2277;
+ goto yy11;
yy2185:
yych = *++cursor_;
- if (yych == 'e') goto yy2282;
- goto yy87;
+ if (yych == 'c') goto yy2278;
+ if (yych == 'o') goto yy2279;
+ goto yy11;
yy2186:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 433 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI32S); }
-#line 11309 "src/prebuilt/wast-lexer-gen.cc"
-yy2188:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == '6') goto yy2280;
+ goto yy11;
+yy2187:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 437 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI32U); }
-#line 11317 "src/prebuilt/wast-lexer-gen.cc"
+#line 479 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
+#line 11009 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2189:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2282;
+ goto yy11;
yy2190:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 435 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI64S); }
-#line 11325 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy2283;
+ goto yy11;
+yy2191:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2284;
+ if (yych == '6') goto yy2285;
+ goto yy11;
yy2192:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 439 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI64U); }
-#line 11333 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2286;
+ goto yy11;
+yy2193:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2287;
+ goto yy11;
yy2194:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 688 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI32S); }
-#line 11341 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '3') goto yy2288;
+ if (yych == '6') goto yy2289;
+ goto yy11;
+yy2195:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2290;
+ goto yy11;
yy2196:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 690 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI64S); }
-#line 11349 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2292;
+ goto yy11;
+yy2197:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2294;
+ goto yy11;
yy2198:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 692 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI32U); }
-#line 11357 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2295;
+ goto yy11;
+yy2199:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2296;
+ goto yy11;
yy2200:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 694 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertI64U); }
-#line 11365 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2297;
+ goto yy11;
+yy2201:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2299;
+ goto yy11;
yy2202:
yych = *++cursor_;
- if (yych == '6') goto yy2284;
- goto yy87;
+ if (yych == 'd') goto yy2301;
+ goto yy11;
yy2203:
yych = *++cursor_;
- if (yych == '6') goto yy2285;
- goto yy87;
+ if (yych == 'p') goto yy2303;
+ goto yy11;
yy2204:
yych = *++cursor_;
- if (yych == 'x') goto yy2286;
- goto yy87;
-yy2205:
- yych = *++cursor_;
- if (yych == 'e') goto yy2287;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 506 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
+#line 11079 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2206:
yych = *++cursor_;
- if (yych == 'e') goto yy2289;
- goto yy87;
+ if (yych == 'b') goto yy2304;
+ goto yy11;
yy2207:
yych = *++cursor_;
- if (yych == 'e') goto yy2291;
- goto yy87;
+ if (yych == 'h') goto yy2306;
+ goto yy11;
yy2208:
yych = *++cursor_;
- if (yych == 'e') goto yy2292;
- goto yy87;
+ if (yych == 'r') goto yy2307;
+ goto yy11;
yy2209:
yych = *++cursor_;
- if (yych == 'e') goto yy2293;
- goto yy87;
+ switch (yych) {
+ case 'a': goto yy2309;
+ case 'c': goto yy2310;
+ case 'o': goto yy2311;
+ case 's': goto yy2312;
+ case 'x': goto yy2313;
+ default: goto yy11;
+ }
yy2210:
yych = *++cursor_;
- if (yych == 'e') goto yy2295;
- goto yy87;
+ switch (yych) {
+ case 'a': goto yy2314;
+ case 'c': goto yy2315;
+ case 'o': goto yy2316;
+ case 's': goto yy2317;
+ case 'x': goto yy2318;
+ default: goto yy11;
+ }
yy2211:
yych = *++cursor_;
- if (yych == '_') goto yy2296;
- goto yy87;
+ if (yych == 'd') goto yy2319;
+ if (yych == 'n') goto yy2320;
+ goto yy11;
yy2212:
yych = *++cursor_;
- if (yych == 'u') goto yy2297;
- goto yy87;
+ if (yych == 'm') goto yy2321;
+ goto yy11;
yy2213:
yych = *++cursor_;
- if (yych == 'd') goto yy2299;
- goto yy87;
+ if (yych == 'r') goto yy2322;
+ goto yy11;
yy2214:
yych = *++cursor_;
- if (yych == 'd') goto yy2301;
- goto yy87;
+ if (yych == 'u') goto yy2323;
+ goto yy11;
yy2215:
yych = *++cursor_;
- if (yych == 'p') goto yy2303;
- goto yy87;
+ if (yych == 'c') goto yy2324;
+ if (yych == 'o') goto yy2325;
+ goto yy11;
yy2216:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 498 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
-#line 11429 "src/prebuilt/wast-lexer-gen.cc"
-yy2218:
yych = *++cursor_;
- if (yych == 'b') goto yy2304;
- goto yy87;
-yy2219:
+ if (yych == '6') goto yy2326;
+ goto yy11;
+yy2217:
yych = *++cursor_;
- if (yych == 'h') goto yy2306;
- goto yy87;
+ if (yych == '2') goto yy2328;
+ goto yy11;
+yy2218:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 481 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
+#line 11149 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2220:
yych = *++cursor_;
- if (yych == 'r') goto yy2307;
- goto yy87;
+ if (yych == '6') goto yy2330;
+ goto yy11;
yy2221:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2309;
- case 'c': goto yy2310;
- case 'o': goto yy2311;
- case 's': goto yy2312;
- case 'x': goto yy2313;
- default: goto yy87;
- }
+ if (yych == '6') goto yy2331;
+ goto yy11;
yy2222:
yych = *++cursor_;
- if (yych == 'd') goto yy2314;
- if (yych == 'n') goto yy2315;
- goto yy87;
+ if (yych == '3') goto yy2332;
+ if (yych == '6') goto yy2333;
+ goto yy11;
yy2223:
yych = *++cursor_;
- if (yych == 'm') goto yy2316;
- goto yy87;
+ if (yych == '_') goto yy2334;
+ goto yy11;
yy2224:
yych = *++cursor_;
- if (yych == 'r') goto yy2317;
- goto yy87;
+ if (yych == '_') goto yy2335;
+ goto yy11;
yy2225:
yych = *++cursor_;
- if (yych == 'u') goto yy2318;
- goto yy87;
+ if (yych == '3') goto yy2336;
+ if (yych == '6') goto yy2337;
+ goto yy11;
yy2226:
yych = *++cursor_;
- if (yych == 'c') goto yy2319;
- if (yych == 'o') goto yy2320;
- goto yy87;
+ if (yych == 'e') goto yy2338;
+ goto yy11;
yy2227:
yych = *++cursor_;
- if (yych == '6') goto yy2321;
- goto yy87;
+ if (yych == 'e') goto yy2340;
+ goto yy11;
yy2228:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 472 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
-#line 11485 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '6') goto yy2342;
+ goto yy11;
+yy2229:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2343;
+ goto yy11;
yy2230:
yych = *++cursor_;
- if (yych == '3') goto yy2323;
- goto yy87;
+ if (yych == 'e') goto yy2344;
+ goto yy11;
yy2231:
yych = *++cursor_;
- if (yych == '3') goto yy2324;
- goto yy87;
+ if (yych == 'e') goto yy2345;
+ goto yy11;
yy2232:
yych = *++cursor_;
- if (yych == '3') goto yy2325;
- if (yych == '6') goto yy2326;
- goto yy87;
+ if (yych == 'e') goto yy2347;
+ goto yy11;
yy2233:
yych = *++cursor_;
- if (yych == '_') goto yy2327;
- goto yy87;
+ if (yych == 'e') goto yy2348;
+ goto yy11;
yy2234:
yych = *++cursor_;
- if (yych == '_') goto yy2328;
- goto yy87;
+ if (yych == 'h') goto yy2349;
+ goto yy11;
yy2235:
yych = *++cursor_;
- if (yych == '3') goto yy2329;
- if (yych == '6') goto yy2330;
- goto yy87;
+ if (yych == 'n') goto yy2350;
+ goto yy11;
yy2236:
yych = *++cursor_;
- if (yych == 'e') goto yy2331;
- goto yy87;
+ if (yych == '2') goto yy2351;
+ goto yy11;
yy2237:
yych = *++cursor_;
- if (yych == 'e') goto yy2333;
- goto yy87;
+ if (yych == '2') goto yy2353;
+ goto yy11;
yy2238:
yych = *++cursor_;
- if (yych == '3') goto yy2335;
- goto yy87;
+ if (yych == '4') goto yy2355;
+ goto yy11;
yy2239:
yych = *++cursor_;
- if (yych == '_') goto yy2336;
- goto yy87;
-yy2240:
- yych = *++cursor_;
- if (yych == '_') goto yy2337;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 548 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
+#line 11235 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2241:
yych = *++cursor_;
- if (yych == 'u') goto yy2338;
- goto yy87;
-yy2242:
- yych = *++cursor_;
- if (yych == 'd') goto yy2340;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 554 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
+#line 11243 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2243:
yych = *++cursor_;
- if (yych == 'd') goto yy2342;
- goto yy87;
+ if (yych == '4') goto yy2356;
+ goto yy11;
yy2244:
yych = *++cursor_;
- if (yych == 'p') goto yy2344;
- goto yy87;
+ if (yych == '4') goto yy2358;
+ goto yy11;
yy2245:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 499 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
-#line 11555 "src/prebuilt/wast-lexer-gen.cc"
-yy2247:
yych = *++cursor_;
- if (yych == 'b') goto yy2345;
- goto yy87;
-yy2248:
+ if (yych == '2') goto yy2360;
+ goto yy11;
+yy2246:
yych = *++cursor_;
- if (yych == 'h') goto yy2347;
- goto yy87;
-yy2249:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 549 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
+#line 11263 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2248:
yych = *++cursor_;
- if (yych == 'r') goto yy2348;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 555 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
+#line 11271 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2250:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2350;
- case 'c': goto yy2351;
- case 'o': goto yy2352;
- case 's': goto yy2353;
- case 'x': goto yy2354;
- default: goto yy87;
- }
+ if (yych == '_') goto yy2361;
+ goto yy11;
yy2251:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2355;
- case 'c': goto yy2356;
- case 'o': goto yy2357;
- case 's': goto yy2358;
- case 'x': goto yy2359;
- default: goto yy87;
- }
+ if (yych == '_') goto yy2362;
+ goto yy11;
yy2252:
yych = *++cursor_;
- if (yych == 'd') goto yy2360;
- if (yych == 'n') goto yy2361;
- goto yy87;
-yy2253:
- yych = *++cursor_;
- if (yych == 'm') goto yy2362;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 551 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
+#line 11287 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2254:
yych = *++cursor_;
- if (yych == 'r') goto yy2363;
- goto yy87;
+ if (yych == '_') goto yy2363;
+ goto yy11;
yy2255:
yych = *++cursor_;
if (yych == 'u') goto yy2364;
- goto yy87;
+ goto yy11;
yy2256:
yych = *++cursor_;
- if (yych == 'c') goto yy2365;
- if (yych == 'o') goto yy2366;
- goto yy87;
-yy2257:
- yych = *++cursor_;
- if (yych == '6') goto yy2367;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 472 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
+#line 11303 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2258:
yych = *++cursor_;
- if (yych == '2') goto yy2369;
- goto yy87;
-yy2259:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 474 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
-#line 11625 "src/prebuilt/wast-lexer-gen.cc"
-yy2261:
+#line 484 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
+#line 11311 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2260:
yych = *++cursor_;
- if (yych == '6') goto yy2371;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 498 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
+#line 11319 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2262:
yych = *++cursor_;
- if (yych == '6') goto yy2372;
- goto yy87;
+ if (yych == 'x') goto yy2366;
+ goto yy11;
yy2263:
yych = *++cursor_;
- if (yych == '3') goto yy2373;
- if (yych == '6') goto yy2374;
- goto yy87;
-yy2264:
- yych = *++cursor_;
- if (yych == '_') goto yy2375;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 491 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
+#line 11331 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2265:
yych = *++cursor_;
- if (yych == '_') goto yy2376;
- goto yy87;
+ if (yych == 'g') goto yy2367;
+ goto yy11;
yy2266:
yych = *++cursor_;
- if (yych == '3') goto yy2377;
- if (yych == '6') goto yy2378;
- goto yy87;
-yy2267:
- yych = *++cursor_;
- if (yych == 'e') goto yy2379;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 512 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
+#line 11343 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2268:
yych = *++cursor_;
- if (yych == 'e') goto yy2381;
- goto yy87;
+ if (yych == 'd') goto yy2369;
+ if (yych == 'n') goto yy2370;
+ goto yy11;
yy2269:
yych = *++cursor_;
- if (yych == '6') goto yy2383;
- goto yy87;
+ if (yych == 'm') goto yy2371;
+ goto yy11;
yy2270:
yych = *++cursor_;
- if (yych == 'e') goto yy2384;
- goto yy87;
+ if (yych == 'r') goto yy2372;
+ goto yy11;
yy2271:
yych = *++cursor_;
- if (yych == 'e') goto yy2385;
- goto yy87;
+ if (yych == 'u') goto yy2373;
+ goto yy11;
yy2272:
yych = *++cursor_;
- if (yych == 'e') goto yy2386;
- goto yy87;
+ if (yych == 'c') goto yy2374;
+ if (yych == 'o') goto yy2375;
+ goto yy11;
yy2273:
yych = *++cursor_;
- if (yych == 'e') goto yy2388;
- goto yy87;
+ if (yych == 'd') goto yy2376;
+ goto yy11;
yy2274:
yych = *++cursor_;
- if (yych == 'e') goto yy2389;
- goto yy87;
+ if (yych == 'd') goto yy2377;
+ goto yy11;
yy2275:
yych = *++cursor_;
- if (yych == 'h') goto yy2390;
- goto yy87;
+ if (yych == 'p') goto yy2378;
+ goto yy11;
yy2276:
yych = *++cursor_;
- if (yych == 'n') goto yy2391;
- goto yy87;
+ if (yych == '_') goto yy2379;
+ goto yy11;
yy2277:
yych = *++cursor_;
- if (yych == '2') goto yy2392;
- goto yy87;
+ if (yych == 'b') goto yy2380;
+ goto yy11;
yy2278:
yych = *++cursor_;
- if (yych == '2') goto yy2394;
- goto yy87;
+ if (yych == 'h') goto yy2381;
+ goto yy11;
yy2279:
yych = *++cursor_;
- if (yych == '4') goto yy2396;
- goto yy87;
+ if (yych == 'r') goto yy2382;
+ goto yy11;
yy2280:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 541 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
-#line 11711 "src/prebuilt/wast-lexer-gen.cc"
+#line 480 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
+#line 11401 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2282:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 547 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
-#line 11719 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy2383;
+ goto yy11;
+yy2283:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2385;
+ goto yy11;
yy2284:
yych = *++cursor_;
- if (yych == '4') goto yy2397;
- goto yy87;
+ if (yych == '2') goto yy2387;
+ goto yy11;
yy2285:
yych = *++cursor_;
- if (yych == '4') goto yy2399;
- goto yy87;
+ if (yych == '4') goto yy2389;
+ goto yy11;
yy2286:
yych = *++cursor_;
- if (yych == '2') goto yy2401;
- goto yy87;
+ if (yych == 's') goto yy2391;
+ if (yych == 'u') goto yy2393;
+ goto yy11;
yy2287:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 542 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
-#line 11739 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 's') goto yy2395;
+ if (yych == 'u') goto yy2397;
+ goto yy11;
+yy2288:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2399;
+ goto yy11;
yy2289:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 548 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
-#line 11747 "src/prebuilt/wast-lexer-gen.cc"
-yy2291:
yych = *++cursor_;
- if (yych == '_') goto yy2402;
- goto yy87;
+ if (yych == '4') goto yy2401;
+ goto yy11;
+yy2290:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 546 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
+#line 11443 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2292:
yych = *++cursor_;
- if (yych == '_') goto yy2403;
- goto yy87;
-yy2293:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 544 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
-#line 11763 "src/prebuilt/wast-lexer-gen.cc"
+#line 552 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
+#line 11451 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2294:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2403;
+ goto yy11;
yy2295:
yych = *++cursor_;
- if (yych == '_') goto yy2404;
- goto yy87;
+ if (yych == 'u') goto yy2404;
+ goto yy11;
yy2296:
yych = *++cursor_;
- if (yych == 'u') goto yy2405;
- goto yy87;
+ if (yych == 'u') goto yy2406;
+ goto yy11;
yy2297:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 465 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
-#line 11779 "src/prebuilt/wast-lexer-gen.cc"
+#line 474 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
+#line 11471 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2299:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 477 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
-#line 11787 "src/prebuilt/wast-lexer-gen.cc"
+#line 485 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
+#line 11479 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2301:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 491 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
-#line 11795 "src/prebuilt/wast-lexer-gen.cc"
+#line 499 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
+#line 11487 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2303:
yych = *++cursor_;
- if (yych == 'x') goto yy2407;
- goto yy87;
+ if (yych == 'x') goto yy2408;
+ goto yy11;
yy2304:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 484 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
-#line 11807 "src/prebuilt/wast-lexer-gen.cc"
+#line 492 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
+#line 11499 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2306:
yych = *++cursor_;
- if (yych == 'g') goto yy2408;
- goto yy87;
+ if (yych == 'g') goto yy2409;
+ goto yy11;
yy2307:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 505 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
-#line 11819 "src/prebuilt/wast-lexer-gen.cc"
+#line 513 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
+#line 11511 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2309:
yych = *++cursor_;
- if (yych == 'd') goto yy2410;
- if (yych == 'n') goto yy2411;
- goto yy87;
+ if (yych == 'd') goto yy2411;
+ if (yych == 'n') goto yy2412;
+ goto yy11;
yy2310:
yych = *++cursor_;
- if (yych == 'm') goto yy2412;
- goto yy87;
+ if (yych == 'm') goto yy2413;
+ goto yy11;
yy2311:
yych = *++cursor_;
- if (yych == 'r') goto yy2413;
- goto yy87;
+ if (yych == 'r') goto yy2414;
+ goto yy11;
yy2312:
yych = *++cursor_;
- if (yych == 'u') goto yy2414;
- goto yy87;
+ if (yych == 'u') goto yy2415;
+ goto yy11;
yy2313:
yych = *++cursor_;
- if (yych == 'c') goto yy2415;
- if (yych == 'o') goto yy2416;
- goto yy87;
+ if (yych == 'c') goto yy2416;
+ if (yych == 'o') goto yy2417;
+ goto yy11;
yy2314:
yych = *++cursor_;
- if (yych == 'd') goto yy2417;
- goto yy87;
+ if (yych == 'd') goto yy2418;
+ if (yych == 'n') goto yy2419;
+ goto yy11;
yy2315:
yych = *++cursor_;
- if (yych == 'd') goto yy2418;
- goto yy87;
+ if (yych == 'm') goto yy2420;
+ goto yy11;
yy2316:
yych = *++cursor_;
- if (yych == 'p') goto yy2419;
- goto yy87;
+ if (yych == 'r') goto yy2421;
+ goto yy11;
yy2317:
yych = *++cursor_;
- if (yych == '_') goto yy2420;
- goto yy87;
+ if (yych == 'u') goto yy2422;
+ goto yy11;
yy2318:
yych = *++cursor_;
- if (yych == 'b') goto yy2421;
- goto yy87;
+ if (yych == 'c') goto yy2423;
+ if (yych == 'o') goto yy2424;
+ goto yy11;
yy2319:
yych = *++cursor_;
- if (yych == 'h') goto yy2422;
- goto yy87;
+ if (yych == 'd') goto yy2425;
+ goto yy11;
yy2320:
yych = *++cursor_;
- if (yych == 'r') goto yy2423;
- goto yy87;
+ if (yych == 'd') goto yy2426;
+ goto yy11;
yy2321:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 473 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
-#line 11877 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2427;
+ goto yy11;
+yy2322:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2428;
+ goto yy11;
yy2323:
yych = *++cursor_;
- if (yych == '2') goto yy2424;
- goto yy87;
+ if (yych == 'b') goto yy2429;
+ goto yy11;
yy2324:
yych = *++cursor_;
- if (yych == '2') goto yy2426;
- goto yy87;
+ if (yych == 'h') goto yy2430;
+ goto yy11;
yy2325:
yych = *++cursor_;
- if (yych == '2') goto yy2428;
- goto yy87;
+ if (yych == 'r') goto yy2431;
+ goto yy11;
yy2326:
yych = *++cursor_;
- if (yych == '4') goto yy2430;
- goto yy87;
-yy2327:
- yych = *++cursor_;
- if (yych == 's') goto yy2432;
- if (yych == 'u') goto yy2434;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 482 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
+#line 11591 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2328:
yych = *++cursor_;
- if (yych == 's') goto yy2436;
- if (yych == 'u') goto yy2438;
- goto yy87;
-yy2329:
- yych = *++cursor_;
- if (yych == '2') goto yy2440;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 483 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
+#line 11599 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2330:
yych = *++cursor_;
- if (yych == '4') goto yy2442;
- goto yy87;
+ if (yych == '4') goto yy2432;
+ goto yy11;
yy2331:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 539 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
-#line 11919 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2434;
+ goto yy11;
+yy2332:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2436;
+ goto yy11;
yy2333:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 545 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
-#line 11927 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2438;
+ goto yy11;
+yy2334:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2440;
+ if (yych == 'u') goto yy2442;
+ goto yy11;
yy2335:
yych = *++cursor_;
- if (yych == '2') goto yy2444;
- goto yy87;
+ if (yych == 's') goto yy2444;
+ if (yych == 'u') goto yy2446;
+ goto yy11;
yy2336:
yych = *++cursor_;
- if (yych == 'u') goto yy2445;
- goto yy87;
+ if (yych == '2') goto yy2448;
+ goto yy11;
yy2337:
yych = *++cursor_;
- if (yych == 'u') goto yy2447;
- goto yy87;
+ if (yych == '4') goto yy2450;
+ goto yy11;
yy2338:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 467 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
-#line 11947 "src/prebuilt/wast-lexer-gen.cc"
+#line 547 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
+#line 11641 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2340:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 478 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
-#line 11955 "src/prebuilt/wast-lexer-gen.cc"
+#line 553 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
+#line 11649 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2342:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 492 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
-#line 11963 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2452;
+ goto yy11;
+yy2343:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2453;
+ goto yy11;
yy2344:
yych = *++cursor_;
- if (yych == 'x') goto yy2449;
- goto yy87;
+ if (yych == '_') goto yy2454;
+ goto yy11;
yy2345:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 485 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
-#line 11975 "src/prebuilt/wast-lexer-gen.cc"
+#line 550 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
+#line 11669 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2347:
yych = *++cursor_;
- if (yych == 'g') goto yy2450;
- goto yy87;
+ if (yych == '_') goto yy2455;
+ goto yy11;
yy2348:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 506 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
-#line 11987 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2456;
+ goto yy11;
+yy2349:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy2457;
+ goto yy11;
yy2350:
yych = *++cursor_;
- if (yych == 'd') goto yy2452;
- if (yych == 'n') goto yy2453;
- goto yy87;
+ if (yych == 'i') goto yy2458;
+ goto yy11;
yy2351:
yych = *++cursor_;
- if (yych == 'm') goto yy2454;
- goto yy87;
-yy2352:
- yych = *++cursor_;
- if (yych == 'r') goto yy2455;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 704 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+#line 11693 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2353:
yych = *++cursor_;
- if (yych == 'u') goto yy2456;
- goto yy87;
-yy2354:
- yych = *++cursor_;
- if (yych == 'c') goto yy2457;
- if (yych == 'o') goto yy2458;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 443 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+#line 11701 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2355:
yych = *++cursor_;
- if (yych == 'd') goto yy2459;
- if (yych == 'n') goto yy2460;
- goto yy87;
+ if (yych == '_') goto yy2459;
+ goto yy11;
yy2356:
yych = *++cursor_;
- if (yych == 'm') goto yy2461;
- goto yy87;
-yy2357:
- yych = *++cursor_;
- if (yych == 'r') goto yy2462;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 706 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+#line 11713 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2358:
yych = *++cursor_;
- if (yych == 'u') goto yy2463;
- goto yy87;
-yy2359:
- yych = *++cursor_;
- if (yych == 'c') goto yy2464;
- if (yych == 'o') goto yy2465;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 445 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+#line 11721 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2360:
yych = *++cursor_;
- if (yych == 'd') goto yy2466;
- goto yy87;
+ if (yych == '_') goto yy2460;
+ goto yy11;
yy2361:
yych = *++cursor_;
- if (yych == 'd') goto yy2467;
- goto yy87;
+ if (yych == 's') goto yy2461;
+ if (yych == 'u') goto yy2463;
+ goto yy11;
yy2362:
yych = *++cursor_;
- if (yych == 'p') goto yy2468;
- goto yy87;
+ if (yych == 's') goto yy2465;
+ if (yych == 'u') goto yy2467;
+ goto yy11;
yy2363:
yych = *++cursor_;
- if (yych == '_') goto yy2469;
- goto yy87;
+ if (yych == 's') goto yy2469;
+ if (yych == 'u') goto yy2471;
+ goto yy11;
yy2364:
yych = *++cursor_;
- if (yych == 'b') goto yy2470;
- goto yy87;
-yy2365:
- yych = *++cursor_;
- if (yych == 'h') goto yy2471;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 473 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
+#line 11748 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2366:
yych = *++cursor_;
- if (yych == 'r') goto yy2472;
- goto yy87;
+ if (yych == 'c') goto yy2473;
+ goto yy11;
yy2367:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 475 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
-#line 12067 "src/prebuilt/wast-lexer-gen.cc"
+#line 519 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
+#line 11760 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2369:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 476 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
-#line 12075 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2474;
+ goto yy11;
+yy2370:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2475;
+ goto yy11;
yy2371:
yych = *++cursor_;
- if (yych == '4') goto yy2473;
- goto yy87;
+ if (yych == 'p') goto yy2476;
+ goto yy11;
yy2372:
yych = *++cursor_;
- if (yych == '4') goto yy2475;
- goto yy87;
+ if (yych == '_') goto yy2477;
+ goto yy11;
yy2373:
yych = *++cursor_;
- if (yych == '2') goto yy2477;
- goto yy87;
+ if (yych == 'b') goto yy2478;
+ goto yy11;
yy2374:
yych = *++cursor_;
- if (yych == '4') goto yy2479;
- goto yy87;
+ if (yych == 'h') goto yy2479;
+ goto yy11;
yy2375:
yych = *++cursor_;
- if (yych == 's') goto yy2481;
- if (yych == 'u') goto yy2483;
- goto yy87;
+ if (yych == 'r') goto yy2480;
+ goto yy11;
yy2376:
yych = *++cursor_;
- if (yych == 's') goto yy2485;
- if (yych == 'u') goto yy2487;
- goto yy87;
+ if (yych == '_') goto yy2481;
+ goto yy11;
yy2377:
yych = *++cursor_;
- if (yych == '2') goto yy2489;
- goto yy87;
+ if (yych == '_') goto yy2482;
+ goto yy11;
yy2378:
yych = *++cursor_;
- if (yych == '4') goto yy2491;
- goto yy87;
+ if (yych == 'x') goto yy2483;
+ goto yy11;
yy2379:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 540 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
-#line 12117 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2484;
+ goto yy11;
+yy2380:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2486;
+ goto yy11;
yy2381:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 546 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
-#line 12125 "src/prebuilt/wast-lexer-gen.cc"
-yy2383:
yych = *++cursor_;
- if (yych == '4') goto yy2493;
- goto yy87;
-yy2384:
+ if (yych == 'g') goto yy2487;
+ goto yy11;
+yy2382:
yych = *++cursor_;
- if (yych == '_') goto yy2494;
- goto yy87;
+ if (yych == '_') goto yy2488;
+ goto yy11;
+yy2383:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 705 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+#line 11824 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2385:
yych = *++cursor_;
- if (yych == '_') goto yy2495;
- goto yy87;
-yy2386:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 543 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
-#line 12145 "src/prebuilt/wast-lexer-gen.cc"
-yy2388:
+#line 444 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+#line 11832 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2387:
yych = *++cursor_;
- if (yych == '_') goto yy2496;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 708 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+#line 11840 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2389:
yych = *++cursor_;
- if (yych == 'c') goto yy2497;
- goto yy87;
-yy2390:
- yych = *++cursor_;
- if (yych == 'm') goto yy2498;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 710 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+#line 11848 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2391:
yych = *++cursor_;
- if (yych == 'i') goto yy2499;
- goto yy87;
-yy2392:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 697 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ReinterpretI32); }
-#line 12169 "src/prebuilt/wast-lexer-gen.cc"
-yy2394:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 425 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+#line 11856 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2393:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 442 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ReinterpretI32); }
-#line 12177 "src/prebuilt/wast-lexer-gen.cc"
-yy2396:
+#line 429 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+#line 11864 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2395:
yych = *++cursor_;
- if (yych == '_') goto yy2500;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 427 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+#line 11872 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2397:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 699 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ReinterpretI64); }
-#line 12189 "src/prebuilt/wast-lexer-gen.cc"
+#line 431 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+#line 11880 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2399:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 444 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ReinterpretI64); }
-#line 12197 "src/prebuilt/wast-lexer-gen.cc"
+#line 712 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+#line 11888 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2401:
yych = *++cursor_;
- if (yych == '_') goto yy2501;
- goto yy87;
-yy2402:
- yych = *++cursor_;
- if (yych == 's') goto yy2502;
- if (yych == 'u') goto yy2504;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 714 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+#line 11896 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2403:
yych = *++cursor_;
- if (yych == 's') goto yy2506;
- if (yych == 'u') goto yy2508;
- goto yy87;
+ if (yych == 'x') goto yy2489;
+ goto yy11;
yy2404:
yych = *++cursor_;
- if (yych == 's') goto yy2510;
- if (yych == 'u') goto yy2512;
- goto yy87;
-yy2405:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 466 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
-#line 12224 "src/prebuilt/wast-lexer-gen.cc"
-yy2407:
+#line 475 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
+#line 11908 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2406:
yych = *++cursor_;
- if (yych == 'c') goto yy2514;
- goto yy87;
-yy2408:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 512 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
-#line 12236 "src/prebuilt/wast-lexer-gen.cc"
-yy2410:
+#line 476 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
+#line 11916 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2408:
yych = *++cursor_;
- if (yych == 'd') goto yy2515;
- goto yy87;
+ if (yych == 'c') goto yy2490;
+ goto yy11;
+yy2409:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 520 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
+#line 11928 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2411:
yych = *++cursor_;
- if (yych == 'd') goto yy2516;
- goto yy87;
+ if (yych == 'd') goto yy2491;
+ goto yy11;
yy2412:
yych = *++cursor_;
- if (yych == 'p') goto yy2517;
- goto yy87;
+ if (yych == 'd') goto yy2492;
+ goto yy11;
yy2413:
yych = *++cursor_;
- if (yych == '_') goto yy2518;
- goto yy87;
+ if (yych == 'p') goto yy2493;
+ goto yy11;
yy2414:
yych = *++cursor_;
- if (yych == 'b') goto yy2519;
- goto yy87;
+ if (yych == '_') goto yy2494;
+ goto yy11;
yy2415:
yych = *++cursor_;
- if (yych == 'h') goto yy2520;
- goto yy87;
+ if (yych == 'b') goto yy2495;
+ goto yy11;
yy2416:
yych = *++cursor_;
- if (yych == 'r') goto yy2521;
- goto yy87;
+ if (yych == 'h') goto yy2496;
+ goto yy11;
yy2417:
yych = *++cursor_;
- if (yych == '_') goto yy2522;
- goto yy87;
+ if (yych == 'r') goto yy2497;
+ goto yy11;
yy2418:
yych = *++cursor_;
- if (yych == '_') goto yy2523;
- goto yy87;
+ if (yych == 'd') goto yy2498;
+ goto yy11;
yy2419:
yych = *++cursor_;
- if (yych == 'x') goto yy2524;
- goto yy87;
+ if (yych == 'd') goto yy2499;
+ goto yy11;
yy2420:
yych = *++cursor_;
- if (yych == 'u') goto yy2525;
- goto yy87;
+ if (yych == 'p') goto yy2500;
+ goto yy11;
yy2421:
yych = *++cursor_;
- if (yych == '_') goto yy2527;
- goto yy87;
+ if (yych == '_') goto yy2501;
+ goto yy11;
yy2422:
yych = *++cursor_;
- if (yych == 'g') goto yy2528;
- goto yy87;
+ if (yych == 'b') goto yy2502;
+ goto yy11;
yy2423:
yych = *++cursor_;
- if (yych == '_') goto yy2529;
- goto yy87;
+ if (yych == 'h') goto yy2503;
+ goto yy11;
yy2424:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 698 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32ReinterpretF32); }
-#line 12300 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2504;
+ goto yy11;
+yy2425:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2505;
+ goto yy11;
yy2426:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 443 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32ReinterpretF32); }
-#line 12308 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2506;
+ goto yy11;
+yy2427:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2507;
+ goto yy11;
yy2428:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 701 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF32S); }
-#line 12316 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2508;
+ goto yy11;
+yy2429:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2510;
+ goto yy11;
yy2430:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 703 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF64S); }
-#line 12324 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2511;
+ goto yy11;
+yy2431:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2512;
+ goto yy11;
yy2432:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 424 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF32S); }
-#line 12332 "src/prebuilt/wast-lexer-gen.cc"
+#line 707 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+#line 12020 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2434:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 428 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF32U); }
-#line 12340 "src/prebuilt/wast-lexer-gen.cc"
+#line 446 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+#line 12028 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2436:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 426 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF64S); }
-#line 12348 "src/prebuilt/wast-lexer-gen.cc"
+#line 709 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+#line 12036 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2438:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 430 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF64U); }
-#line 12356 "src/prebuilt/wast-lexer-gen.cc"
+#line 711 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+#line 12044 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2440:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 705 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF32U); }
-#line 12364 "src/prebuilt/wast-lexer-gen.cc"
+#line 426 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+#line 12052 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2442:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 707 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSatF64U); }
-#line 12372 "src/prebuilt/wast-lexer-gen.cc"
+#line 430 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+#line 12060 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2444:
yych = *++cursor_;
- if (yych == 'x') goto yy2530;
- goto yy87;
-yy2445:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 468 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
-#line 12384 "src/prebuilt/wast-lexer-gen.cc"
-yy2447:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 428 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+#line 12068 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2446:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 469 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
-#line 12392 "src/prebuilt/wast-lexer-gen.cc"
-yy2449:
+#line 432 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+#line 12076 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2448:
yych = *++cursor_;
- if (yych == 'c') goto yy2531;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 713 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+#line 12084 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2450:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 513 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
-#line 12404 "src/prebuilt/wast-lexer-gen.cc"
+#line 715 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+#line 12092 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2452:
yych = *++cursor_;
- if (yych == 'd') goto yy2532;
- goto yy87;
+ if (yych == 'x') goto yy2513;
+ goto yy11;
yy2453:
yych = *++cursor_;
- if (yych == 'd') goto yy2533;
- goto yy87;
+ if (yych == 's') goto yy2514;
+ if (yych == 'u') goto yy2516;
+ goto yy11;
yy2454:
yych = *++cursor_;
- if (yych == 'p') goto yy2534;
- goto yy87;
+ if (yych == 's') goto yy2518;
+ if (yych == 'u') goto yy2520;
+ goto yy11;
yy2455:
yych = *++cursor_;
- if (yych == '_') goto yy2535;
- goto yy87;
+ if (yych == 's') goto yy2522;
+ if (yych == 'u') goto yy2524;
+ goto yy11;
yy2456:
yych = *++cursor_;
- if (yych == 'b') goto yy2536;
- goto yy87;
+ if (yych == 't') goto yy2526;
+ goto yy11;
yy2457:
yych = *++cursor_;
- if (yych == 'h') goto yy2537;
- goto yy87;
+ if (yych == 'e') goto yy2528;
+ goto yy11;
yy2458:
yych = *++cursor_;
- if (yych == 'r') goto yy2538;
- goto yy87;
+ if (yych == 'c') goto yy2529;
+ goto yy11;
yy2459:
yych = *++cursor_;
- if (yych == 'd') goto yy2539;
- goto yy87;
+ if (yych == 's') goto yy2530;
+ if (yych == 'u') goto yy2532;
+ goto yy11;
yy2460:
yych = *++cursor_;
- if (yych == 'd') goto yy2540;
- goto yy87;
+ if (yych == 's') goto yy2534;
+ if (yych == 'u') goto yy2536;
+ goto yy11;
yy2461:
yych = *++cursor_;
- if (yych == 'p') goto yy2541;
- goto yy87;
-yy2462:
- yych = *++cursor_;
- if (yych == '_') goto yy2542;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 574 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8AddSaturateS); }
+#line 12141 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2463:
yych = *++cursor_;
- if (yych == 'b') goto yy2543;
- goto yy87;
-yy2464:
- yych = *++cursor_;
- if (yych == 'h') goto yy2544;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 575 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8AddSaturateU); }
+#line 12149 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2465:
yych = *++cursor_;
- if (yych == 'r') goto yy2545;
- goto yy87;
-yy2466:
- yych = *++cursor_;
- if (yych == '_') goto yy2546;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 544 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
+#line 12157 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2467:
yych = *++cursor_;
- if (yych == '_') goto yy2547;
- goto yy87;
-yy2468:
- yych = *++cursor_;
- if (yych == 'x') goto yy2548;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 545 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
+#line 12165 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2469:
yych = *++cursor_;
- if (yych == 'u') goto yy2549;
- goto yy87;
-yy2470:
- yych = *++cursor_;
- if (yych == '_') goto yy2551;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 578 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8SubSaturateS); }
+#line 12173 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2471:
yych = *++cursor_;
- if (yych == 'g') goto yy2552;
- goto yy87;
-yy2472:
- yych = *++cursor_;
- if (yych == '_') goto yy2553;
- goto yy87;
-yy2473:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 700 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ReinterpretF64); }
-#line 12496 "src/prebuilt/wast-lexer-gen.cc"
+#line 579 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8SubSaturateU); }
+#line 12181 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2473:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2538;
+ goto yy11;
+yy2474:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2539;
+ goto yy11;
yy2475:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 445 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ReinterpretF64); }
-#line 12504 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2540;
+ goto yy11;
+yy2476:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2541;
+ goto yy11;
yy2477:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 702 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF32S); }
-#line 12512 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2542;
+ goto yy11;
+yy2478:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2544;
+ goto yy11;
yy2479:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 704 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF64S); }
-#line 12520 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2545;
+ goto yy11;
+yy2480:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2546;
+ goto yy11;
yy2481:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 425 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF32S); }
-#line 12528 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2547;
+ goto yy11;
+yy2482:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2549;
+ goto yy11;
yy2483:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 429 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF32U); }
-#line 12536 "src/prebuilt/wast-lexer-gen.cc"
-yy2485:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2551;
+ goto yy11;
+yy2484:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 427 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF64S); }
-#line 12544 "src/prebuilt/wast-lexer-gen.cc"
+#line 507 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); }
+#line 12233 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2486:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2552;
+ goto yy11;
yy2487:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 431 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF64U); }
-#line 12552 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2554;
+ goto yy11;
+yy2488:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2555;
+ goto yy11;
yy2489:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 706 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF32U); }
-#line 12560 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '4') goto yy2557;
+ goto yy11;
+yy2490:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2558;
+ goto yy11;
yy2491:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 708 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSatF64U); }
-#line 12568 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2559;
+ goto yy11;
+yy2492:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2560;
+ goto yy11;
yy2493:
yych = *++cursor_;
- if (yych == 'x') goto yy2554;
- goto yy87;
+ if (yych == 'x') goto yy2561;
+ goto yy11;
yy2494:
yych = *++cursor_;
- if (yych == 's') goto yy2555;
- if (yych == 'u') goto yy2557;
- goto yy87;
+ if (yych == 'u') goto yy2562;
+ goto yy11;
yy2495:
yych = *++cursor_;
- if (yych == 's') goto yy2559;
- if (yych == 'u') goto yy2561;
- goto yy87;
+ if (yych == '_') goto yy2564;
+ goto yy11;
yy2496:
yych = *++cursor_;
- if (yych == 's') goto yy2563;
- if (yych == 'u') goto yy2565;
- goto yy87;
+ if (yych == 'g') goto yy2565;
+ goto yy11;
yy2497:
yych = *++cursor_;
- if (yych == 't') goto yy2567;
- goto yy87;
+ if (yych == '_') goto yy2566;
+ goto yy11;
yy2498:
yych = *++cursor_;
- if (yych == 'e') goto yy2569;
- goto yy87;
+ if (yych == '_') goto yy2567;
+ goto yy11;
yy2499:
yych = *++cursor_;
- if (yych == 'c') goto yy2570;
- goto yy87;
+ if (yych == '_') goto yy2568;
+ goto yy11;
yy2500:
yych = *++cursor_;
- if (yych == 's') goto yy2571;
- if (yych == 'u') goto yy2573;
- goto yy87;
+ if (yych == 'x') goto yy2569;
+ goto yy11;
yy2501:
yych = *++cursor_;
- if (yych == 's') goto yy2575;
- if (yych == 'u') goto yy2577;
- goto yy87;
+ if (yych == 'u') goto yy2570;
+ goto yy11;
yy2502:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 567 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8AddSaturateS); }
-#line 12617 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2572;
+ goto yy11;
+yy2503:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2573;
+ goto yy11;
yy2504:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 568 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8AddSaturateU); }
-#line 12625 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2574;
+ goto yy11;
+yy2505:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2575;
+ goto yy11;
yy2506:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 537 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
-#line 12633 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2577;
+ goto yy11;
+yy2507:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2579;
+ goto yy11;
yy2508:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 538 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
-#line 12641 "src/prebuilt/wast-lexer-gen.cc"
+#line 509 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); }
+#line 12329 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2510:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 571 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8SubSaturateS); }
-#line 12649 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2580;
+ goto yy11;
+yy2511:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2582;
+ goto yy11;
yy2512:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 572 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8SubSaturateU); }
-#line 12657 "src/prebuilt/wast-lexer-gen.cc"
-yy2514:
yych = *++cursor_;
- if (yych == 'h') goto yy2579;
- goto yy87;
-yy2515:
+ if (yych == 'u') goto yy2583;
+ goto yy11;
+yy2513:
yych = *++cursor_;
- if (yych == '_') goto yy2580;
- goto yy87;
-yy2516:
+ if (yych == '2') goto yy2585;
+ goto yy11;
+yy2514:
yych = *++cursor_;
- if (yych == '_') goto yy2581;
- goto yy87;
-yy2517:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 572 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16AddSaturateS); }
+#line 12353 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2516:
yych = *++cursor_;
- if (yych == 'x') goto yy2582;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 573 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16AddSaturateU); }
+#line 12361 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2518:
yych = *++cursor_;
- if (yych == 'u') goto yy2583;
- goto yy87;
-yy2519:
- yych = *++cursor_;
- if (yych == '_') goto yy2585;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 542 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
+#line 12369 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2520:
yych = *++cursor_;
- if (yych == 'g') goto yy2586;
- goto yy87;
-yy2521:
- yych = *++cursor_;
- if (yych == '_') goto yy2587;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 543 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
+#line 12377 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2522:
yych = *++cursor_;
- if (yych == 'u') goto yy2588;
- goto yy87;
-yy2523:
- yych = *++cursor_;
- if (yych == 'u') goto yy2590;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 576 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
+#line 12385 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2524:
yych = *++cursor_;
- if (yych == 'c') goto yy2592;
- goto yy87;
-yy2525:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 500 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); }
-#line 12709 "src/prebuilt/wast-lexer-gen.cc"
-yy2527:
+#line 577 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16SubSaturateU); }
+#line 12393 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2526:
yych = *++cursor_;
- if (yych == 'u') goto yy2593;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 674 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE0(ReturnCallIndirect); }
+#line 12401 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2528:
yych = *++cursor_;
- if (yych == '_') goto yy2595;
- goto yy87;
+ if (yych == 't') goto yy2586;
+ goto yy11;
yy2529:
yych = *++cursor_;
- if (yych == 'u') goto yy2596;
- goto yy87;
+ if (yych == 'a') goto yy2587;
+ goto yy11;
yy2530:
yych = *++cursor_;
- if (yych == '4') goto yy2598;
- goto yy87;
-yy2531:
- yych = *++cursor_;
- if (yych == 'h') goto yy2599;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 665 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); }
+#line 12417 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2532:
yych = *++cursor_;
- if (yych == '_') goto yy2600;
- goto yy87;
-yy2533:
- yych = *++cursor_;
- if (yych == '_') goto yy2601;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 666 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); }
+#line 12425 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2534:
yych = *++cursor_;
- if (yych == 'x') goto yy2602;
- goto yy87;
-yy2535:
- yych = *++cursor_;
- if (yych == 'u') goto yy2603;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 667 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); }
+#line 12433 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2536:
yych = *++cursor_;
- if (yych == '_') goto yy2605;
- goto yy87;
-yy2537:
- yych = *++cursor_;
- if (yych == 'g') goto yy2606;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 668 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); }
+#line 12441 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2538:
yych = *++cursor_;
- if (yych == '_') goto yy2607;
- goto yy87;
+ if (yych == 'g') goto yy2588;
+ goto yy11;
yy2539:
yych = *++cursor_;
- if (yych == '_') goto yy2608;
- goto yy87;
+ if (yych == 'u') goto yy2590;
+ goto yy11;
yy2540:
yych = *++cursor_;
- if (yych == '_') goto yy2609;
- goto yy87;
+ if (yych == 'u') goto yy2592;
+ goto yy11;
yy2541:
yych = *++cursor_;
- if (yych == 'x') goto yy2610;
- goto yy87;
+ if (yych == 'c') goto yy2594;
+ goto yy11;
yy2542:
yych = *++cursor_;
- if (yych == 'u') goto yy2611;
- goto yy87;
-yy2543:
- yych = *++cursor_;
- if (yych == '_') goto yy2613;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 508 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); }
+#line 12465 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2544:
yych = *++cursor_;
- if (yych == 'g') goto yy2614;
- goto yy87;
+ if (yych == 'u') goto yy2595;
+ goto yy11;
yy2545:
yych = *++cursor_;
- if (yych == '_') goto yy2615;
- goto yy87;
+ if (yych == '_') goto yy2597;
+ goto yy11;
yy2546:
yych = *++cursor_;
- if (yych == 'u') goto yy2616;
- goto yy87;
+ if (yych == 'u') goto yy2598;
+ goto yy11;
yy2547:
yych = *++cursor_;
- if (yych == 'u') goto yy2618;
- goto yy87;
-yy2548:
- yych = *++cursor_;
- if (yych == 'c') goto yy2620;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 486 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); }
+#line 12485 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2549:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 502 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); }
-#line 12805 "src/prebuilt/wast-lexer-gen.cc"
+#line 500 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); }
+#line 12493 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2551:
yych = *++cursor_;
- if (yych == 'u') goto yy2621;
- goto yy87;
+ if (yych == 'h') goto yy2600;
+ goto yy11;
yy2552:
yych = *++cursor_;
- if (yych == '_') goto yy2623;
- goto yy87;
-yy2553:
- yych = *++cursor_;
- if (yych == 'u') goto yy2624;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 493 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); }
+#line 12505 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2554:
yych = *++cursor_;
- if (yych == '2') goto yy2626;
- goto yy87;
+ if (yych == 'u') goto yy2601;
+ goto yy11;
yy2555:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 565 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16AddSaturateS); }
-#line 12829 "src/prebuilt/wast-lexer-gen.cc"
+#line 514 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); }
+#line 12517 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2557:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 566 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16AddSaturateU); }
-#line 12837 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2603;
+ goto yy11;
+yy2558:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2604;
+ goto yy11;
yy2559:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 535 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
-#line 12845 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2606;
+ goto yy11;
+yy2560:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2608;
+ goto yy11;
yy2561:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 536 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
-#line 12853 "src/prebuilt/wast-lexer-gen.cc"
-yy2563:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2610;
+ goto yy11;
+yy2562:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 569 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
-#line 12861 "src/prebuilt/wast-lexer-gen.cc"
+#line 510 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); }
+#line 12545 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2564:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2611;
+ goto yy11;
yy2565:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 570 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16SubSaturateU); }
-#line 12869 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2613;
+ goto yy11;
+yy2566:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2614;
+ goto yy11;
yy2567:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 667 "src/wast-lexer.cc"
- { RETURN_OPCODE0(ReturnCallIndirect); }
-#line 12877 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2616;
+ goto yy11;
+yy2568:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2618;
+ goto yy11;
yy2569:
yych = *++cursor_;
- if (yych == 't') goto yy2627;
- goto yy87;
+ if (yych == 'c') goto yy2620;
+ goto yy11;
yy2570:
yych = *++cursor_;
- if (yych == 'a') goto yy2628;
- goto yy87;
-yy2571:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 658 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); }
-#line 12893 "src/prebuilt/wast-lexer-gen.cc"
+#line 511 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); }
+#line 12577 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2572:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2621;
+ goto yy11;
yy2573:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 659 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); }
-#line 12901 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2623;
+ goto yy11;
+yy2574:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2624;
+ goto yy11;
yy2575:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 660 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); }
-#line 12909 "src/prebuilt/wast-lexer-gen.cc"
+#line 488 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); }
+#line 12597 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2577:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 661 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); }
-#line 12917 "src/prebuilt/wast-lexer-gen.cc"
+#line 502 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); }
+#line 12605 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2579:
yych = *++cursor_;
- if (yych == 'g') goto yy2629;
- goto yy87;
+ if (yych == 'h') goto yy2626;
+ goto yy11;
yy2580:
yych = *++cursor_;
- if (yych == 'u') goto yy2631;
- goto yy87;
-yy2581:
- yych = *++cursor_;
- if (yych == 'u') goto yy2633;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 495 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); }
+#line 12617 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2582:
yych = *++cursor_;
- if (yych == 'c') goto yy2635;
- goto yy87;
+ if (yych == 'u') goto yy2627;
+ goto yy11;
yy2583:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 501 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); }
-#line 12941 "src/prebuilt/wast-lexer-gen.cc"
+#line 516 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); }
+#line 12629 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2585:
yych = *++cursor_;
- if (yych == 'u') goto yy2636;
- goto yy87;
+ if (yych == '_') goto yy2629;
+ goto yy11;
yy2586:
yych = *++cursor_;
- if (yych == '_') goto yy2638;
- goto yy87;
+ if (yych == 'i') goto yy2630;
+ goto yy11;
yy2587:
yych = *++cursor_;
- if (yych == 'u') goto yy2639;
- goto yy87;
+ if (yych == 'l') goto yy2631;
+ goto yy11;
yy2588:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 479 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); }
-#line 12961 "src/prebuilt/wast-lexer-gen.cc"
+#line 526 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
+#line 12649 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2590:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 493 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); }
-#line 12969 "src/prebuilt/wast-lexer-gen.cc"
+#line 487 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); }
+#line 12657 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2592:
yych = *++cursor_;
- if (yych == 'h') goto yy2641;
- goto yy87;
-yy2593:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 486 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); }
-#line 12981 "src/prebuilt/wast-lexer-gen.cc"
+#line 501 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); }
+#line 12665 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2594:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2632;
+ goto yy11;
yy2595:
yych = *++cursor_;
- if (yych == 'u') goto yy2642;
- goto yy87;
-yy2596:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 507 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); }
-#line 12993 "src/prebuilt/wast-lexer-gen.cc"
-yy2598:
+#line 494 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); }
+#line 12677 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2597:
yych = *++cursor_;
- if (yych == '_') goto yy2644;
- goto yy87;
-yy2599:
+ if (yych == 'u') goto yy2633;
+ goto yy11;
+yy2598:
yych = *++cursor_;
- if (yych == 'g') goto yy2645;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 515 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); }
+#line 12689 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2600:
yych = *++cursor_;
- if (yych == 'u') goto yy2647;
- goto yy87;
+ if (yych == 'g') goto yy2635;
+ goto yy11;
yy2601:
yych = *++cursor_;
- if (yych == 'u') goto yy2649;
- goto yy87;
-yy2602:
- yych = *++cursor_;
- if (yych == 'c') goto yy2651;
- goto yy87;
-yy2603:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 503 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); }
-#line 13021 "src/prebuilt/wast-lexer-gen.cc"
-yy2605:
+#line 521 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); }
+#line 12701 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2603:
yych = *++cursor_;
- if (yych == 'u') goto yy2652;
- goto yy87;
-yy2606:
+ if (yych == 's') goto yy2636;
+ if (yych == 'u') goto yy2638;
+ goto yy11;
+yy2604:
yych = *++cursor_;
- if (yych == '_') goto yy2654;
- goto yy87;
-yy2607:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 527 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
+#line 12714 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2606:
yych = *++cursor_;
- if (yych == 'u') goto yy2655;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 489 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); }
+#line 12722 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2608:
yych = *++cursor_;
- if (yych == 'u') goto yy2657;
- goto yy87;
-yy2609:
- yych = *++cursor_;
- if (yych == 'u') goto yy2659;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 503 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); }
+#line 12730 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2610:
yych = *++cursor_;
- if (yych == 'c') goto yy2661;
- goto yy87;
+ if (yych == 'h') goto yy2640;
+ goto yy11;
yy2611:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 504 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); }
-#line 13053 "src/prebuilt/wast-lexer-gen.cc"
+#line 496 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); }
+#line 12742 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2613:
yych = *++cursor_;
- if (yych == 'u') goto yy2662;
- goto yy87;
+ if (yych == 'u') goto yy2641;
+ goto yy11;
yy2614:
yych = *++cursor_;
- if (yych == '_') goto yy2664;
- goto yy87;
-yy2615:
- yych = *++cursor_;
- if (yych == 'u') goto yy2665;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 517 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); }
+#line 12754 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2616:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 481 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); }
-#line 13073 "src/prebuilt/wast-lexer-gen.cc"
+#line 490 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); }
+#line 12762 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2618:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 495 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); }
-#line 13081 "src/prebuilt/wast-lexer-gen.cc"
+#line 504 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); }
+#line 12770 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2620:
yych = *++cursor_;
- if (yych == 'h') goto yy2667;
- goto yy87;
+ if (yych == 'h') goto yy2643;
+ goto yy11;
yy2621:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 488 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); }
-#line 13093 "src/prebuilt/wast-lexer-gen.cc"
+#line 497 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); }
+#line 12782 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2623:
yych = *++cursor_;
- if (yych == 'u') goto yy2668;
- goto yy87;
+ if (yych == 'u') goto yy2644;
+ goto yy11;
yy2624:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 509 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); }
-#line 13105 "src/prebuilt/wast-lexer-gen.cc"
+#line 518 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); }
+#line 12794 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2626:
yych = *++cursor_;
- if (yych == '_') goto yy2670;
- goto yy87;
+ if (yych == 'g') goto yy2646;
+ goto yy11;
yy2627:
yych = *++cursor_;
- if (yych == 'i') goto yy2671;
- goto yy87;
-yy2628:
- yych = *++cursor_;
- if (yych == 'l') goto yy2672;
- goto yy87;
-yy2629:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 519 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
-#line 13125 "src/prebuilt/wast-lexer-gen.cc"
+#line 523 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); }
+#line 12806 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2629:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2647;
+ if (yych == 'u') goto yy2649;
+ goto yy11;
+yy2630:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2651;
+ goto yy11;
yy2631:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 480 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); }
-#line 13133 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2652;
+ goto yy11;
+yy2632:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2653;
+ goto yy11;
yy2633:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 494 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); }
-#line 13141 "src/prebuilt/wast-lexer-gen.cc"
+#line 522 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); }
+#line 12831 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2635:
yych = *++cursor_;
- if (yych == 'h') goto yy2673;
- goto yy87;
+ if (yych == '_') goto yy2654;
+ goto yy11;
yy2636:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 487 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); }
-#line 13153 "src/prebuilt/wast-lexer-gen.cc"
+#line 669 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); }
+#line 12843 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2638:
yych = *++cursor_;
- if (yych == 'u') goto yy2674;
- goto yy87;
-yy2639:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 508 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); }
-#line 13165 "src/prebuilt/wast-lexer-gen.cc"
+#line 670 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); }
+#line 12851 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2640:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2655;
+ goto yy11;
yy2641:
yych = *++cursor_;
- if (yych == 'g') goto yy2676;
- goto yy87;
-yy2642:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 514 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); }
-#line 13177 "src/prebuilt/wast-lexer-gen.cc"
+#line 524 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); }
+#line 12863 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2643:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2656;
+ goto yy11;
yy2644:
yych = *++cursor_;
- if (yych == 's') goto yy2677;
- if (yych == 'u') goto yy2679;
- goto yy87;
-yy2645:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 520 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
-#line 13190 "src/prebuilt/wast-lexer-gen.cc"
+#line 525 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); }
+#line 12875 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2646:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2657;
+ goto yy11;
yy2647:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 482 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); }
-#line 13198 "src/prebuilt/wast-lexer-gen.cc"
+#line 671 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); }
+#line 12887 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2649:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 496 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); }
-#line 13206 "src/prebuilt/wast-lexer-gen.cc"
+#line 672 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); }
+#line 12895 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2651:
yych = *++cursor_;
- if (yych == 'h') goto yy2681;
- goto yy87;
+ if (yych == '_') goto yy2658;
+ goto yy11;
yy2652:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 489 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); }
-#line 13218 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2659;
+ goto yy11;
+yy2653:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2660;
+ goto yy11;
yy2654:
yych = *++cursor_;
- if (yych == 'u') goto yy2682;
- goto yy87;
+ if (yych == 'u') goto yy2661;
+ goto yy11;
yy2655:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 510 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); }
-#line 13230 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2663;
+ goto yy11;
+yy2656:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2664;
+ goto yy11;
yy2657:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 483 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); }
-#line 13238 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2665;
+ goto yy11;
+yy2658:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2667;
+ goto yy11;
yy2659:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 497 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); }
-#line 13246 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2668;
+ goto yy11;
+yy2660:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2669;
+ goto yy11;
yy2661:
yych = *++cursor_;
- if (yych == 'h') goto yy2684;
- goto yy87;
-yy2662:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 490 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); }
-#line 13258 "src/prebuilt/wast-lexer-gen.cc"
+#line 528 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); }
+#line 12943 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2663:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2671;
+ goto yy11;
yy2664:
yych = *++cursor_;
- if (yych == 'u') goto yy2685;
- goto yy87;
+ if (yych == 'u') goto yy2673;
+ goto yy11;
yy2665:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 511 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); }
-#line 13270 "src/prebuilt/wast-lexer-gen.cc"
+#line 530 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); }
+#line 12959 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2667:
yych = *++cursor_;
- if (yych == 'g') goto yy2687;
- goto yy87;
+ if (yych == 'a') goto yy2675;
+ goto yy11;
yy2668:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 516 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); }
-#line 13282 "src/prebuilt/wast-lexer-gen.cc"
-yy2670:
yych = *++cursor_;
- if (yych == 's') goto yy2688;
- if (yych == 'u') goto yy2690;
- goto yy87;
-yy2671:
+ if (yych == 'n') goto yy2676;
+ goto yy11;
+yy2669:
yych = *++cursor_;
- if (yych == 'c') goto yy2692;
- goto yy87;
-yy2672:
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 529 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); }
+#line 12975 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2671:
yych = *++cursor_;
- if (yych == '_') goto yy2693;
- goto yy87;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 531 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); }
+#line 12983 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2673:
yych = *++cursor_;
- if (yych == 'g') goto yy2694;
- goto yy87;
-yy2674:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 515 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); }
-#line 13307 "src/prebuilt/wast-lexer-gen.cc"
+#line 532 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); }
+#line 12991 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2675:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2678;
+ goto yy11;
yy2676:
yych = *++cursor_;
- if (yych == '_') goto yy2695;
- goto yy87;
-yy2677:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 662 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); }
-#line 13319 "src/prebuilt/wast-lexer-gen.cc"
-yy2679:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 663 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); }
-#line 13327 "src/prebuilt/wast-lexer-gen.cc"
-yy2681:
+#line 743 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertReturnCanonicalNan); }
+#line 13003 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2678:
yych = *++cursor_;
- if (yych == 'g') goto yy2696;
- goto yy87;
-yy2682:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
}
-#line 517 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); }
-#line 13339 "src/prebuilt/wast-lexer-gen.cc"
-yy2684:
- yych = *++cursor_;
- if (yych == 'g') goto yy2697;
- goto yy87;
-yy2685:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+#line 744 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN(AssertReturnArithmeticNan); }
+#line 13011 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+ }
+/* *********************************** */
+YYCOND_BAD_TEXT:
+ if ((limit_ - cursor_) < 5) FILL(5);
+ yych = *cursor_;
+ if (yych <= 0x7F) {
+ if (yych <= '!') {
+ if (yych == '\n') goto yy2684;
+ if (yych >= ' ') goto yy2686;
+ } else {
+ if (yych <= '"') goto yy2688;
+ if (yych == '\\') goto yy2690;
+ goto yy2686;
}
-#line 518 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); }
-#line 13351 "src/prebuilt/wast-lexer-gen.cc"
-yy2687:
- yych = *++cursor_;
- if (yych == '_') goto yy2698;
- goto yy87;
-yy2688:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy2691;
+ if (yych <= 0xDF) goto yy2693;
+ if (yych <= 0xE0) goto yy2694;
+ goto yy2695;
+ } else {
+ if (yych <= 0xF0) goto yy2696;
+ if (yych <= 0xF3) goto yy2697;
+ if (yych <= 0xF4) goto yy2698;
+ goto yy2691;
}
-#line 664 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); }
-#line 13363 "src/prebuilt/wast-lexer-gen.cc"
+ }
+ ++cursor_;
+yy2683:
+#line 252 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { ERROR("illegal character in string");
+ continue; }
+#line 13044 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2684:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 245 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { ERROR("newline in string");
+ NEWLINE;
+ continue; }
+#line 13052 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2686:
+ ++cursor_;
+#line 244 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { continue; }
+#line 13057 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2688:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 251 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { RETURN_TEXT(Text); }
+#line 13063 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2690:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yyaccept = 0;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 'f') {
+ if (yych <= '/') {
+ if (yych <= '!') {
+ if (yych == '\n') goto yy2683;
+ goto yy2699;
+ } else {
+ if (yych <= '"') goto yy2686;
+ if (yych == '\'') goto yy2686;
+ goto yy2699;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '9') goto yy2701;
+ if (yych <= '@') goto yy2699;
+ goto yy2701;
+ } else {
+ if (yych == '\\') goto yy2686;
+ if (yych <= '`') goto yy2699;
+ goto yy2701;
+ }
}
-#line 665 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); }
-#line 13371 "src/prebuilt/wast-lexer-gen.cc"
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= 'q') {
+ if (yych == 'n') goto yy2686;
+ goto yy2699;
+ } else {
+ if (yych == 's') goto yy2699;
+ if (yych <= 't') goto yy2686;
+ goto yy2699;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy2683;
+ if (yych <= 0xDF) goto yy2702;
+ if (yych <= 0xE0) goto yy2704;
+ goto yy2705;
+ } else {
+ if (yych <= 0xF0) goto yy2706;
+ if (yych <= 0xF3) goto yy2707;
+ if (yych <= 0xF4) goto yy2708;
+ goto yy2683;
+ }
+ }
+ }
+yy2691:
+ ++cursor_;
yy2692:
- yych = *++cursor_;
- if (yych == '_') goto yy2699;
- goto yy87;
+#line 254 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(" in string"); }
+#line 13117 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2693:
- yych = *++cursor_;
- if (yych == 'n') goto yy2700;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2692;
+ if (yych <= 0xBF) goto yy2686;
+ goto yy2692;
yy2694:
- yych = *++cursor_;
- if (yych == '_') goto yy2701;
- goto yy87;
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy2692;
+ if (yych <= 0xBF) goto yy2709;
+ goto yy2692;
yy2695:
- yych = *++cursor_;
- if (yych == 'u') goto yy2702;
- goto yy87;
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2692;
+ if (yych <= 0xBF) goto yy2709;
+ goto yy2692;
yy2696:
- yych = *++cursor_;
- if (yych == '_') goto yy2704;
- goto yy87;
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy2692;
+ if (yych <= 0xBF) goto yy2710;
+ goto yy2692;
yy2697:
- yych = *++cursor_;
- if (yych == '_') goto yy2705;
- goto yy87;
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2692;
+ if (yych <= 0xBF) goto yy2710;
+ goto yy2692;
yy2698:
- yych = *++cursor_;
- if (yych == 'u') goto yy2706;
- goto yy87;
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2692;
+ if (yych <= 0x8F) goto yy2710;
+ goto yy2692;
yy2699:
- yych = *++cursor_;
- if (yych == 'n') goto yy2708;
- goto yy87;
+ ++cursor_;
yy2700:
- yych = *++cursor_;
- if (yych == 'a') goto yy2709;
- goto yy87;
+#line 248 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { ERROR("bad escape \"%.*s\"",
+ static_cast<int>(yyleng), yytext);
+ continue; }
+#line 13160 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2701:
- yych = *++cursor_;
- if (yych == 'u') goto yy2710;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy2700;
+ if (yych <= '9') goto yy2686;
+ goto yy2700;
+ } else {
+ if (yych <= 'F') goto yy2686;
+ if (yych <= '`') goto yy2700;
+ if (yych <= 'f') goto yy2686;
+ goto yy2700;
+ }
yy2702:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 521 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); }
-#line 13419 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0xBF) goto yy2699;
+yy2703:
+ cursor_ = marker_;
+ if (yyaccept == 0) {
+ goto yy2683;
+ } else {
+ goto yy2692;
+ }
yy2704:
- yych = *++cursor_;
- if (yych == 'u') goto yy2712;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= 0x9F) goto yy2703;
+ if (yych <= 0xBF) goto yy2702;
+ goto yy2703;
yy2705:
- yych = *++cursor_;
- if (yych == 'u') goto yy2714;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0xBF) goto yy2702;
+ goto yy2703;
yy2706:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 523 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); }
-#line 13435 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych <= 0x8F) goto yy2703;
+ if (yych <= 0xBF) goto yy2705;
+ goto yy2703;
+yy2707:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0xBF) goto yy2705;
+ goto yy2703;
yy2708:
- yych = *++cursor_;
- if (yych == 'a') goto yy2716;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0x8F) goto yy2705;
+ goto yy2703;
yy2709:
- yych = *++cursor_;
- if (yych == 'n') goto yy2717;
- goto yy87;
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0xBF) goto yy2686;
+ goto yy2703;
yy2710:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2703;
+ if (yych <= 0xBF) goto yy2709;
+ goto yy2703;
+/* *********************************** */
+YYCOND_LINE_COMMENT:
+ {
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((limit_ - cursor_) < 2) FILL(2);
+ yych = *cursor_;
+ if (yybm[0+yych] & 128) {
+ goto yy2713;
}
-#line 522 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); }
-#line 13451 "src/prebuilt/wast-lexer-gen.cc"
-yy2712:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (yych <= 0xE0) {
+ if (yych <= '\n') goto yy2716;
+ if (yych <= 0xC1) goto yy2718;
+ if (yych <= 0xDF) goto yy2720;
+ goto yy2721;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF) goto yy2722;
+ goto yy2723;
+ } else {
+ if (yych <= 0xF3) goto yy2724;
+ if (yych <= 0xF4) goto yy2725;
+ goto yy2718;
+ }
}
-#line 524 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); }
-#line 13459 "src/prebuilt/wast-lexer-gen.cc"
-yy2714:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+yy2713:
+ yyaccept = 0;
+ marker_ = ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yybm[0+yych] & 128) {
+ goto yy2713;
}
-#line 525 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); }
-#line 13467 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy2715;
+ if (yych <= 0xDF) goto yy2726;
+ if (yych <= 0xE0) goto yy2728;
+ goto yy2729;
+ } else {
+ if (yych <= 0xF0) goto yy2730;
+ if (yych <= 0xF3) goto yy2731;
+ if (yych <= 0xF4) goto yy2732;
+ }
+yy2715:
+#line 757 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { continue; }
+#line 13297 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
yy2716:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 756 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { NEWLINE; continue; }
+#line 13303 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2718:
+ ++cursor_;
+yy2719:
+#line 771 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(""); }
+#line 13309 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2720:
yych = *++cursor_;
- if (yych == 'n') goto yy2719;
- goto yy87;
-yy2717:
+ if (yych <= 0x7F) goto yy2719;
+ if (yych <= 0xBF) goto yy2713;
+ goto yy2719;
+yy2721:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy2719;
+ if (yych <= 0xBF) goto yy2726;
+ goto yy2719;
+yy2722:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2719;
+ if (yych <= 0xBF) goto yy2726;
+ goto yy2719;
+yy2723:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy2719;
+ if (yych <= 0xBF) goto yy2729;
+ goto yy2719;
+yy2724:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2719;
+ if (yych <= 0xBF) goto yy2729;
+ goto yy2719;
+yy2725:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2719;
+ if (yych <= 0x8F) goto yy2729;
+ goto yy2719;
+yy2726:
++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy2727;
+ if (yych <= 0xBF) goto yy2713;
+yy2727:
+ cursor_ = marker_;
+ if (yyaccept == 0) {
+ goto yy2715;
+ } else {
+ goto yy2719;
}
-#line 736 "src/wast-lexer.cc"
- { RETURN(AssertReturnCanonicalNan); }
-#line 13479 "src/prebuilt/wast-lexer-gen.cc"
-yy2719:
+yy2728:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x9F) goto yy2727;
+ if (yych <= 0xBF) goto yy2726;
+ goto yy2727;
+yy2729:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy2727;
+ if (yych <= 0xBF) goto yy2726;
+ goto yy2727;
+yy2730:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x8F) goto yy2727;
+ if (yych <= 0xBF) goto yy2729;
+ goto yy2727;
+yy2731:
++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy2727;
+ if (yych <= 0xBF) goto yy2729;
+ goto yy2727;
+yy2732:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy2727;
+ if (yych <= 0x8F) goto yy2729;
+ goto yy2727;
+ }
+/* *********************************** */
+YYCOND_BLOCK_COMMENT:
+ if ((limit_ - cursor_) < 4) FILL(4);
+ yych = *cursor_;
+ if (yych <= 0x7F) {
+ if (yych <= '\'') {
+ if (yych == '\n') goto yy2737;
+ } else {
+ if (yych <= '(') goto yy2739;
+ if (yych == ';') goto yy2740;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy2741;
+ if (yych <= 0xDF) goto yy2743;
+ if (yych <= 0xE0) goto yy2744;
+ goto yy2745;
+ } else {
+ if (yych <= 0xF0) goto yy2746;
+ if (yych <= 0xF3) goto yy2747;
+ if (yych <= 0xF4) goto yy2748;
+ goto yy2741;
}
-#line 737 "src/wast-lexer.cc"
- { RETURN(AssertReturnArithmeticNan); }
-#line 13487 "src/prebuilt/wast-lexer-gen.cc"
}
+yy2735:
+ ++cursor_;
+yy2736:
+#line 765 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { continue; }
+#line 13423 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2737:
+ ++cursor_;
+#line 764 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { NEWLINE; continue; }
+#line 13428 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2739:
+ yych = *++cursor_;
+ if (yych == ';') goto yy2749;
+ goto yy2736;
+yy2740:
+ yych = *++cursor_;
+ if (yych == ')') goto yy2751;
+ goto yy2736;
+yy2741:
+ ++cursor_;
+yy2742:
+#line 766 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(" in block comment"); }
+#line 13442 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2743:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2742;
+ if (yych <= 0xBF) goto yy2735;
+ goto yy2742;
+yy2744:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy2742;
+ if (yych <= 0xBF) goto yy2753;
+ goto yy2742;
+yy2745:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2742;
+ if (yych <= 0xBF) goto yy2753;
+ goto yy2742;
+yy2746:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy2742;
+ if (yych <= 0xBF) goto yy2755;
+ goto yy2742;
+yy2747:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2742;
+ if (yych <= 0xBF) goto yy2755;
+ goto yy2742;
+yy2748:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy2742;
+ if (yych <= 0x8F) goto yy2755;
+ goto yy2742;
+yy2749:
+ ++cursor_;
+#line 759 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { COMMENT_NESTING++; continue; }
+#line 13477 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2751:
+ ++cursor_;
+#line 760 "/home/alex/code/wabt/src/wast-lexer.cc"
+ { if (--COMMENT_NESTING == 0) {
+ BEGIN(YYCOND_i);
+ }
+ continue; }
+#line 13485 "/home/alex/code/wabt/build/wast-lexer-gen.cc"
+yy2753:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2754;
+ if (yych <= 0xBF) goto yy2735;
+yy2754:
+ cursor_ = marker_;
+ goto yy2742;
+yy2755:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy2754;
+ if (yych <= 0xBF) goto yy2753;
+ goto yy2754;
}
-#line 765 "src/wast-lexer.cc"
+#line 772 "/home/alex/code/wabt/src/wast-lexer.cc"
}
}
diff --git a/src/resolve-names.cc b/src/resolve-names.cc
index f963a0fc..568fb7fe 100644
--- a/src/resolve-names.cc
+++ b/src/resolve-names.cc
@@ -59,6 +59,10 @@ class NameResolver : public ExprVisitor::DelegateNop {
Result OnMemoryInitExpr(MemoryInitExpr*) override;
Result OnElemDropExpr(ElemDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
+ Result OnTableGetExpr(TableGetExpr*) override;
+ Result OnTableSetExpr(TableSetExpr*) override;
+ Result OnTableGrowExpr(TableGrowExpr*) override;
+ Result OnTableSizeExpr(TableSizeExpr*) override;
Result BeginTryExpr(TryExpr*) override;
Result EndTryExpr(TryExpr*) override;
Result OnThrowExpr(ThrowExpr*) override;
@@ -280,6 +284,7 @@ Result NameResolver::OnCallIndirectExpr(CallIndirectExpr* expr) {
if (expr->decl.has_func_type) {
ResolveFuncTypeVar(&expr->decl.type_var);
}
+ ResolveTableVar(&expr->table);
return Result::Ok;
}
@@ -292,6 +297,7 @@ Result NameResolver::OnReturnCallIndirectExpr(ReturnCallIndirectExpr* expr) {
if (expr->decl.has_func_type) {
ResolveFuncTypeVar(&expr->decl.type_var);
}
+ ResolveTableVar(&expr->table);
return Result::Ok;
}
@@ -351,6 +357,26 @@ Result NameResolver::OnTableInitExpr(TableInitExpr* expr) {
return Result::Ok;
}
+Result NameResolver::OnTableGetExpr(TableGetExpr* expr) {
+ ResolveTableVar(&expr->var);
+ return Result::Ok;
+}
+
+Result NameResolver::OnTableSetExpr(TableSetExpr* expr) {
+ ResolveTableVar(&expr->var);
+ return Result::Ok;
+}
+
+Result NameResolver::OnTableGrowExpr(TableGrowExpr* expr) {
+ ResolveTableVar(&expr->var);
+ return Result::Ok;
+}
+
+Result NameResolver::OnTableSizeExpr(TableSizeExpr* expr) {
+ ResolveTableVar(&expr->var);
+ return Result::Ok;
+}
+
Result NameResolver::BeginTryExpr(TryExpr* expr) {
PushLabel(expr->block.label);
ResolveBlockDeclarationVar(&expr->block.decl);
diff --git a/src/token.def b/src/token.def
index 9a110a10..f54fd7c6 100644
--- a/src/token.def
+++ b/src/token.def
@@ -20,6 +20,8 @@
/* Tokens with no additional data (i.e. bare). */
WABT_TOKEN(Invalid, "Invalid")
+WABT_TOKEN(Anyfunc, "anyfunc")
+WABT_TOKEN(Anyref, "anyref")
WABT_TOKEN(AssertExhaustion, "assert_exhaustion")
WABT_TOKEN(AssertInvalid, "assert_invalid")
WABT_TOKEN(AssertMalformed, "assert_malformed")
@@ -103,6 +105,12 @@ WABT_TOKEN(MemorySize, "memory.size")
WABT_TOKEN(TableCopy, "table.copy")
WABT_TOKEN(ElemDrop, "elem.drop")
WABT_TOKEN(TableInit, "table.init")
+WABT_TOKEN(TableGet, "table.get")
+WABT_TOKEN(TableSet, "table.set")
+WABT_TOKEN(TableGrow, "table.grow")
+WABT_TOKEN(TableSize, "table.size")
+WABT_TOKEN(RefNull, "ref.null")
+WABT_TOKEN(RefIsNull, "ref.is_null")
WABT_TOKEN(Nop, "nop")
WABT_TOKEN(Rethrow, "rethrow")
WABT_TOKEN(Return, "return")
diff --git a/src/tools/spectest-interp.cc b/src/tools/spectest-interp.cc
index 643c10f2..ce59f3d7 100644
--- a/src/tools/spectest-interp.cc
+++ b/src/tools/spectest-interp.cc
@@ -839,7 +839,7 @@ static void InitEnvironment(Environment* env) {
host_module->AppendFuncExport("print_f64_f64", {{Type::F64, Type::F64}, {}},
PrintCallback);
- host_module->AppendTableExport("table", Limits(10, 20));
+ host_module->AppendTableExport("table", Type::Anyfunc, Limits(10, 20));
host_module->AppendMemoryExport("memory", Limits(1, 2));
host_module->AppendGlobalExport("global_i32", false, uint32_t(666));
diff --git a/src/type-checker.cc b/src/type-checker.cc
index e5c56e9c..6bd1a60d 100644
--- a/src/type-checker.cc
+++ b/src/type-checker.cc
@@ -629,6 +629,39 @@ Result TypeChecker::OnTableInit(uint32_t segment) {
return CheckOpcode3(Opcode::TableInit);
}
+Result TypeChecker::OnTableGet(Index segment) {
+ Result result = PopAndCheck1Type(Type::I32, "table.get");
+ PushType(Type::Anyref); // TODO: should be the table's type
+ return result;
+}
+
+Result TypeChecker::OnTableSet(Index segment) {
+ // TODO: anyref here should be the table's type
+ return PopAndCheck2Types(Type::I32, Type::Anyref, "table.set");
+}
+
+Result TypeChecker::OnTableGrow(Index segment) {
+ Result result = PopAndCheck2Types(Type::I32, Type::Anyref, "table.grow");
+ PushType(Type::I32);
+ return result;
+}
+
+Result TypeChecker::OnTableSize(Index segment) {
+ PushType(Type::I32);
+ return Result::Ok;
+}
+
+Result TypeChecker::OnRefNullExpr() {
+ PushType(Type::Anyref);
+ return Result::Ok;
+}
+
+Result TypeChecker::OnRefIsNullExpr() {
+ Result result = PopAndCheck1Type(Type::Anyref, "ref.is_null");
+ PushType(Type::I32);
+ return result;
+}
+
Result TypeChecker::OnRethrow() {
Result result = PopAndCheck1Type(Type::ExceptRef, "rethrow");
CHECK_RESULT(SetUnreachable());
diff --git a/src/type-checker.h b/src/type-checker.h
index 79990d4a..d0747b6b 100644
--- a/src/type-checker.h
+++ b/src/type-checker.h
@@ -102,6 +102,12 @@ class TypeChecker {
Result OnTableCopy();
Result OnElemDrop(Index);
Result OnTableInit(Index);
+ Result OnTableGet(Index);
+ Result OnTableSet(Index);
+ Result OnTableGrow(Index);
+ Result OnTableSize(Index);
+ Result OnRefNullExpr();
+ Result OnRefIsNullExpr();
Result OnRethrow();
Result OnReturn();
Result OnSelect();
diff --git a/src/validator.cc b/src/validator.cc
index 24895bb2..6392f884 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -76,6 +76,12 @@ class Validator : public ExprVisitor::Delegate {
Result OnTableCopyExpr(TableCopyExpr*) override;
Result OnElemDropExpr(ElemDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
+ Result OnTableGetExpr(TableGetExpr*) override;
+ Result OnTableSetExpr(TableSetExpr*) override;
+ Result OnTableGrowExpr(TableGrowExpr*) override;
+ Result OnTableSizeExpr(TableSizeExpr*) override;
+ Result OnRefNullExpr(RefNullExpr*) override;
+ Result OnRefIsNullExpr(RefIsNullExpr*) override;
Result OnNopExpr(NopExpr*) override;
Result OnReturnExpr(ReturnExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr*) override;
@@ -166,7 +172,7 @@ class Validator : public ExprVisitor::Delegate {
const char* desc);
void CheckExprList(const Location* loc, const ExprList& exprs);
bool CheckHasMemory(const Location* loc, Opcode opcode);
- bool CheckHasTable(const Location* loc, Opcode opcode);
+ bool CheckHasTable(const Location* loc, Opcode opcode, Index index = 0);
void CheckHasSharedMemory(const Location* loc, Opcode opcode);
void CheckBlockDeclaration(const Location* loc,
Opcode opcode,
@@ -491,10 +497,10 @@ bool Validator::CheckHasMemory(const Location* loc, Opcode opcode) {
return true;
}
-bool Validator::CheckHasTable(const Location* loc, Opcode opcode) {
- if (current_module_->tables.size() == 0) {
- PrintError(loc, "%s requires an imported or defined table.",
- opcode.GetName());
+bool Validator::CheckHasTable(const Location* loc, Opcode opcode, Index index) {
+ if (current_module_->tables.size() <= index) {
+ PrintError(loc, "%s requires table %d to be an imported or defined table.",
+ opcode.GetName(), index);
return false;
}
@@ -607,9 +613,7 @@ Result Validator::OnCallExpr(CallExpr* expr) {
Result Validator::OnCallIndirectExpr(CallIndirectExpr* expr) {
expr_loc_ = &expr->loc;
- if (current_module_->tables.size() == 0) {
- PrintError(&expr->loc, "found call_indirect operator, but no table");
- }
+ CheckHasTable(&expr->loc, Opcode::CallIndirect, expr->table.index());
CheckFuncSignature(&expr->loc, expr->decl);
typechecker_.OnCallIndirect(expr->decl.sig.param_types,
expr->decl.sig.result_types);
@@ -793,6 +797,46 @@ Result Validator::OnTableInitExpr(TableInitExpr* expr) {
return Result::Ok;
}
+Result Validator::OnTableGetExpr(TableGetExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableGet, expr->var.index());
+ typechecker_.OnTableGet(expr->var.index());
+ return Result::Ok;
+}
+
+Result Validator::OnTableSetExpr(TableSetExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableSet, expr->var.index());
+ typechecker_.OnTableSet(expr->var.index());
+ return Result::Ok;
+}
+
+Result Validator::OnTableGrowExpr(TableGrowExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableGrow, expr->var.index());
+ typechecker_.OnTableGrow(expr->var.index());
+ return Result::Ok;
+}
+
+Result Validator::OnTableSizeExpr(TableSizeExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableSize, expr->var.index());
+ typechecker_.OnTableSize(expr->var.index());
+ return Result::Ok;
+}
+
+Result Validator::OnRefNullExpr(RefNullExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnRefNullExpr();
+ return Result::Ok;
+}
+
+Result Validator::OnRefIsNullExpr(RefIsNullExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnRefIsNullExpr();
+ return Result::Ok;
+}
+
Result Validator::OnNopExpr(NopExpr* expr) {
expr_loc_ = &expr->loc;
return Result::Ok;
@@ -816,9 +860,7 @@ Result Validator::OnReturnCallExpr(ReturnCallExpr* expr) {
Result Validator::OnReturnCallIndirectExpr(ReturnCallIndirectExpr* expr) {
expr_loc_ = &expr->loc;
- if (current_module_->tables.empty()) {
- PrintError(&expr->loc, "found return_call_indirect operator, but no table");
- }
+ CheckHasTable(&expr->loc, Opcode::ReturnCallIndirect, expr->table.index());
CheckFuncSignature(&expr->loc, expr->decl);
typechecker_.OnReturnCallIndirect(expr->decl.sig.param_types,
expr->decl.sig.result_types);
@@ -1055,7 +1097,7 @@ void Validator::CheckLimits(const Location* loc,
}
void Validator::CheckTable(const Location* loc, const Table* table) {
- if (current_table_index_ == 1) {
+ if (current_table_index_ == 1 && !options_.features.reference_types_enabled()) {
PrintError(loc, "only one table allowed");
}
CheckLimits(loc, &table->elem_limits, UINT32_MAX, "elems");
@@ -1063,6 +1105,12 @@ void Validator::CheckTable(const Location* loc, const Table* table) {
if (table->elem_limits.is_shared) {
PrintError(loc, "tables may not be shared");
}
+ if (table->elem_type == Type::Anyref && !options_.features.reference_types_enabled()) {
+ PrintError(loc, "tables must have anyref type");
+ }
+ if (table->elem_type != Type::Anyref && table->elem_type != Type::Anyfunc) {
+ PrintError(loc, "tables must have anyref or anyfunc type");
+ }
}
void Validator::CheckElemSegments(const Module* module) {
diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc
index 4836bafc..edffe7d4 100644
--- a/src/wast-lexer.cc
+++ b/src/wast-lexer.cc
@@ -258,6 +258,7 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "f64" { RETURN_TYPE(ValueType, F64); }
<i> "v128" { RETURN_TYPE(ValueType, V128); }
<i> "funcref" { RETURN(Funcref); }
+ <i> "anyref" { RETURN_TYPE(ValueType, Anyref); }
<i> "mut" { RETURN(Mut); }
<i> "nop" { RETURN_OPCODE0(Nop); }
<i> "block" { RETURN_OPCODE0(Block); }
@@ -456,6 +457,12 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "table.init" { RETURN_OPCODE0(TableInit); }
<i> "elem.drop" { RETURN_OPCODE0(ElemDrop); }
<i> "table.copy" { RETURN_OPCODE0(TableCopy); }
+ <i> "table.get" { RETURN_OPCODE0(TableGet); }
+ <i> "table.set" { RETURN_OPCODE0(TableSet); }
+ <i> "table.grow" { RETURN_OPCODE0(TableGrow); }
+ <i> "table.size" { RETURN_OPCODE0(TableSize); }
+ <i> "ref.null" { RETURN_OPCODE0(RefNull); }
+ <i> "ref.is_null" { RETURN_OPCODE0(RefIsNull); }
<i> "i32.atomic.wait" { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
<i> "i64.atomic.wait" { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index 66e83a8c..9b4b231d 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -139,8 +139,14 @@ bool IsPlainInstr(TokenType token_type) {
case TokenType::TableCopy:
case TokenType::ElemDrop:
case TokenType::TableInit:
+ case TokenType::TableGet:
+ case TokenType::TableSet:
+ case TokenType::TableGrow:
+ case TokenType::TableSize:
case TokenType::Throw:
case TokenType::Rethrow:
+ case TokenType::RefNull:
+ case TokenType::RefIsNull:
case TokenType::AtomicLoad:
case TokenType::AtomicStore:
case TokenType::AtomicRmw:
@@ -605,7 +611,7 @@ bool WastParser::ParseVarListOpt(VarVector* out_var_list) {
Result WastParser::ParseValueType(Type* out_type) {
WABT_TRACE(ParseValueType);
if (!PeekMatch(TokenType::ValueType)) {
- return ErrorExpected({"i32", "i64", "f32", "f64", "v128"});
+ return ErrorExpected({"i32", "i64", "f32", "f64", "v128", "anyref"});
}
*out_type = Consume().type();
@@ -1000,7 +1006,11 @@ Result WastParser::ParseImportModuleField(Module* module) {
ParseBindVarOpt(&name);
auto import = MakeUnique<TableImport>(name);
CHECK_RESULT(ParseLimits(&import->table.elem_limits));
- EXPECT(Funcref);
+ if (Match(TokenType::Funcref)) {
+ import->table.elem_type = Type::Anyfunc;
+ } else {
+ CHECK_RESULT(ParseValueType(&import->table.elem_type));
+ }
EXPECT(Rpar);
field = MakeUnique<ImportModuleField>(std::move(import), loc);
break;
@@ -1126,7 +1136,11 @@ Result WastParser::ParseTableModuleField(Module* module) {
auto import = MakeUnique<TableImport>(name);
CHECK_RESULT(ParseInlineImport(import.get()));
CHECK_RESULT(ParseLimits(&import->table.elem_limits));
- EXPECT(Funcref);
+ if (Match(TokenType::Funcref)) {
+ import->table.elem_type = Type::Anyfunc;
+ } else {
+ CHECK_RESULT(ParseValueType(&import->table.elem_type));
+ }
auto field =
MakeUnique<ImportModuleField>(std::move(import), GetLocation());
module->AppendField(std::move(field));
@@ -1146,12 +1160,17 @@ Result WastParser::ParseTableModuleField(Module* module) {
table_field->table.elem_limits.initial = elem_segment.vars.size();
table_field->table.elem_limits.max = elem_segment.vars.size();
table_field->table.elem_limits.has_max = true;
+ table_field->table.elem_type = Type::Anyfunc;
module->AppendField(std::move(table_field));
module->AppendField(std::move(elem_segment_field));
} else {
auto field = MakeUnique<TableModuleField>(loc, name);
CHECK_RESULT(ParseLimits(&field->table.elem_limits));
- EXPECT(Funcref);
+ if (Match(TokenType::Funcref)) {
+ field->table.elem_type = Type::Anyfunc;
+ } else {
+ CHECK_RESULT(ParseValueType(&field->table.elem_type));
+ }
module->AppendField(std::move(field));
}
@@ -1403,6 +1422,7 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
auto expr = MakeUnique<CallIndirectExpr>(loc);
CHECK_RESULT(ParseTypeUseOpt(&expr->decl));
CHECK_RESULT(ParseUnboundFuncSignature(&expr->decl.sig));
+ ParseVarOpt(&expr->table, Var(0));
*out_expr = std::move(expr);
break;
}
@@ -1417,6 +1437,7 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
auto expr = MakeUnique<ReturnCallIndirectExpr>(loc);
CHECK_RESULT(ParseTypeUseOpt(&expr->decl));
CHECK_RESULT(ParseUnboundFuncSignature(&expr->decl.sig));
+ ParseVarOpt(&expr->table, Var(0));
*out_expr = std::move(expr);
break;
}
@@ -1530,6 +1551,36 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
CHECK_RESULT(ParsePlainInstrVar<TableInitExpr>(loc, out_expr));
break;
+ case TokenType::TableGet:
+ ErrorUnlessOpcodeEnabled(Consume());
+ CHECK_RESULT(ParsePlainInstrVar<TableGetExpr>(loc, out_expr));
+ break;
+
+ case TokenType::TableSet:
+ ErrorUnlessOpcodeEnabled(Consume());
+ CHECK_RESULT(ParsePlainInstrVar<TableSetExpr>(loc, out_expr));
+ break;
+
+ case TokenType::TableGrow:
+ ErrorUnlessOpcodeEnabled(Consume());
+ CHECK_RESULT(ParsePlainInstrVar<TableGrowExpr>(loc, out_expr));
+ break;
+
+ case TokenType::TableSize:
+ ErrorUnlessOpcodeEnabled(Consume());
+ CHECK_RESULT(ParsePlainInstrVar<TableSizeExpr>(loc, out_expr));
+ break;
+
+ case TokenType::RefNull:
+ ErrorUnlessOpcodeEnabled(Consume());
+ out_expr->reset(new RefNullExpr(loc));
+ break;
+
+ case TokenType::RefIsNull:
+ ErrorUnlessOpcodeEnabled(Consume());
+ out_expr->reset(new RefIsNullExpr(loc));
+ break;
+
case TokenType::Throw:
ErrorUnlessOpcodeEnabled(Consume());
CHECK_RESULT(ParsePlainInstrVar<ThrowExpr>(loc, out_expr));
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index c70773f9..1cacc8ce 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -550,6 +550,12 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnTableCopyExpr(TableCopyExpr*) override;
Result OnElemDropExpr(ElemDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
+ Result OnTableGetExpr(TableGetExpr*) override;
+ Result OnTableSetExpr(TableSetExpr*) override;
+ Result OnTableGrowExpr(TableGrowExpr*) override;
+ Result OnTableSizeExpr(TableSizeExpr*) override;
+ Result OnRefNullExpr(RefNullExpr*) override;
+ Result OnRefIsNullExpr(RefIsNullExpr*) override;
Result OnNopExpr(NopExpr*) override;
Result OnReturnExpr(ReturnExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr*) override;
@@ -632,7 +638,13 @@ Result WatWriter::ExprVisitorDelegate::OnCallIndirectExpr(
writer_->WritePutsSpace(Opcode::CallIndirect_Opcode.GetName());
writer_->WriteOpenSpace("type");
writer_->WriteVar(expr->decl.type_var, NextChar::Space);
- writer_->WriteCloseNewline();
+
+ if (expr->table.is_index() && expr->table.index() == 0) {
+ writer_->WriteCloseNewline();
+ } else {
+ writer_->WriteCloseSpace();
+ writer_->WriteVar(expr->table, NextChar::Newline);
+ }
return Result::Ok;
}
@@ -744,14 +756,14 @@ Result WatWriter::ExprVisitorDelegate::OnMemoryGrowExpr(MemoryGrowExpr* expr) {
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnMemoryInitExpr(MemoryInitExpr* expr) {
- writer_->WritePutsSpace(Opcode::MemoryInit_Opcode.GetName());
- writer_->WriteVar(expr->var, NextChar::Newline);
+Result WatWriter::ExprVisitorDelegate::OnMemorySizeExpr(MemorySizeExpr* expr) {
+ writer_->WritePutsNewline(Opcode::MemorySize_Opcode.GetName());
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnMemorySizeExpr(MemorySizeExpr* expr) {
- writer_->WritePutsNewline(Opcode::MemorySize_Opcode.GetName());
+Result WatWriter::ExprVisitorDelegate::OnMemoryInitExpr(MemoryInitExpr* expr) {
+ writer_->WritePutsSpace(Opcode::MemoryInit_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
return Result::Ok;
}
@@ -772,6 +784,40 @@ Result WatWriter::ExprVisitorDelegate::OnTableInitExpr(TableInitExpr* expr) {
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnTableGetExpr(TableGetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableGet_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnTableSetExpr(TableSetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableSet_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnTableGrowExpr(TableGrowExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableGrow_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnTableSizeExpr(TableSizeExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableSize_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnRefNullExpr(RefNullExpr* expr) {
+ writer_->WritePutsNewline(Opcode::RefNull_Opcode.GetName());
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnRefIsNullExpr(RefIsNullExpr* expr) {
+ writer_->WritePutsNewline(Opcode::RefIsNull_Opcode.GetName());
+ return Result::Ok;
+}
+
Result WatWriter::ExprVisitorDelegate::OnNopExpr(NopExpr* expr) {
writer_->WritePutsNewline(Opcode::Nop_Opcode.GetName());
return Result::Ok;
@@ -959,11 +1005,13 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
case ExprType::AtomicRmw:
case ExprType::Binary:
case ExprType::Compare:
+ case ExprType::TableGrow:
PushExpr(expr, 2, 1);
break;
case ExprType::AtomicStore:
case ExprType::Store:
+ case ExprType::TableSet:
PushExpr(expr, 2, 0);
break;
@@ -1020,7 +1068,9 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
case ExprType::GlobalGet:
case ExprType::LocalGet:
case ExprType::MemorySize:
+ case ExprType::TableSize:
case ExprType::Unreachable:
+ case ExprType::RefNull:
PushExpr(expr, 0, 1);
break;
@@ -1043,6 +1093,8 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
case ExprType::LocalTee:
case ExprType::MemoryGrow:
case ExprType::Unary:
+ case ExprType::TableGet:
+ case ExprType::RefIsNull:
PushExpr(expr, 1, 1);
break;
@@ -1424,7 +1476,7 @@ void WatWriter::WriteTable(const Table& table) {
WriteInlineExports(ExternalKind::Table, table_index_);
WriteInlineImport(ExternalKind::Table, table_index_);
WriteLimits(table.elem_limits);
- WritePutsSpace("anyfunc");
+ WriteType(table.elem_type, NextChar::None);
WriteCloseNewline();
table_index_++;
}
diff --git a/test/dump/callindirect.txt b/test/dump/callindirect.txt
index 08c47d98..f15a2e35 100644
--- a/test/dump/callindirect.txt
+++ b/test/dump/callindirect.txt
@@ -61,7 +61,7 @@
000002b: 00 ; i32 literal
000002c: 11 ; call_indirect
000002d: 00 ; signature index
-000002e: 00 ; call_indirect reserved
+000002e: 00 ; table index
000002f: 0b ; end
0000026: 09 ; FIXUP func body size
0000024: 0b ; FIXUP section size
diff --git a/test/dump/no-canonicalize.txt b/test/dump/no-canonicalize.txt
index 35ba558b..bdec18af 100644
--- a/test/dump/no-canonicalize.txt
+++ b/test/dump/no-canonicalize.txt
@@ -119,7 +119,7 @@
000007a: 01 ; local index
000007b: 11 ; call_indirect
000007c: 00 ; signature index
-000007d: 00 ; call_indirect reserved
+000007d: 00 ; table index
000007e: 1a ; drop
000007f: 0b ; end
0000071: 8a80 8080 00 ; FIXUP func body size
diff --git a/test/dump/reference-types.txt b/test/dump/reference-types.txt
new file mode 100644
index 00000000..dbae4d52
--- /dev/null
+++ b/test/dump/reference-types.txt
@@ -0,0 +1,104 @@
+;;; TOOL: run-objdump
+;;; ARGS0: --enable-reference-types
+
+(module
+ (table $foo 1 anyref)
+ (table $bar 1 anyref)
+ (table $baz 1 anyfunc)
+
+ (func (result anyref)
+ i32.const 0
+ table.get $foo
+ )
+ (func (result anyref)
+ i32.const 0
+ table.get $bar
+ )
+
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set $foo
+ )
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set $bar
+ )
+
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow $foo
+ )
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow $bar
+ )
+
+ (func (param anyref) (result i32)
+ local.get 0
+ ref.is_null
+ )
+
+
+ (func (result i32)
+ table.size $foo
+ )
+ (func (result i32)
+ table.size $bar
+ )
+ (func (result i32)
+ table.size $baz
+ )
+)
+
+(;; STDOUT ;;;
+
+reference-types.wasm: file format wasm 0x1
+
+Code Disassembly:
+
+000039 func[0]:
+ 00003a: 41 00 | i32.const 0
+ 00003c: 25 00 | table.get 0
+ 00003e: 0b | end
+000040 func[1]:
+ 000041: 41 00 | i32.const 0
+ 000043: 25 01 | table.get 1
+ 000045: 0b | end
+000047 func[2]:
+ 000048: 41 00 | i32.const 0
+ 00004a: 20 00 | local.get 0
+ 00004c: 26 00 | table.set 0
+ 00004e: 0b | end
+000050 func[3]:
+ 000051: 41 00 | i32.const 0
+ 000053: 20 00 | local.get 0
+ 000055: 26 01 | table.set 1
+ 000057: 0b | end
+000059 func[4]:
+ 00005a: 41 00 | i32.const 0
+ 00005c: d0 | ref.null
+ 00005d: fc 0f 00 | table.grow 0
+ 000060: 0b | end
+000062 func[5]:
+ 000063: 41 00 | i32.const 0
+ 000065: d0 | ref.null
+ 000066: fc 0f 01 | table.grow 1
+ 000069: 0b | end
+00006b func[6]:
+ 00006c: 20 00 | local.get 0
+ 00006e: d1 | ref.is_null
+ 00006f: 0b | end
+000071 func[7]:
+ 000072: fc 10 00 | table.size 0
+ 000075: 0b | end
+000077 func[8]:
+ 000078: fc 10 01 | table.size 1
+ 00007b: 0b | end
+00007d func[9]:
+ 00007e: fc 10 02 | table.size 2
+ 000081: 0b | end
+;;; STDOUT ;;)
diff --git a/test/help/spectest-interp.txt b/test/help/spectest-interp.txt
index 8ad66af4..2fa2f98a 100644
--- a/test/help/spectest-interp.txt
+++ b/test/help/spectest-interp.txt
@@ -21,6 +21,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
-V, --value-stack-size=SIZE Size in elements of the value stack
-C, --call-stack-size=SIZE Size in elements of the call stack
-t, --trace Trace execution
diff --git a/test/help/wasm-interp.txt b/test/help/wasm-interp.txt
index 77420472..6b3f27ac 100644
--- a/test/help/wasm-interp.txt
+++ b/test/help/wasm-interp.txt
@@ -32,6 +32,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
-V, --value-stack-size=SIZE Size in elements of the value stack
-C, --call-stack-size=SIZE Size in elements of the call stack
-t, --trace Trace execution
diff --git a/test/help/wasm-validate.txt b/test/help/wasm-validate.txt
index 4b1a45a8..3cb08431 100644
--- a/test/help/wasm-validate.txt
+++ b/test/help/wasm-validate.txt
@@ -21,6 +21,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
--no-debug-names Ignore debug names in the binary file
--ignore-custom-section-errors Ignore errors in custom sections
;;; STDOUT ;;)
diff --git a/test/help/wasm2wat.txt b/test/help/wasm2wat.txt
index 38641fe1..f5bedf12 100644
--- a/test/help/wasm2wat.txt
+++ b/test/help/wasm2wat.txt
@@ -27,6 +27,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
--inline-exports Write all exports inline
--inline-imports Write all imports inline
--no-debug-names Ignore debug names in the binary file
diff --git a/test/help/wast2json.txt b/test/help/wast2json.txt
index 7b71d625..f6833d90 100644
--- a/test/help/wast2json.txt
+++ b/test/help/wast2json.txt
@@ -24,6 +24,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
-o, --output=FILE output wasm binary file
-r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld)
--no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size
diff --git a/test/help/wat-desugar.txt b/test/help/wat-desugar.txt
index 383d10d1..f7d48d98 100644
--- a/test/help/wat-desugar.txt
+++ b/test/help/wat-desugar.txt
@@ -31,5 +31,6 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
--generate-names Give auto-generated names to non-named functions, types, etc.
;;; STDOUT ;;)
diff --git a/test/help/wat2wasm.txt b/test/help/wat2wasm.txt
index 853e1b92..f052ebad 100644
--- a/test/help/wat2wasm.txt
+++ b/test/help/wat2wasm.txt
@@ -31,6 +31,7 @@ options:
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
--enable-bulk-memory Enable Bulk-memory operations
+ --enable-reference-types Enable Reference types (anyref)
-o, --output=FILE output wasm binary file
-r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld)
--no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size
diff --git a/test/interp/logging-all-opcodes.txt b/test/interp/logging-all-opcodes.txt
index 85c308e8..f2c72f05 100644
--- a/test/interp/logging-all-opcodes.txt
+++ b/test/interp/logging-all-opcodes.txt
@@ -2631,7 +2631,7 @@
0001a73: 01 ; i32 literal
0001a74: 11 ; call_indirect
0001a75: 00 ; signature index
-0001a76: 00 ; call_indirect reserved
+0001a76: 00 ; table index
0001a77: 0b ; end
0001a70: 07 ; FIXUP func body size
; function body 7
@@ -2648,7 +2648,7 @@
0001a80: 01 ; i32 literal
0001a81: 13 ; return_call_indirect
0001a82: 00 ; signature index
-0001a83: 00 ; return_call_indirect reserved
+0001a83: 00 ; table index
0001a84: 0b ; end
0001a7d: 07 ; FIXUP func body size
; function body 9
@@ -8071,7 +8071,7 @@ BeginModule(version: 1)
BeginFunctionBody(7, size:7)
OnLocalDeclCount(0)
OnI32ConstExpr(1 (0x1))
- OnCallIndirectExpr(sig_index: 0)
+ OnCallIndirectExpr(sig_index: 0, table_index: 0)
EndFunctionBody(7)
BeginFunctionBody(8, size:4)
OnLocalDeclCount(0)
@@ -8080,7 +8080,7 @@ BeginModule(version: 1)
BeginFunctionBody(9, size:7)
OnLocalDeclCount(0)
OnI32ConstExpr(1 (0x1))
- OnReturnCallIndirectExpr(sig_index: 0)
+ OnReturnCallIndirectExpr(sig_index: 0, table_index: 0)
EndFunctionBody(9)
BeginFunctionBody(10, size:5)
OnLocalDeclCount(0)
diff --git a/test/parse/expr/reference-types-call-indirect.txt b/test/parse/expr/reference-types-call-indirect.txt
new file mode 100644
index 00000000..bcb74296
--- /dev/null
+++ b/test/parse/expr/reference-types-call-indirect.txt
@@ -0,0 +1,18 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+
+(module
+ (table $foo 1 anyfunc)
+ (table $bar 1 anyfunc)
+
+ (func (result i32) i32.const 0)
+ (func (result i32) i32.const 1)
+
+ (func (result i32)
+ i32.const 0
+ call_indirect (type 0) $foo)
+
+ (func (result i32)
+ i32.const 0
+ call_indirect (type 0) $bar)
+)
diff --git a/test/parse/expr/reference-types-named.txt b/test/parse/expr/reference-types-named.txt
new file mode 100644
index 00000000..e9d1a63d
--- /dev/null
+++ b/test/parse/expr/reference-types-named.txt
@@ -0,0 +1,21 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+
+(module
+ (table $foo 1 anyref)
+ (func (result anyref)
+ i32.const 0
+ table.get $foo
+ )
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set $foo
+ )
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow $foo
+ )
+)
+
diff --git a/test/parse/expr/reference-types.txt b/test/parse/expr/reference-types.txt
new file mode 100644
index 00000000..d46aaba3
--- /dev/null
+++ b/test/parse/expr/reference-types.txt
@@ -0,0 +1,55 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+
+(module
+ (table $foo 1 anyref)
+ (table $bar 1 anyref)
+ (table $baz 1 anyfunc)
+
+ (func (result anyref)
+ i32.const 0
+ table.get $foo
+ )
+ (func (result anyref)
+ i32.const 0
+ table.get $bar
+ )
+
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set $foo
+ )
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set $bar
+ )
+
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow $foo
+ )
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow $bar
+ )
+
+ (func (param anyref) (result i32)
+ local.get 0
+ ref.is_null
+ )
+
+
+ (func (result i32)
+ table.size $foo
+ )
+ (func (result i32)
+ table.size $bar
+ )
+ (func (result i32)
+ table.size $baz
+ )
+)
diff --git a/test/parse/expr/table-get.txt b/test/parse/expr/table-get.txt
new file mode 100644
index 00000000..ed2e7155
--- /dev/null
+++ b/test/parse/expr/table-get.txt
@@ -0,0 +1,8 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+(module
+ (func (result anyref)
+ i32.const 0
+ table.get 0)
+
+ (table 1 anyref))
diff --git a/test/parse/expr/table-grow.txt b/test/parse/expr/table-grow.txt
new file mode 100644
index 00000000..8b8fcc59
--- /dev/null
+++ b/test/parse/expr/table-grow.txt
@@ -0,0 +1,9 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+(module
+ (func (result i32)
+ i32.const 0
+ ref.null
+ table.grow 0)
+
+ (table 1 anyref))
diff --git a/test/parse/expr/table-set.txt b/test/parse/expr/table-set.txt
new file mode 100644
index 00000000..d441437e
--- /dev/null
+++ b/test/parse/expr/table-set.txt
@@ -0,0 +1,9 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+(module
+ (func (param anyref)
+ i32.const 0
+ get_local 0
+ table.set 0)
+
+ (table 1 anyref))
diff --git a/test/parse/func/bad-local-binding-no-type.txt b/test/parse/func/bad-local-binding-no-type.txt
index 9c1a3a88..029218e9 100644
--- a/test/parse/func/bad-local-binding-no-type.txt
+++ b/test/parse/func/bad-local-binding-no-type.txt
@@ -2,7 +2,7 @@
;;; ERROR: 1
(module (func (local $n)))
(;; STDERR ;;;
-out/test/parse/func/bad-local-binding-no-type.txt:3:24: error: unexpected token ")", expected i32, i64, f32, f64 or v128.
+out/test/parse/func/bad-local-binding-no-type.txt:3:24: error: unexpected token ")", expected i32, i64, f32, f64, v128 or anyref.
(module (func (local $n)))
^
;;; STDERR ;;)
diff --git a/test/parse/func/bad-local-binding.txt b/test/parse/func/bad-local-binding.txt
index 4aee0258..51110dfe 100644
--- a/test/parse/func/bad-local-binding.txt
+++ b/test/parse/func/bad-local-binding.txt
@@ -2,7 +2,7 @@
;;; ERROR: 1
(module (func (local $foo $bar)))
(;; STDERR ;;;
-out/test/parse/func/bad-local-binding.txt:3:27: error: unexpected token "$bar", expected i32, i64, f32, f64 or v128.
+out/test/parse/func/bad-local-binding.txt:3:27: error: unexpected token "$bar", expected i32, i64, f32, f64, v128 or anyref.
(module (func (local $foo $bar)))
^^^^
;;; STDERR ;;)
diff --git a/test/parse/func/bad-param-binding.txt b/test/parse/func/bad-param-binding.txt
index 323ad4b2..f813b23c 100644
--- a/test/parse/func/bad-param-binding.txt
+++ b/test/parse/func/bad-param-binding.txt
@@ -2,7 +2,7 @@
;;; ERROR: 1
(module (func (param $bar $baz)))
(;; STDERR ;;;
-out/test/parse/func/bad-param-binding.txt:3:27: error: unexpected token "$baz", expected i32, i64, f32, f64 or v128.
+out/test/parse/func/bad-param-binding.txt:3:27: error: unexpected token "$baz", expected i32, i64, f32, f64, v128 or anyref.
(module (func (param $bar $baz)))
^^^^
;;; STDERR ;;)
diff --git a/test/parse/module/reference-types-disabled.txt b/test/parse/module/reference-types-disabled.txt
new file mode 100644
index 00000000..10963352
--- /dev/null
+++ b/test/parse/module/reference-types-disabled.txt
@@ -0,0 +1,20 @@
+;;; TOOL: wat2wasm
+;;; ERROR: 1
+
+(module
+ (table $t 1 anyref)
+ (func
+ i32.const 0
+ i32.const 0
+ table.get $t
+ table.set $t
+ )
+)
+(;; STDERR ;;;
+out/test/parse/module/reference-types-disabled.txt:9:5: error: opcode not allowed: table.get
+ table.get $t
+ ^^^^^^^^^
+out/test/parse/module/reference-types-disabled.txt:10:5: error: opcode not allowed: table.set
+ table.set $t
+ ^^^^^^^^^
+;;; STDERR ;;)
diff --git a/test/roundtrip/fold-reference-types.txt b/test/roundtrip/fold-reference-types.txt
new file mode 100644
index 00000000..23412a5f
--- /dev/null
+++ b/test/roundtrip/fold-reference-types.txt
@@ -0,0 +1,22 @@
+;;; TOOL: run-roundtrip
+;;; ARGS: --stdout --fold-exprs --enable-reference-types
+
+(module
+ (table $t 1 anyref)
+ (func
+ i32.const 0
+ i32.const 0
+ table.get $t
+ table.set $t
+ )
+)
+(;; STDOUT ;;;
+(module
+ (type (;0;) (func))
+ (func (;0;) (type 0)
+ (table.set 0
+ (i32.const 0)
+ (table.get 0
+ (i32.const 0))))
+ (table (;0;) 1 anyref))
+;;; STDOUT ;;)
diff --git a/test/roundtrip/generate-func-type-names.txt b/test/roundtrip/generate-func-type-names.txt
index d5af88f7..7b9c177d 100644
--- a/test/roundtrip/generate-func-type-names.txt
+++ b/test/roundtrip/generate-func-type-names.txt
@@ -18,7 +18,7 @@
(func $f1 (type $t0))
(func $f2 (type $t1) (result i32)
i32.const 0
- call_indirect (type $t0)
+ call_indirect (type $t0) $T0
i32.const 1)
(table $T0 1 1 anyfunc)
(elem $e0 (i32.const 0) $foo.bar))
diff --git a/test/roundtrip/generate-some-names.txt b/test/roundtrip/generate-some-names.txt
index 4af66724..5ea9d620 100644
--- a/test/roundtrip/generate-some-names.txt
+++ b/test/roundtrip/generate-some-names.txt
@@ -45,7 +45,7 @@
drop
i32.const 0
i32.const 1
- call_indirect (type $t0)
+ call_indirect (type $t0) $T0
drop
local.get $param1
drop
diff --git a/test/run-roundtrip.py b/test/run-roundtrip.py
index cb871372..6b66ed7c 100755
--- a/test/run-roundtrip.py
+++ b/test/run-roundtrip.py
@@ -124,6 +124,7 @@ def main(args):
parser.add_argument('--enable-multi-value', action='store_true')
parser.add_argument('--enable-bulk-memory', action='store_true')
parser.add_argument('--enable-tail-call', action='store_true')
+ parser.add_argument('--enable-reference-types', action='store_true')
parser.add_argument('--inline-exports', action='store_true')
parser.add_argument('--inline-imports', action='store_true')
parser.add_argument('file', help='test file.')
@@ -143,6 +144,7 @@ def main(args):
'--enable-threads': options.enable_threads,
'--enable-bulk-memory': options.enable_bulk_memory,
'--enable-tail-call': options.enable_tail_call,
+ '--enable-reference-types': options.enable_reference_types,
'--no-check': options.no_check,
})
@@ -159,6 +161,7 @@ def main(args):
'--enable-simd': options.enable_simd,
'--enable-bulk-memory': options.enable_bulk_memory,
'--enable-tail-call': options.enable_tail_call,
+ '--enable-reference-types': options.enable_reference_types,
'--enable-threads': options.enable_threads,
'--inline-exports': options.inline_exports,
'--inline-imports': options.inline_imports,
diff --git a/test/typecheck/bad-bulk-memory-no-table.txt b/test/typecheck/bad-bulk-memory-no-table.txt
index 5d5ecc16..f7cad08e 100644
--- a/test/typecheck/bad-bulk-memory-no-table.txt
+++ b/test/typecheck/bad-bulk-memory-no-table.txt
@@ -10,19 +10,19 @@
)
)
(;; STDERR ;;;
-out/test/typecheck/bad-bulk-memory-no-table.txt:7:41: error: table.init requires an imported or defined table.
+out/test/typecheck/bad-bulk-memory-no-table.txt:7:41: error: table.init requires table 0 to be an imported or defined table.
i32.const 0 i32.const 0 i32.const 0 table.init 0
^^^^^^^^^^
out/test/typecheck/bad-bulk-memory-no-table.txt:7:52: error: elem_segment variable out of range (max 0)
i32.const 0 i32.const 0 i32.const 0 table.init 0
^
-out/test/typecheck/bad-bulk-memory-no-table.txt:8:5: error: elem.drop requires an imported or defined table.
+out/test/typecheck/bad-bulk-memory-no-table.txt:8:5: error: elem.drop requires table 0 to be an imported or defined table.
elem.drop 0
^^^^^^^^^
out/test/typecheck/bad-bulk-memory-no-table.txt:8:15: error: elem_segment variable out of range (max 0)
elem.drop 0
^
-out/test/typecheck/bad-bulk-memory-no-table.txt:9:41: error: table.copy requires an imported or defined table.
+out/test/typecheck/bad-bulk-memory-no-table.txt:9:41: error: table.copy requires table 0 to be an imported or defined table.
i32.const 0 i32.const 0 i32.const 0 table.copy
^^^^^^^^^^
;;; STDERR ;;)
diff --git a/test/typecheck/bad-reference-types-no-table.txt b/test/typecheck/bad-reference-types-no-table.txt
new file mode 100644
index 00000000..0c0449ee
--- /dev/null
+++ b/test/typecheck/bad-reference-types-no-table.txt
@@ -0,0 +1,20 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-reference-types
+;;; ERROR: 1
+
+(module
+ (func
+ i32.const 0
+ i32.const 0
+ table.get $t
+ table.set $t
+ )
+)
+(;; STDERR ;;;
+out/test/typecheck/bad-reference-types-no-table.txt:9:15: error: undefined table variable "$t"
+ table.get $t
+ ^^
+out/test/typecheck/bad-reference-types-no-table.txt:10:15: error: undefined table variable "$t"
+ table.set $t
+ ^^
+;;; STDERR ;;)
diff --git a/test/typecheck/bad-returncallindirect-no-table.txt b/test/typecheck/bad-returncallindirect-no-table.txt
index c9b8d3f0..24c7f808 100644
--- a/test/typecheck/bad-returncallindirect-no-table.txt
+++ b/test/typecheck/bad-returncallindirect-no-table.txt
@@ -9,7 +9,7 @@
return_call_indirect)
)
(;; STDERR ;;;
-out/test/typecheck/bad-returncallindirect-no-table.txt:9:5: error: found return_call_indirect operator, but no table
+out/test/typecheck/bad-returncallindirect-no-table.txt:9:5: error: return_call_indirect requires table 0 to be an imported or defined table.
return_call_indirect)
^^^^^^^^^^^^^^^^^^^^
;;; STDERR ;;)