diff options
author | Alex Crichton <alex@alexcrichton.com> | 2019-02-14 11:07:03 -0600 |
---|---|---|
committer | Ben Smith <binjimin@gmail.com> | 2019-02-14 09:07:03 -0800 |
commit | 2b33a37dc49c033ba9b34f438233f204002415d9 (patch) | |
tree | c7c091542e4287b2e19dfb644e5186ce42235cf0 | |
parent | 19191efaf1b5b92b0357b303be1b25cf439be9a2 (diff) | |
download | wabt-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.
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, @@ -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", @@ -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 ;;) |