/* Generated by re2c 1.0.1 on Thu Oct 11 23:03:28 2018 */
#line 1 "src/wast-lexer.cc"
/*
 * Copyright 2016 WebAssembly Community Group participants
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "src/wast-lexer.h"

#include <cassert>
#include <cstdio>

#include "config.h"

#include "src/lexer-source.h"
#include "src/wast-parser.h"

#define YYMAXFILL 29


#define INITIAL_LEXER_BUFFER_SIZE (64 * 1024)

#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__)

#define BEGIN(c) cond = (c)
#define FILL(n)              \
  do {                       \
    if (Failed(Fill((n)))) { \
      RETURN(Eof);           \
    }                        \
  } while (0)

#define MAYBE_MALFORMED_UTF8(desc)                \
  if (!(eof_ && limit_ - cursor_ <= YYMAXFILL)) { \
    ERROR("malformed utf-8%s", desc);             \
  }                                               \
  continue

#define yytext (next_pos_)
#define yyleng (cursor_ - next_pos_)

/* p must be a pointer somewhere in the lexer buffer */
#define FILE_OFFSET(p) ((p) - (buffer_) + buffer_file_offset_)
#define COLUMN(p) (FILE_OFFSET(p) - line_file_offset_ + 1)

#define COMMENT_NESTING (comment_nesting_)
#define NEWLINE                               \
  do {                                        \
    line_++;                                  \
    line_file_offset_ = FILE_OFFSET(cursor_); \
  } while (0)

#define RETURN(token) return Token(GetLocation(), TokenType::token);

#define RETURN_LITERAL(token, literal)          \
  return Token(GetLocation(), TokenType::token, \
               MakeLiteral(LiteralType::literal))

#define RETURN_TYPE(token, type) \
  return Token(GetLocation(), TokenType::token, Type::type)

#define RETURN_OPCODE0(token) \
  return Token(GetLocation(), TokenType::token, Opcode::token)

#define RETURN_OPCODE(token, opcode) \
  return Token(GetLocation(), TokenType::token, Opcode::opcode)

#define RETURN_TEXT(token) \
  return Token(GetLocation(), TokenType::token, GetText())

#define RETURN_TEXT_AT(token, at) \
  return Token(GetLocation(), TokenType::token, GetText(at))

namespace wabt {

WastLexer::WastLexer(std::unique_ptr<LexerSource> source, string_view filename)
    : source_(std::move(source)),
      filename_(filename),
      line_(1),
      comment_nesting_(0),
      buffer_file_offset_(0),
      line_file_offset_(0),
      eof_(false),
      buffer_(nullptr),
      buffer_size_(0),
      marker_(nullptr),
      next_pos_(nullptr),
      cursor_(nullptr),
      limit_(nullptr) {}

WastLexer::~WastLexer() {
  delete[] buffer_;
}

// static
std::unique_ptr<WastLexer> WastLexer::CreateFileLexer(string_view filename) {
  auto source = MakeUnique<LexerSourceFile>(filename);
  if (!source->IsOpen()) {
    return std::unique_ptr<WastLexer>();
  }
  return MakeUnique<WastLexer>(std::move(source), filename);
}

// static
std::unique_ptr<WastLexer> WastLexer::CreateBufferLexer(string_view filename,
                                                        const void* data,
                                                        size_t size) {
  return MakeUnique<WastLexer>(MakeUnique<LexerSourceBuffer>(data, size),
                               filename);
}

Location WastLexer::GetLocation() {
  return Location(filename_, line_, COLUMN(next_pos_), COLUMN(cursor_));
}

Literal WastLexer::MakeLiteral(LiteralType type) {
  return Literal(type, GetText());
}

std::string WastLexer::GetText(size_t offset) {
  return std::string(yytext + offset, yyleng - offset);
}

Result WastLexer::Fill(size_t need) {
  if (eof_) {
    return Result::Error;
  }
  size_t free = next_pos_ - buffer_;
  assert(static_cast<size_t>(cursor_ - buffer_) >= free);
  // Our buffer is too small, need to realloc.
  if (free < need) {
    char* old_buffer = buffer_;
    size_t old_buffer_size = buffer_size_;
    size_t new_buffer_size =
        old_buffer_size ? old_buffer_size * 2 : INITIAL_LEXER_BUFFER_SIZE;
    // Make sure there is enough space for the bytes requested (need) and an
    // additional YYMAXFILL bytes which is needed for the re2c lexer
    // implementation when the eof is reached.
    while ((new_buffer_size - old_buffer_size) + free < need + YYMAXFILL)
      new_buffer_size *= 2;

    char* new_buffer = new char[new_buffer_size];
    if (limit_ > next_pos_) {
      memmove(new_buffer, next_pos_, limit_ - next_pos_);
    }
    buffer_ = new_buffer;
    buffer_size_ = new_buffer_size;
    next_pos_ = new_buffer + (next_pos_ - old_buffer) - free;
    marker_ = new_buffer + (marker_ - old_buffer) - free;
    cursor_ = new_buffer + (cursor_ - old_buffer) - free;
    limit_ = new_buffer + (limit_ - old_buffer) - free;
    buffer_file_offset_ += free;
    free += new_buffer_size - old_buffer_size;
    delete[] old_buffer;
  } else {
    // Shift everything down to make more room in the buffer.
    if (limit_ > next_pos_) {
      memmove(buffer_, next_pos_, limit_ - next_pos_);
    }
    next_pos_ -= free;
    marker_ -= free;
    cursor_ -= free;
    limit_ -= free;
    buffer_file_offset_ += free;
  }
  // Read the new data into the buffer.
  limit_ += source_->Fill(limit_, free);

  // If at the end of file, need to fill YYMAXFILL more characters with "fake
  // characters", that are not a lexeme nor a lexeme suffix. see
  // http://re2c.org/examples/example_03.html.
  if (limit_ < buffer_ + buffer_size_ - YYMAXFILL) {
    eof_ = true;
    // Fill with 0xff, since that is an invalid utf-8 byte.
    memset(limit_, 0xff, YYMAXFILL);
    limit_ += YYMAXFILL;
  }
  return Result::Ok;
}

Token WastLexer::GetToken(WastParser* parser) {
  #line 194 "src/prebuilt/wast-lexer-gen.cc"
enum YYCONDTYPE {
	YYCOND_i,
	YYCOND_BAD_TEXT,
	YYCOND_LINE_COMMENT,
	YYCOND_BLOCK_COMMENT,
};
#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"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	if (cond < 2) {
		if (cond < 1) {
			goto YYCOND_i;
		} else {
			goto YYCOND_BAD_TEXT;
		}
	} else {
		if (cond < 3) {
			goto YYCOND_LINE_COMMENT;
		} else {
			goto YYCOND_BLOCK_COMMENT;
		}
	}
/* *********************************** */
YYCOND_i:
	{
		static const unsigned char yybm[] = {
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   4,   0,   0,   0,   4,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			 36, 104,   0, 104, 104, 104, 104, 104, 
			 32,  32, 104, 104,  40, 104, 104, 104, 
			248, 248, 248, 248, 248, 248, 248, 248, 
			248, 248, 104,  32, 104, 104, 104, 104, 
			104, 232, 232, 232, 232, 232, 232, 104, 
			104, 104, 104, 104, 104, 104, 104, 104, 
			104, 104, 104, 104, 104, 104, 104, 104, 
			104, 104, 104,  40,  72,  40, 104, 104, 
			104, 232, 232, 232, 232, 232, 232, 104, 
			104, 104, 104, 104, 104, 104, 104, 104, 
			104, 104, 104, 104, 104, 104, 104, 104, 
			104, 104, 104,  40, 104,  40, 104,  32, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  0,   0,   0,   0,   0,   0,   0,   0, 
			  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_) < 29) FILL(29);
		yych = *cursor_;
		if (yybm[0+yych] & 4) {
			goto yy5;
		}
		if (yych <= 'e') {
			if (yych <= '+') {
				if (yych <= '#') {
					if (yych <= 0x1F) {
						if (yych <= 0x08) goto yy3;
						if (yych <= '\n') goto yy8;
					} else {
						if (yych == '"') goto yy13;
						goto yy10;
					}
				} else {
					if (yych <= '(') {
						if (yych <= '$') goto yy15;
						if (yych <= '\'') goto yy10;
						goto yy16;
					} else {
						if (yych <= ')') goto yy18;
						if (yych <= '*') goto yy10;
						goto yy20;
					}
				}
			} else {
				if (yych <= ':') {
					if (yych <= '/') {
						if (yych == '-') goto yy20;
						goto yy10;
					} else {
						if (yych <= '0') goto yy21;
						if (yych <= '9') goto yy23;
						goto yy10;
					}
				} else {
					if (yych <= 'a') {
						if (yych <= ';') goto yy25;
						if (yych <= '`') goto yy10;
						goto yy26;
					} else {
						if (yych <= 'b') goto yy27;
						if (yych <= 'c') goto yy28;
						if (yych <= 'd') goto yy29;
						goto yy30;
					}
				}
			}
		} else {
			if (yych <= 's') {
				if (yych <= 'l') {
					if (yych <= 'h') {
						if (yych <= 'f') goto yy31;
						if (yych <= 'g') goto yy32;
						goto yy10;
					} else {
						if (yych <= 'i') goto yy33;
						if (yych <= 'k') goto yy10;
						goto yy34;
					}
				} else {
					if (yych <= 'o') {
						if (yych <= 'm') goto yy35;
						if (yych <= 'n') goto yy36;
						goto yy37;
					} else {
						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 yy42;
						if (yych <= 'u') goto yy43;
						goto yy44;
					} else {
						if (yych <= '~') goto yy10;
						if (yych >= 0x80) goto yy45;
					}
				} else {
					if (yych <= 0xEF) {
						if (yych <= 0xDF) goto yy47;
						if (yych <= 0xE0) goto yy48;
						goto yy49;
					} else {
						if (yych <= 0xF0) goto yy50;
						if (yych <= 0xF3) goto yy51;
						if (yych <= 0xF4) goto yy52;
						goto yy45;
					}
				}
			}
		}
yy3:
		++cursor_;
yy4:
#line 722 "src/wast-lexer.cc"
		{ ERROR("unexpected char"); continue; }
#line 364 "src/prebuilt/wast-lexer-gen.cc"
yy5:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yybm[0+yych] & 4) {
			goto yy5;
		}
#line 720 "src/wast-lexer.cc"
		{ continue; }
#line 374 "src/prebuilt/wast-lexer-gen.cc"
yy8:
		++cursor_;
#line 719 "src/wast-lexer.cc"
		{ NEWLINE; continue; }
#line 379 "src/prebuilt/wast-lexer-gen.cc"
yy10:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
yy11:
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
yy12:
#line 721 "src/wast-lexer.cc"
		{ RETURN_TEXT(Reserved); }
#line 391 "src/prebuilt/wast-lexer-gen.cc"
yy13:
		yyaccept = 0;
		yych = *(marker_ = ++cursor_);
		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"
		{ continue; }
#line 403 "src/prebuilt/wast-lexer-gen.cc"
yy15:
		yych = *++cursor_;
		if (yych <= '\'') {
			if (yych == '!') goto yy66;
			if (yych <= '"') goto yy12;
			goto yy66;
		} else {
			if (yych <= ':') {
				if (yych <= ')') goto yy12;
				goto yy66;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy66;
				goto yy12;
			}
		}
yy16:
		yych = *++cursor_;
		if (yych == ';') goto yy68;
#line 234 "src/wast-lexer.cc"
		{ RETURN(Lpar); }
#line 425 "src/prebuilt/wast-lexer-gen.cc"
yy18:
		++cursor_;
#line 235 "src/wast-lexer.cc"
		{ RETURN(Rpar); }
#line 430 "src/prebuilt/wast-lexer-gen.cc"
yy20:
		yych = *++cursor_;
		if (yych <= 'h') {
			if (yych <= '/') goto yy11;
			if (yych <= '0') goto yy70;
			if (yych <= '9') goto yy72;
			goto yy11;
		} else {
			if (yych <= 'i') goto yy74;
			if (yych == 'n') goto yy75;
			goto yy11;
		}
yy21:
		yych = *++cursor_;
		if (yych == 'x') goto yy80;
		goto yy24;
yy22:
#line 236 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Nat, Int); }
#line 450 "src/prebuilt/wast-lexer-gen.cc"
yy23:
		++cursor_;
		if ((limit_ - cursor_) < 3) FILL(3);
		yych = *cursor_;
yy24:
		if (yybm[0+yych] & 16) {
			goto yy23;
		}
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy22;
				goto yy10;
			} else {
				if (yych <= ')') goto yy22;
				if (yych == '.') goto yy76;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy22;
				if (yych == 'E') goto yy78;
				goto yy10;
			} else {
				if (yych <= 'd') {
					if (yych <= '_') goto yy79;
					goto yy10;
				} else {
					if (yych <= 'e') goto yy78;
					if (yych <= '~') goto yy10;
					goto yy22;
				}
			}
		}
yy25:
		yych = *++cursor_;
		if (yych == ';') goto yy81;
		goto yy4;
yy26:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'l') goto yy83;
			if (yych <= 'm') goto yy11;
			goto yy84;
		} else {
			if (yych <= 'r') goto yy11;
			if (yych <= 's') goto yy85;
			if (yych <= 't') goto yy86;
			goto yy11;
		}
yy27:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'i') goto yy87;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy88;
			if (yych == 'r') goto yy89;
			goto yy11;
		}
yy28:
		yych = *++cursor_;
		if (yych == 'a') goto yy91;
		if (yych == 'u') goto yy92;
		goto yy11;
yy29:
		yych = *++cursor_;
		if (yych == 'a') goto yy93;
		if (yych == 'r') goto yy94;
		goto yy11;
yy30:
		yych = *++cursor_;
		if (yych <= 'm') {
			if (yych == 'l') goto yy95;
			goto yy11;
		} else {
			if (yych <= 'n') goto yy96;
			if (yych == 'x') goto yy97;
			goto yy11;
		}
yy31:
		yych = *++cursor_;
		if (yych <= '5') {
			if (yych == '3') goto yy98;
			goto yy11;
		} else {
			if (yych <= '6') goto yy99;
			if (yych == 'u') goto yy100;
			goto yy11;
		}
yy32:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'e') goto yy101;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy102;
			if (yych == 'r') goto yy103;
			goto yy11;
		}
yy33:
		yych = *++cursor_;
		if (yych <= '7') {
			if (yych <= '2') {
				if (yych == '1') goto yy104;
				goto yy11;
			} else {
				if (yych <= '3') goto yy105;
				if (yych == '6') goto yy106;
				goto yy11;
			}
		} else {
			if (yych <= 'f') {
				if (yych <= '8') goto yy107;
				if (yych <= 'e') goto yy11;
				goto yy108;
			} else {
				if (yych <= 'l') goto yy11;
				if (yych <= 'm') goto yy110;
				if (yych <= 'n') goto yy111;
				goto yy11;
			}
		}
yy34:
		yych = *++cursor_;
		if (yych == 'o') goto yy112;
		goto yy11;
yy35:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'e') goto yy113;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy114;
			if (yych == 'u') goto yy115;
			goto yy11;
		}
yy36:
		yych = *++cursor_;
		if (yych == 'a') goto yy116;
		if (yych == 'o') goto yy117;
		goto yy11;
yy37:
		yych = *++cursor_;
		if (yych == 'f') goto yy118;
		goto yy11;
yy38:
		yych = *++cursor_;
		if (yych == 'a') goto yy119;
		goto yy11;
yy39:
		yych = *++cursor_;
		if (yych == 'u') goto yy120;
		goto yy11;
yy40:
		yych = *++cursor_;
		if (yych == 'e') goto yy121;
		goto yy11;
yy41:
		yych = *++cursor_;
		if (yych <= 'g') {
			if (yych == 'e') goto yy122;
			goto yy11;
		} else {
			if (yych <= 'h') goto yy123;
			if (yych == 't') goto yy124;
			goto yy11;
		}
yy42:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy125;
		case 'e':	goto yy126;
		case 'h':	goto yy127;
		case 'r':	goto yy128;
		case 'y':	goto yy129;
		default:	goto yy11;
		}
yy43:
		yych = *++cursor_;
		if (yych == 'n') goto yy130;
		goto yy11;
yy44:
		yych = *++cursor_;
		if (yych == '1') goto yy131;
		if (yych == '8') goto yy132;
		goto yy11;
yy45:
		++cursor_;
yy46:
#line 723 "src/wast-lexer.cc"
		{ MAYBE_MALFORMED_UTF8(""); }
#line 643 "src/prebuilt/wast-lexer-gen.cc"
yy47:
		yych = *++cursor_;
		if (yych <= 0x7F) goto yy46;
		if (yych <= 0xBF) goto yy3;
		goto yy46;
yy48:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x9F) goto yy46;
		if (yych <= 0xBF) goto yy133;
		goto yy46;
yy49:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy46;
		if (yych <= 0xBF) goto yy133;
		goto yy46;
yy50:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x8F) goto yy46;
		if (yych <= 0xBF) goto yy134;
		goto yy46;
yy51:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy46;
		if (yych <= 0xBF) goto yy134;
		goto yy46;
yy52:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy46;
		if (yych <= 0x8F) goto yy134;
		goto yy46;
yy53:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
yy54:
		if (yybm[0+yych] & 32) {
			goto yy53;
		}
		if (yych <= 0xDF) {
			if (yych <= '"') {
				if (yych >= ' ') goto yy56;
			} else {
				if (yych <= '\\') goto yy58;
				if (yych >= 0xC2) goto yy59;
			}
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xE0) goto yy60;
				if (yych <= 0xEF) goto yy61;
				goto yy62;
			} else {
				if (yych <= 0xF3) goto yy63;
				if (yych <= 0xF4) goto yy64;
			}
		}
yy55:
		cursor_ = marker_;
		if (yyaccept == 0) {
			goto yy14;
		} else {
			goto yy46;
		}
yy56:
		++cursor_;
#line 242 "src/wast-lexer.cc"
		{ RETURN_TEXT(Text); }
#line 715 "src/prebuilt/wast-lexer-gen.cc"
yy58:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '[') {
			if (yych <= '\'') {
				if (yych == '"') goto yy53;
				if (yych <= '&') goto yy55;
				goto yy53;
			} else {
				if (yych <= '9') {
					if (yych <= '/') goto yy55;
					goto yy135;
				} else {
					if (yych <= '@') goto yy55;
					if (yych <= 'F') goto yy135;
					goto yy55;
				}
			}
		} else {
			if (yych <= 'n') {
				if (yych <= '`') {
					if (yych <= '\\') goto yy53;
					goto yy55;
				} else {
					if (yych <= 'f') goto yy135;
					if (yych <= 'm') goto yy55;
					goto yy53;
				}
			} else {
				if (yych <= 'r') {
					if (yych <= 'q') goto yy55;
					goto yy53;
				} else {
					if (yych == 't') goto yy53;
					goto yy55;
				}
			}
		}
yy59:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		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 yy55;
		if (yych <= 0xBF) goto yy59;
		goto yy55;
yy61:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		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 yy55;
		if (yych <= 0xBF) goto yy61;
		goto yy55;
yy63:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		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 yy55;
		if (yych <= 0x8F) goto yy61;
		goto yy55;
yy65:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
yy66:
		if (yybm[0+yych] & 64) {
			goto yy65;
		}
		if (yych <= ')') goto yy67;
		if (yych <= ',') goto yy10;
		if (yych <= ';') goto yy67;
		if (yych <= '}') goto yy10;
yy67:
#line 704 "src/wast-lexer.cc"
		{ RETURN_TEXT(Var); }
#line 812 "src/prebuilt/wast-lexer-gen.cc"
yy68:
		++cursor_;
		BEGIN(YYCOND_BLOCK_COMMENT);
#line 710 "src/wast-lexer.cc"
		{ COMMENT_NESTING = 1; continue; }
#line 818 "src/prebuilt/wast-lexer-gen.cc"
yy70:
		yych = *++cursor_;
		if (yych == 'x') goto yy137;
		goto yy73;
yy71:
#line 237 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Int, Int); }
#line 826 "src/prebuilt/wast-lexer-gen.cc"
yy72:
		++cursor_;
		if ((limit_ - cursor_) < 3) FILL(3);
		yych = *cursor_;
yy73:
		if (yych <= '9') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy71;
				goto yy10;
			} else {
				if (yych <= '-') {
					if (yych <= ')') goto yy71;
					goto yy10;
				} else {
					if (yych <= '.') goto yy76;
					if (yych <= '/') goto yy10;
					goto yy72;
				}
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') {
					if (yych <= ':') goto yy10;
					goto yy71;
				} else {
					if (yych == 'E') goto yy78;
					goto yy10;
				}
			} else {
				if (yych <= 'd') {
					if (yych <= '_') goto yy136;
					goto yy10;
				} else {
					if (yych <= 'e') goto yy78;
					if (yych <= '~') goto yy10;
					goto yy71;
				}
			}
		}
yy74:
		yych = *++cursor_;
		if (yych == 'n') goto yy138;
		goto yy11;
yy75:
		yych = *++cursor_;
		if (yych == 'a') goto yy116;
		goto yy11;
yy76:
		yych = *++cursor_;
		if (yych == '_') goto yy10;
		goto yy140;
yy77:
#line 238 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Float, Float); }
#line 882 "src/prebuilt/wast-lexer-gen.cc"
yy78:
		yych = *++cursor_;
		if (yych <= ',') {
			if (yych == '+') goto yy141;
			goto yy11;
		} else {
			if (yych <= '-') goto yy141;
			if (yych <= '/') goto yy11;
			if (yych <= '9') goto yy142;
			goto yy11;
		}
yy79:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yybm[0+yych] & 16) {
			goto yy23;
		}
		if (yych <= '\'') {
			if (yych == '!') goto yy10;
			if (yych <= '"') goto yy12;
			goto yy10;
		} else {
			if (yych <= ':') {
				if (yych <= ')') goto yy12;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy80:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yybm[0+yych] & 128) {
			goto yy144;
		}
		if (yych <= '\'') {
			if (yych == '!') goto yy10;
			if (yych <= '"') goto yy12;
			goto yy10;
		} else {
			if (yych <= ':') {
				if (yych <= ')') goto yy12;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy81:
		++cursor_;
		BEGIN(YYCOND_LINE_COMMENT);
#line 707 "src/wast-lexer.cc"
		{ continue; }
#line 941 "src/prebuilt/wast-lexer-gen.cc"
yy83:
		yych = *++cursor_;
		if (yych == 'i') goto yy146;
		goto yy11;
yy84:
		yych = *++cursor_;
		if (yych == 'y') goto yy147;
		goto yy11;
yy85:
		yych = *++cursor_;
		if (yych == 's') goto yy148;
		goto yy11;
yy86:
		yych = *++cursor_;
		if (yych == 'o') goto yy149;
		goto yy11;
yy87:
		yych = *++cursor_;
		if (yych == 'n') goto yy150;
		goto yy11;
yy88:
		yych = *++cursor_;
		if (yych == 'o') goto yy151;
		goto yy11;
yy89:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy90;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy152;
				if (yych <= '~') goto yy10;
			}
		}
yy90:
#line 268 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Br); }
#line 986 "src/prebuilt/wast-lexer-gen.cc"
yy91:
		yych = *++cursor_;
		if (yych == 'l') goto yy153;
		if (yych == 't') goto yy154;
		goto yy11;
yy92:
		yych = *++cursor_;
		if (yych == 'r') goto yy155;
		goto yy11;
yy93:
		yych = *++cursor_;
		if (yych == 't') goto yy156;
		goto yy11;
yy94:
		yych = *++cursor_;
		if (yych == 'o') goto yy157;
		goto yy11;
yy95:
		yych = *++cursor_;
		if (yych == 'e') goto yy158;
		if (yych == 's') goto yy159;
		goto yy11;
yy96:
		yych = *++cursor_;
		if (yych == 'd') goto yy160;
		goto yy11;
yy97:
		yych = *++cursor_;
		if (yych == 'c') goto yy162;
		if (yych == 'p') goto yy163;
		goto yy11;
yy98:
		yych = *++cursor_;
		if (yych == '2') goto yy164;
		goto yy11;
yy99:
		yych = *++cursor_;
		if (yych == '4') goto yy166;
		goto yy11;
yy100:
		yych = *++cursor_;
		if (yych == 'n') goto yy168;
		goto yy11;
yy101:
		yych = *++cursor_;
		if (yych == 't') goto yy169;
		goto yy11;
yy102:
		yych = *++cursor_;
		if (yych == 'o') goto yy171;
		goto yy11;
yy103:
		yych = *++cursor_;
		if (yych == 'o') goto yy172;
		goto yy11;
yy104:
		yych = *++cursor_;
		if (yych == '6') goto yy173;
		goto yy11;
yy105:
		yych = *++cursor_;
		if (yych == '2') goto yy174;
		goto yy11;
yy106:
		yych = *++cursor_;
		if (yych == '4') goto yy176;
		goto yy11;
yy107:
		yych = *++cursor_;
		if (yych == 'x') goto yy178;
		goto yy11;
yy108:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy109;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy179;
				if (yych <= '~') goto yy10;
			}
		}
yy109:
#line 264 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(If); }
#line 1078 "src/prebuilt/wast-lexer-gen.cc"
yy110:
		yych = *++cursor_;
		if (yych == 'p') goto yy180;
		goto yy11;
yy111:
		yych = *++cursor_;
		if (yych == 'f') goto yy181;
		if (yych == 'v') goto yy183;
		goto yy11;
yy112:
		yych = *++cursor_;
		if (yych == 'c') goto yy184;
		if (yych == 'o') goto yy185;
		goto yy11;
yy113:
		yych = *++cursor_;
		if (yych == 'm') goto yy186;
		goto yy11;
yy114:
		yych = *++cursor_;
		if (yych == 'd') goto yy187;
		goto yy11;
yy115:
		yych = *++cursor_;
		if (yych == 't') goto yy188;
		goto yy11;
yy116:
		yych = *++cursor_;
		if (yych == 'n') goto yy190;
		goto yy11;
yy117:
		yych = *++cursor_;
		if (yych == 'p') goto yy192;
		goto yy11;
yy118:
		yych = *++cursor_;
		if (yych == 'f') goto yy194;
		goto yy11;
yy119:
		yych = *++cursor_;
		if (yych <= 'q') goto yy11;
		if (yych <= 'r') goto yy195;
		if (yych <= 's') goto yy196;
		goto yy11;
yy120:
		yych = *++cursor_;
		if (yych == 'o') goto yy197;
		goto yy11;
yy121:
		yych = *++cursor_;
		if (yych <= 'r') {
			if (yych == 'g') goto yy198;
			goto yy11;
		} else {
			if (yych <= 's') goto yy199;
			if (yych <= 't') goto yy200;
			goto yy11;
		}
yy122:
		yych = *++cursor_;
		if (yych == 'l') goto yy201;
		if (yych == 't') goto yy202;
		goto yy11;
yy123:
		yych = *++cursor_;
		if (yych == 'a') goto yy203;
		goto yy11;
yy124:
		yych = *++cursor_;
		if (yych == 'a') goto yy204;
		goto yy11;
yy125:
		yych = *++cursor_;
		if (yych == 'b') goto yy205;
		goto yy11;
yy126:
		yych = *++cursor_;
		if (yych == 'e') goto yy206;
		goto yy11;
yy127:
		yych = *++cursor_;
		if (yych == 'e') goto yy207;
		if (yych == 'r') goto yy208;
		goto yy11;
yy128:
		yych = *++cursor_;
		if (yych == 'y') goto yy209;
		goto yy11;
yy129:
		yych = *++cursor_;
		if (yych == 'p') goto yy211;
		goto yy11;
yy130:
		yych = *++cursor_;
		if (yych == 'r') goto yy212;
		goto yy11;
yy131:
		yych = *++cursor_;
		if (yych == '2') goto yy213;
		goto yy11;
yy132:
		yych = *++cursor_;
		if (yych == 'x') goto yy214;
		goto yy11;
yy133:
		yych = *++cursor_;
		if (yych <= 0x7F) goto yy55;
		if (yych <= 0xBF) goto yy3;
		goto yy55;
yy134:
		yych = *++cursor_;
		if (yych <= 0x7F) goto yy55;
		if (yych <= 0xBF) goto yy133;
		goto yy55;
yy135:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '@') {
			if (yych <= '/') goto yy55;
			if (yych <= '9') goto yy53;
			goto yy55;
		} else {
			if (yych <= 'F') goto yy53;
			if (yych <= '`') goto yy55;
			if (yych <= 'f') goto yy53;
			goto yy55;
		}
yy136:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy72;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy137:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '9') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy12;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy12;
				if (yych <= '/') goto yy10;
				goto yy215;
			}
		} else {
			if (yych <= 'F') {
				if (yych == ';') goto yy12;
				if (yych <= '@') goto yy10;
				goto yy215;
			} else {
				if (yych <= '`') goto yy10;
				if (yych <= 'f') goto yy215;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy138:
		yych = *++cursor_;
		if (yych == 'f') goto yy181;
		goto yy11;
yy139:
		++cursor_;
		if ((limit_ - cursor_) < 2) FILL(2);
		yych = *cursor_;
yy140:
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy77;
				goto yy10;
			} else {
				if (yych <= ')') goto yy77;
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy139;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy77;
				if (yych == 'E') goto yy78;
				goto yy10;
			} else {
				if (yych <= 'd') {
					if (yych <= '_') goto yy217;
					goto yy10;
				} else {
					if (yych <= 'e') goto yy78;
					if (yych <= '~') goto yy10;
					goto yy77;
				}
			}
		}
yy141:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych >= ':') goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy142:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '/') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy77;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy77;
				goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '9') goto yy142;
				if (yych <= ':') goto yy10;
				goto yy77;
			} else {
				if (yych == '_') goto yy141;
				if (yych <= '~') goto yy10;
				goto yy77;
			}
		}
yy144:
		++cursor_;
		if ((limit_ - cursor_) < 3) FILL(3);
		yych = *cursor_;
		if (yybm[0+yych] & 128) {
			goto yy144;
		}
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy22;
				goto yy10;
			} else {
				if (yych <= ')') goto yy22;
				if (yych == '.') goto yy218;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy22;
				if (yych == 'P') goto yy220;
				goto yy10;
			} else {
				if (yych <= 'o') {
					if (yych <= '_') goto yy80;
					goto yy10;
				} else {
					if (yych <= 'p') goto yy220;
					if (yych <= '~') goto yy10;
					goto yy22;
				}
			}
		}
yy146:
		yych = *++cursor_;
		if (yych == 'g') goto yy221;
		goto yy11;
yy147:
		yych = *++cursor_;
		if (yych == 'f') goto yy222;
		goto yy11;
yy148:
		yych = *++cursor_;
		if (yych == 'e') goto yy223;
		goto yy11;
yy149:
		yych = *++cursor_;
		if (yych == 'm') goto yy224;
		goto yy11;
yy150:
		yych = *++cursor_;
		if (yych == 'a') goto yy225;
		goto yy11;
yy151:
		yych = *++cursor_;
		if (yych == 'c') goto yy226;
		goto yy11;
yy152:
		yych = *++cursor_;
		if (yych == 'i') goto yy227;
		if (yych == 't') goto yy228;
		goto yy11;
yy153:
		yych = *++cursor_;
		if (yych == 'l') goto yy229;
		goto yy11;
yy154:
		yych = *++cursor_;
		if (yych == 'c') goto yy231;
		goto yy11;
yy155:
		yych = *++cursor_;
		if (yych == 'r') goto yy232;
		goto yy11;
yy156:
		yych = *++cursor_;
		if (yych == 'a') goto yy233;
		goto yy11;
yy157:
		yych = *++cursor_;
		if (yych == 'p') goto yy235;
		goto yy11;
yy158:
		yych = *++cursor_;
		if (yych == 'm') goto yy237;
		goto yy11;
yy159:
		yych = *++cursor_;
		if (yych == 'e') goto yy239;
		goto yy11;
yy160:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 274 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(End); }
#line 1437 "src/prebuilt/wast-lexer-gen.cc"
yy162:
		yych = *++cursor_;
		if (yych == 'e') goto yy241;
		goto yy11;
yy163:
		yych = *++cursor_;
		if (yych == 'o') goto yy242;
		goto yy11;
yy164:
		yych = *++cursor_;
		if (yych <= '-') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '.') goto yy243;
				if (yych <= ':') goto yy10;
			} else {
				if (yych == 'x') goto yy244;
				if (yych <= '~') goto yy10;
			}
		}
#line 257 "src/wast-lexer.cc"
		{ RETURN_TYPE(ValueType, F32); }
#line 1466 "src/prebuilt/wast-lexer-gen.cc"
yy166:
		yych = *++cursor_;
		if (yych <= '-') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '.') goto yy245;
				if (yych <= ':') goto yy10;
			} else {
				if (yych == 'x') goto yy246;
				if (yych <= '~') goto yy10;
			}
		}
#line 258 "src/wast-lexer.cc"
		{ RETURN_TYPE(ValueType, F64); }
#line 1487 "src/prebuilt/wast-lexer-gen.cc"
yy168:
		yych = *++cursor_;
		if (yych == 'c') goto yy247;
		goto yy11;
yy169:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy170;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy249;
				if (yych <= '~') goto yy10;
			}
		}
yy170:
#line 690 "src/wast-lexer.cc"
		{ RETURN(Get); }
#line 1512 "src/prebuilt/wast-lexer-gen.cc"
yy171:
		yych = *++cursor_;
		if (yych == 'b') goto yy250;
		goto yy11;
yy172:
		yych = *++cursor_;
		if (yych == 'w') goto yy251;
		goto yy11;
yy173:
		yych = *++cursor_;
		if (yych == 'x') goto yy252;
		goto yy11;
yy174:
		yych = *++cursor_;
		if (yych <= '-') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '.') goto yy253;
				if (yych <= ':') goto yy10;
			} else {
				if (yych == 'x') goto yy254;
				if (yych <= '~') goto yy10;
			}
		}
#line 255 "src/wast-lexer.cc"
		{ RETURN_TYPE(ValueType, I32); }
#line 1545 "src/prebuilt/wast-lexer-gen.cc"
yy176:
		yych = *++cursor_;
		if (yych <= '-') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '.') goto yy255;
				if (yych <= ':') goto yy10;
			} else {
				if (yych == 'x') goto yy256;
				if (yych <= '~') goto yy10;
			}
		}
#line 256 "src/wast-lexer.cc"
		{ RETURN_TYPE(ValueType, I64); }
#line 1566 "src/prebuilt/wast-lexer-gen.cc"
yy178:
		yych = *++cursor_;
		if (yych == '1') goto yy257;
		goto yy11;
yy179:
		yych = *++cursor_;
		if (yych == 'e') goto yy258;
		goto yy11;
yy180:
		yych = *++cursor_;
		if (yych == 'o') goto yy259;
		goto yy11;
yy181:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 240 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Float, Infinity); }
#line 1586 "src/prebuilt/wast-lexer-gen.cc"
yy183:
		yych = *++cursor_;
		if (yych == 'o') goto yy260;
		goto yy11;
yy184:
		yych = *++cursor_;
		if (yych == 'a') goto yy261;
		goto yy11;
yy185:
		yych = *++cursor_;
		if (yych == 'p') goto yy262;
		goto yy11;
yy186:
		yych = *++cursor_;
		if (yych == 'o') goto yy264;
		goto yy11;
yy187:
		yych = *++cursor_;
		if (yych == 'u') goto yy265;
		goto yy11;
yy188:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 261 "src/wast-lexer.cc"
		{ RETURN(Mut); }
#line 1614 "src/prebuilt/wast-lexer-gen.cc"
yy190:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy191;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '9') goto yy10;
				goto yy266;
			} else {
				if (yych <= ';') goto yy191;
				if (yych <= '~') goto yy10;
			}
		}
yy191:
#line 241 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Float, Nan); }
#line 1636 "src/prebuilt/wast-lexer-gen.cc"
yy192:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 262 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Nop); }
#line 1644 "src/prebuilt/wast-lexer-gen.cc"
yy194:
		yych = *++cursor_;
		if (yych == 's') goto yy267;
		goto yy11;
yy195:
		yych = *++cursor_;
		if (yych == 'a') goto yy268;
		goto yy11;
yy196:
		yych = *++cursor_;
		if (yych == 's') goto yy269;
		goto yy11;
yy197:
		yych = *++cursor_;
		if (yych == 't') goto yy270;
		goto yy11;
yy198:
		yych = *++cursor_;
		if (yych == 'i') goto yy271;
		goto yy11;
yy199:
		yych = *++cursor_;
		if (yych == 'u') goto yy272;
		goto yy11;
yy200:
		yych = *++cursor_;
		if (yych == 'h') goto yy273;
		if (yych == 'u') goto yy274;
		goto yy11;
yy201:
		yych = *++cursor_;
		if (yych == 'e') goto yy275;
		goto yy11;
yy202:
		yych = *++cursor_;
		if (yych == '_') goto yy276;
		goto yy11;
yy203:
		yych = *++cursor_;
		if (yych == 'r') goto yy277;
		goto yy11;
yy204:
		yych = *++cursor_;
		if (yych == 'r') goto yy278;
		goto yy11;
yy205:
		yych = *++cursor_;
		if (yych == 'l') goto yy279;
		goto yy11;
yy206:
		yych = *++cursor_;
		if (yych == '_') goto yy280;
		goto yy11;
yy207:
		yych = *++cursor_;
		if (yych == 'n') goto yy281;
		goto yy11;
yy208:
		yych = *++cursor_;
		if (yych == 'o') goto yy283;
		goto yy11;
yy209:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 699 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Try); }
#line 1713 "src/prebuilt/wast-lexer-gen.cc"
yy211:
		yych = *++cursor_;
		if (yych == 'e') goto yy284;
		goto yy11;
yy212:
		yych = *++cursor_;
		if (yych == 'e') goto yy286;
		goto yy11;
yy213:
		yych = *++cursor_;
		if (yych == '8') goto yy287;
		goto yy11;
yy214:
		yych = *++cursor_;
		if (yych == '1') goto yy289;
		goto yy11;
yy215:
		++cursor_;
		if ((limit_ - cursor_) < 3) FILL(3);
		yych = *cursor_;
		if (yych <= ';') {
			if (yych <= ')') {
				if (yych <= '!') {
					if (yych <= ' ') goto yy71;
					goto yy10;
				} else {
					if (yych <= '"') goto yy71;
					if (yych <= '\'') goto yy10;
					goto yy71;
				}
			} else {
				if (yych <= '/') {
					if (yych == '.') goto yy218;
					goto yy10;
				} else {
					if (yych <= '9') goto yy215;
					if (yych <= ':') goto yy10;
					goto yy71;
				}
			}
		} else {
			if (yych <= '_') {
				if (yych <= 'O') {
					if (yych <= '@') goto yy10;
					if (yych <= 'F') goto yy215;
					goto yy10;
				} else {
					if (yych <= 'P') goto yy220;
					if (yych <= '^') goto yy10;
					goto yy137;
				}
			} else {
				if (yych <= 'o') {
					if (yych <= '`') goto yy10;
					if (yych <= 'f') goto yy215;
					goto yy10;
				} else {
					if (yych <= 'p') goto yy220;
					if (yych <= '~') goto yy10;
					goto yy71;
				}
			}
		}
yy217:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy139;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy218:
		yych = *++cursor_;
		if (yych == '_') goto yy10;
		goto yy291;
yy219:
#line 239 "src/wast-lexer.cc"
		{ RETURN_LITERAL(Float, Hexfloat); }
#line 1808 "src/prebuilt/wast-lexer-gen.cc"
yy220:
		yych = *++cursor_;
		if (yych <= ',') {
			if (yych == '+') goto yy292;
			goto yy11;
		} else {
			if (yych <= '-') goto yy292;
			if (yych <= '/') goto yy11;
			if (yych <= '9') goto yy293;
			goto yy11;
		}
yy221:
		yych = *++cursor_;
		if (yych == 'n') goto yy295;
		goto yy11;
yy222:
		yych = *++cursor_;
		if (yych == 'u') goto yy296;
		goto yy11;
yy223:
		yych = *++cursor_;
		if (yych == 'r') goto yy297;
		goto yy11;
yy224:
		yych = *++cursor_;
		if (yych == 'i') goto yy298;
		goto yy11;
yy225:
		yych = *++cursor_;
		if (yych == 'r') goto yy299;
		goto yy11;
yy226:
		yych = *++cursor_;
		if (yych == 'k') goto yy300;
		goto yy11;
yy227:
		yych = *++cursor_;
		if (yych == 'f') goto yy302;
		goto yy11;
yy228:
		yych = *++cursor_;
		if (yych == 'a') goto yy304;
		goto yy11;
yy229:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy230;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy305;
				if (yych <= '~') goto yy10;
			}
		}
yy230:
#line 271 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Call); }
#line 1872 "src/prebuilt/wast-lexer-gen.cc"
yy231:
		yych = *++cursor_;
		if (yych == 'h') goto yy306;
		goto yy11;
yy232:
		yych = *++cursor_;
		if (yych == 'e') goto yy308;
		goto yy11;
yy233:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 682 "src/wast-lexer.cc"
		{ RETURN(Data); }
#line 1888 "src/prebuilt/wast-lexer-gen.cc"
yy235:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 273 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Drop); }
#line 1896 "src/prebuilt/wast-lexer-gen.cc"
yy237:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 681 "src/wast-lexer.cc"
		{ RETURN(Elem); }
#line 1904 "src/prebuilt/wast-lexer-gen.cc"
yy239:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 266 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Else); }
#line 1912 "src/prebuilt/wast-lexer-gen.cc"
yy241:
		yych = *++cursor_;
		if (yych == 'p') goto yy309;
		goto yy11;
yy242:
		yych = *++cursor_;
		if (yych == 'r') goto yy310;
		goto yy11;
yy243:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy311;
		case 'c':	goto yy312;
		case 'd':	goto yy313;
		case 'e':	goto yy314;
		case 'f':	goto yy315;
		case 'g':	goto yy316;
		case 'l':	goto yy317;
		case 'm':	goto yy318;
		case 'n':	goto yy319;
		case 'r':	goto yy320;
		case 's':	goto yy321;
		case 't':	goto yy322;
		default:	goto yy11;
		}
yy244:
		yych = *++cursor_;
		if (yych == '4') goto yy323;
		goto yy11;
yy245:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy324;
		case 'c':	goto yy325;
		case 'd':	goto yy326;
		case 'e':	goto yy327;
		case 'f':	goto yy328;
		case 'g':	goto yy329;
		case 'l':	goto yy330;
		case 'm':	goto yy331;
		case 'n':	goto yy332;
		case 'p':	goto yy333;
		case 'r':	goto yy334;
		case 's':	goto yy335;
		case 't':	goto yy336;
		default:	goto yy11;
		}
yy246:
		yych = *++cursor_;
		if (yych == '2') goto yy337;
		goto yy11;
yy247:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 670 "src/wast-lexer.cc"
		{ RETURN(Func); }
#line 1971 "src/prebuilt/wast-lexer-gen.cc"
yy249:
		yych = *++cursor_;
		if (yych == 'g') goto yy338;
		if (yych == 'l') goto yy339;
		goto yy11;
yy250:
		yych = *++cursor_;
		if (yych == 'a') goto yy340;
		goto yy11;
yy251:
		yych = *++cursor_;
		if (yych == '_') goto yy341;
		goto yy11;
yy252:
		yych = *++cursor_;
		if (yych == '8') goto yy342;
		goto yy11;
yy253:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy343;
		case 'c':	goto yy344;
		case 'd':	goto yy345;
		case 'e':	goto yy346;
		case 'g':	goto yy347;
		case 'l':	goto yy348;
		case 'm':	goto yy349;
		case 'n':	goto yy350;
		case 'o':	goto yy351;
		case 'p':	goto yy352;
		case 'r':	goto yy353;
		case 's':	goto yy354;
		case 't':	goto yy355;
		case 'w':	goto yy356;
		case 'x':	goto yy357;
		default:	goto yy11;
		}
yy254:
		yych = *++cursor_;
		if (yych == '4') goto yy358;
		goto yy11;
yy255:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy359;
		case 'c':	goto yy360;
		case 'd':	goto yy361;
		case 'e':	goto yy362;
		case 'g':	goto yy363;
		case 'l':	goto yy364;
		case 'm':	goto yy365;
		case 'n':	goto yy366;
		case 'o':	goto yy367;
		case 'p':	goto yy368;
		case 'r':	goto yy369;
		case 's':	goto yy370;
		case 't':	goto yy371;
		case 'x':	goto yy372;
		default:	goto yy11;
		}
yy256:
		yych = *++cursor_;
		if (yych == '2') goto yy373;
		goto yy11;
yy257:
		yych = *++cursor_;
		if (yych == '6') goto yy374;
		goto yy11;
yy258:
		yych = *++cursor_;
		if (yych == 'x') goto yy375;
		goto yy11;
yy259:
		yych = *++cursor_;
		if (yych == 'r') goto yy376;
		goto yy11;
yy260:
		yych = *++cursor_;
		if (yych == 'k') goto yy377;
		goto yy11;
yy261:
		yych = *++cursor_;
		if (yych == 'l') goto yy378;
		goto yy11;
yy262:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 267 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Loop); }
#line 2063 "src/prebuilt/wast-lexer-gen.cc"
yy264:
		yych = *++cursor_;
		if (yych == 'r') goto yy380;
		goto yy11;
yy265:
		yych = *++cursor_;
		if (yych == 'l') goto yy381;
		goto yy11;
yy266:
		yych = *++cursor_;
		if (yych == '0') goto yy382;
		goto yy11;
yy267:
		yych = *++cursor_;
		if (yych == 'e') goto yy383;
		goto yy11;
yy268:
		yych = *++cursor_;
		if (yych == 'm') goto yy384;
		goto yy11;
yy269:
		yych = *++cursor_;
		if (yych == 'i') goto yy386;
		goto yy11;
yy270:
		yych = *++cursor_;
		if (yych == 'e') goto yy387;
		goto yy11;
yy271:
		yych = *++cursor_;
		if (yych == 's') goto yy389;
		goto yy11;
yy272:
		yych = *++cursor_;
		if (yych == 'l') goto yy390;
		goto yy11;
yy273:
		yych = *++cursor_;
		if (yych == 'r') goto yy391;
		goto yy11;
yy274:
		yych = *++cursor_;
		if (yych == 'r') goto yy392;
		goto yy11;
yy275:
		yych = *++cursor_;
		if (yych == 'c') goto yy393;
		goto yy11;
yy276:
		yych = *++cursor_;
		if (yych == 'g') goto yy394;
		if (yych == 'l') goto yy395;
		goto yy11;
yy277:
		yych = *++cursor_;
		if (yych == 'e') goto yy396;
		goto yy11;
yy278:
		yych = *++cursor_;
		if (yych == 't') goto yy397;
		goto yy11;
yy279:
		yych = *++cursor_;
		if (yych == 'e') goto yy399;
		goto yy11;
yy280:
		yych = *++cursor_;
		if (yych == 'l') goto yy401;
		goto yy11;
yy281:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 265 "src/wast-lexer.cc"
		{ RETURN(Then); }
#line 2140 "src/prebuilt/wast-lexer-gen.cc"
yy283:
		yych = *++cursor_;
		if (yych == 'w') goto yy402;
		goto yy11;
yy284:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 669 "src/wast-lexer.cc"
		{ RETURN(Type); }
#line 2152 "src/prebuilt/wast-lexer-gen.cc"
yy286:
		yych = *++cursor_;
		if (yych == 'a') goto yy404;
		goto yy11;
yy287:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy288;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= ':') {
				if (yych == '.') goto yy405;
				goto yy10;
			} else {
				if (yych <= ';') goto yy288;
				if (yych <= '~') goto yy10;
			}
		}
yy288:
#line 259 "src/wast-lexer.cc"
		{ RETURN_TYPE(ValueType, V128); }
#line 2178 "src/prebuilt/wast-lexer-gen.cc"
yy289:
		yych = *++cursor_;
		if (yych == '6') goto yy406;
		goto yy11;
yy290:
		++cursor_;
		if ((limit_ - cursor_) < 2) FILL(2);
		yych = *cursor_;
yy291:
		if (yych <= '@') {
			if (yych <= ')') {
				if (yych <= '!') {
					if (yych <= ' ') goto yy219;
					goto yy10;
				} else {
					if (yych <= '"') goto yy219;
					if (yych <= '\'') goto yy10;
					goto yy219;
				}
			} else {
				if (yych <= '9') {
					if (yych <= '/') goto yy10;
					goto yy290;
				} else {
					if (yych == ';') goto yy219;
					goto yy10;
				}
			}
		} else {
			if (yych <= '_') {
				if (yych <= 'O') {
					if (yych <= 'F') goto yy290;
					goto yy10;
				} else {
					if (yych <= 'P') goto yy220;
					if (yych <= '^') goto yy10;
					goto yy407;
				}
			} else {
				if (yych <= 'o') {
					if (yych <= '`') goto yy10;
					if (yych <= 'f') goto yy290;
					goto yy10;
				} else {
					if (yych <= 'p') goto yy220;
					if (yych <= '~') goto yy10;
					goto yy219;
				}
			}
		}
yy292:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych >= ':') goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy293:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '/') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy219;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy219;
				goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '9') goto yy293;
				if (yych <= ':') goto yy10;
				goto yy219;
			} else {
				if (yych == '_') goto yy292;
				if (yych <= '~') goto yy10;
				goto yy219;
			}
		}
yy295:
		yych = *++cursor_;
		if (yych == '=') goto yy408;
		goto yy11;
yy296:
		yych = *++cursor_;
		if (yych == 'n') goto yy409;
		goto yy11;
yy297:
		yych = *++cursor_;
		if (yych == 't') goto yy410;
		goto yy11;
yy298:
		yych = *++cursor_;
		if (yych == 'c') goto yy411;
		goto yy11;
yy299:
		yych = *++cursor_;
		if (yych == 'y') goto yy412;
		goto yy11;
yy300:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 263 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Block); }
#line 2303 "src/prebuilt/wast-lexer-gen.cc"
yy302:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 269 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(BrIf); }
#line 2311 "src/prebuilt/wast-lexer-gen.cc"
yy304:
		yych = *++cursor_;
		if (yych == 'b') goto yy414;
		goto yy11;
yy305:
		yych = *++cursor_;
		if (yych == 'i') goto yy415;
		goto yy11;
yy306:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 700 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Catch); }
#line 2327 "src/prebuilt/wast-lexer-gen.cc"
yy308:
		yych = *++cursor_;
		if (yych == 'n') goto yy416;
		goto yy11;
yy309:
		yych = *++cursor_;
		if (yych == 't') goto yy417;
		goto yy11;
yy310:
		yych = *++cursor_;
		if (yych == 't') goto yy419;
		goto yy11;
yy311:
		yych = *++cursor_;
		if (yych == 'b') goto yy421;
		if (yych == 'd') goto yy422;
		goto yy11;
yy312:
		yych = *++cursor_;
		if (yych == 'e') goto yy423;
		if (yych == 'o') goto yy424;
		goto yy11;
yy313:
		yych = *++cursor_;
		if (yych == 'e') goto yy425;
		if (yych == 'i') goto yy426;
		goto yy11;
yy314:
		yych = *++cursor_;
		if (yych == 'q') goto yy427;
		goto yy11;
yy315:
		yych = *++cursor_;
		if (yych == 'l') goto yy429;
		goto yy11;
yy316:
		yych = *++cursor_;
		if (yych == 'e') goto yy430;
		if (yych == 't') goto yy432;
		goto yy11;
yy317:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'e') goto yy434;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy436;
			if (yych == 't') goto yy437;
			goto yy11;
		}
yy318:
		yych = *++cursor_;
		if (yych <= 'h') {
			if (yych == 'a') goto yy439;
			goto yy11;
		} else {
			if (yych <= 'i') goto yy440;
			if (yych == 'u') goto yy441;
			goto yy11;
		}
yy319:
		yych = *++cursor_;
		if (yych == 'e') goto yy442;
		goto yy11;
yy320:
		yych = *++cursor_;
		if (yych == 'e') goto yy444;
		goto yy11;
yy321:
		yych = *++cursor_;
		if (yych <= 's') {
			if (yych == 'q') goto yy445;
			goto yy11;
		} else {
			if (yych <= 't') goto yy446;
			if (yych <= 'u') goto yy447;
			goto yy11;
		}
yy322:
		yych = *++cursor_;
		if (yych == 'r') goto yy448;
		goto yy11;
yy323:
		yych = *++cursor_;
		if (yych == '.') goto yy449;
		goto yy11;
yy324:
		yych = *++cursor_;
		if (yych == 'b') goto yy450;
		if (yych == 'd') goto yy451;
		goto yy11;
yy325:
		yych = *++cursor_;
		if (yych == 'e') goto yy452;
		if (yych == 'o') goto yy453;
		goto yy11;
yy326:
		yych = *++cursor_;
		if (yych == 'i') goto yy454;
		goto yy11;
yy327:
		yych = *++cursor_;
		if (yych == 'q') goto yy455;
		goto yy11;
yy328:
		yych = *++cursor_;
		if (yych == 'l') goto yy457;
		goto yy11;
yy329:
		yych = *++cursor_;
		if (yych == 'e') goto yy458;
		if (yych == 't') goto yy460;
		goto yy11;
yy330:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'e') goto yy462;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy464;
			if (yych == 't') goto yy465;
			goto yy11;
		}
yy331:
		yych = *++cursor_;
		if (yych <= 'h') {
			if (yych == 'a') goto yy467;
			goto yy11;
		} else {
			if (yych <= 'i') goto yy468;
			if (yych == 'u') goto yy469;
			goto yy11;
		}
yy332:
		yych = *++cursor_;
		if (yych == 'e') goto yy470;
		goto yy11;
yy333:
		yych = *++cursor_;
		if (yych == 'r') goto yy472;
		goto yy11;
yy334:
		yych = *++cursor_;
		if (yych == 'e') goto yy473;
		goto yy11;
yy335:
		yych = *++cursor_;
		if (yych <= 's') {
			if (yych == 'q') goto yy474;
			goto yy11;
		} else {
			if (yych <= 't') goto yy475;
			if (yych <= 'u') goto yy476;
			goto yy11;
		}
yy336:
		yych = *++cursor_;
		if (yych == 'r') goto yy477;
		goto yy11;
yy337:
		yych = *++cursor_;
		if (yych == '.') goto yy478;
		goto yy11;
yy338:
		yych = *++cursor_;
		if (yych == 'l') goto yy479;
		goto yy11;
yy339:
		yych = *++cursor_;
		if (yych == 'o') goto yy480;
		goto yy11;
yy340:
		yych = *++cursor_;
		if (yych == 'l') goto yy481;
		goto yy11;
yy341:
		yych = *++cursor_;
		if (yych == 'm') goto yy483;
		goto yy11;
yy342:
		yych = *++cursor_;
		if (yych == '.') goto yy484;
		goto yy11;
yy343:
		yych = *++cursor_;
		if (yych <= 'm') {
			if (yych == 'd') goto yy485;
			goto yy11;
		} else {
			if (yych <= 'n') goto yy486;
			if (yych == 't') goto yy487;
			goto yy11;
		}
yy344:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'l') goto yy488;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy489;
			if (yych == 't') goto yy490;
			goto yy11;
		}
yy345:
		yych = *++cursor_;
		if (yych == 'i') goto yy491;
		goto yy11;
yy346:
		yych = *++cursor_;
		if (yych == 'q') goto yy492;
		if (yych == 'x') goto yy494;
		goto yy11;
yy347:
		yych = *++cursor_;
		if (yych == 'e') goto yy495;
		if (yych == 't') goto yy496;
		goto yy11;
yy348:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'e') goto yy497;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy498;
			if (yych == 't') goto yy499;
			goto yy11;
		}
yy349:
		yych = *++cursor_;
		if (yych == 'u') goto yy500;
		goto yy11;
yy350:
		yych = *++cursor_;
		if (yych == 'e') goto yy501;
		goto yy11;
yy351:
		yych = *++cursor_;
		if (yych == 'r') goto yy503;
		goto yy11;
yy352:
		yych = *++cursor_;
		if (yych == 'o') goto yy505;
		goto yy11;
yy353:
		yych = *++cursor_;
		if (yych == 'e') goto yy506;
		if (yych == 'o') goto yy507;
		goto yy11;
yy354:
		yych = *++cursor_;
		if (yych <= 's') {
			if (yych == 'h') goto yy508;
			goto yy11;
		} else {
			if (yych <= 't') goto yy509;
			if (yych <= 'u') goto yy510;
			goto yy11;
		}
yy355:
		yych = *++cursor_;
		if (yych == 'r') goto yy511;
		goto yy11;
yy356:
		yych = *++cursor_;
		if (yych == 'r') goto yy512;
		goto yy11;
yy357:
		yych = *++cursor_;
		if (yych == 'o') goto yy513;
		goto yy11;
yy358:
		yych = *++cursor_;
		if (yych == '.') goto yy514;
		goto yy11;
yy359:
		yych = *++cursor_;
		if (yych <= 'm') {
			if (yych == 'd') goto yy515;
			goto yy11;
		} else {
			if (yych <= 'n') goto yy516;
			if (yych == 't') goto yy517;
			goto yy11;
		}
yy360:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'l') goto yy518;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy519;
			if (yych == 't') goto yy520;
			goto yy11;
		}
yy361:
		yych = *++cursor_;
		if (yych == 'i') goto yy521;
		goto yy11;
yy362:
		yych = *++cursor_;
		if (yych == 'q') goto yy522;
		if (yych == 'x') goto yy524;
		goto yy11;
yy363:
		yych = *++cursor_;
		if (yych == 'e') goto yy525;
		if (yych == 't') goto yy526;
		goto yy11;
yy364:
		yych = *++cursor_;
		if (yych <= 'n') {
			if (yych == 'e') goto yy527;
			goto yy11;
		} else {
			if (yych <= 'o') goto yy528;
			if (yych == 't') goto yy529;
			goto yy11;
		}
yy365:
		yych = *++cursor_;
		if (yych == 'u') goto yy530;
		goto yy11;
yy366:
		yych = *++cursor_;
		if (yych == 'e') goto yy531;
		goto yy11;
yy367:
		yych = *++cursor_;
		if (yych == 'r') goto yy533;
		goto yy11;
yy368:
		yych = *++cursor_;
		if (yych == 'o') goto yy535;
		goto yy11;
yy369:
		yych = *++cursor_;
		if (yych == 'e') goto yy536;
		if (yych == 'o') goto yy537;
		goto yy11;
yy370:
		yych = *++cursor_;
		if (yych <= 's') {
			if (yych == 'h') goto yy538;
			goto yy11;
		} else {
			if (yych <= 't') goto yy539;
			if (yych <= 'u') goto yy540;
			goto yy11;
		}
yy371:
		yych = *++cursor_;
		if (yych == 'r') goto yy541;
		goto yy11;
yy372:
		yych = *++cursor_;
		if (yych == 'o') goto yy542;
		goto yy11;
yy373:
		yych = *++cursor_;
		if (yych == '.') goto yy543;
		goto yy11;
yy374:
		yych = *++cursor_;
		if (yych == '.') goto yy544;
		goto yy11;
yy375:
		yych = *++cursor_;
		if (yych == 'c') goto yy545;
		goto yy11;
yy376:
		yych = *++cursor_;
		if (yych == 't') goto yy546;
		goto yy11;
yy377:
		yych = *++cursor_;
		if (yych == 'e') goto yy548;
		goto yy11;
yy378:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 673 "src/wast-lexer.cc"
		{ RETURN(Local); }
#line 2712 "src/prebuilt/wast-lexer-gen.cc"
yy380:
		yych = *++cursor_;
		if (yych == 'y') goto yy550;
		goto yy11;
yy381:
		yych = *++cursor_;
		if (yych == 'e') goto yy552;
		goto yy11;
yy382:
		yych = *++cursor_;
		if (yych == 'x') goto yy554;
		goto yy11;
yy383:
		yych = *++cursor_;
		if (yych == 't') goto yy555;
		goto yy11;
yy384:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 671 "src/wast-lexer.cc"
		{ RETURN(Param); }
#line 2736 "src/prebuilt/wast-lexer-gen.cc"
yy386:
		yych = *++cursor_;
		if (yych == 'v') goto yy557;
		goto yy11;
yy387:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 677 "src/wast-lexer.cc"
		{ RETURN(Quote); }
#line 2748 "src/prebuilt/wast-lexer-gen.cc"
yy389:
		yych = *++cursor_;
		if (yych == 't') goto yy558;
		goto yy11;
yy390:
		yych = *++cursor_;
		if (yych == 't') goto yy559;
		goto yy11;
yy391:
		yych = *++cursor_;
		if (yych == 'o') goto yy561;
		goto yy11;
yy392:
		yych = *++cursor_;
		if (yych == 'n') goto yy562;
		goto yy11;
yy393:
		yych = *++cursor_;
		if (yych == 't') goto yy564;
		goto yy11;
yy394:
		yych = *++cursor_;
		if (yych == 'l') goto yy566;
		goto yy11;
yy395:
		yych = *++cursor_;
		if (yych == 'o') goto yy567;
		goto yy11;
yy396:
		yych = *++cursor_;
		if (yych == 'd') goto yy568;
		goto yy11;
yy397:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 680 "src/wast-lexer.cc"
		{ RETURN(Start); }
#line 2788 "src/prebuilt/wast-lexer-gen.cc"
yy399:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy400;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= ':') {
				if (yych == '.') goto yy570;
				goto yy10;
			} else {
				if (yych <= ';') goto yy400;
				if (yych <= '~') goto yy10;
			}
		}
yy400:
#line 678 "src/wast-lexer.cc"
		{ RETURN(Table); }
#line 2810 "src/prebuilt/wast-lexer-gen.cc"
yy401:
		yych = *++cursor_;
		if (yych == 'o') goto yy571;
		goto yy11;
yy402:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 701 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Throw); }
#line 2822 "src/prebuilt/wast-lexer-gen.cc"
yy404:
		yych = *++cursor_;
		if (yych == 'c') goto yy572;
		goto yy11;
yy405:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy573;
		case 'b':	goto yy574;
		case 'c':	goto yy575;
		case 'l':	goto yy576;
		case 'n':	goto yy577;
		case 'o':	goto yy578;
		case 's':	goto yy579;
		case 'x':	goto yy580;
		default:	goto yy11;
		}
yy406:
		yych = *++cursor_;
		if (yych == '.') goto yy581;
		goto yy11;
yy407:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '9') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy12;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy12;
				if (yych <= '/') goto yy10;
				goto yy290;
			}
		} else {
			if (yych <= 'F') {
				if (yych == ';') goto yy12;
				if (yych <= '@') goto yy10;
				goto yy290;
			} else {
				if (yych <= '`') goto yy10;
				if (yych <= 'f') goto yy290;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy408:
		yych = *++cursor_;
		if (yych <= '/') goto yy11;
		if (yych <= '0') goto yy582;
		if (yych <= '9') goto yy584;
		goto yy11;
yy409:
		yych = *++cursor_;
		if (yych == 'c') goto yy586;
		goto yy11;
yy410:
		yych = *++cursor_;
		if (yych == '_') goto yy588;
		goto yy11;
yy411:
		yych = *++cursor_;
		if (yych == '.') goto yy589;
		goto yy11;
yy412:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 676 "src/wast-lexer.cc"
		{ RETURN(Bin); }
#line 2895 "src/prebuilt/wast-lexer-gen.cc"
yy414:
		yych = *++cursor_;
		if (yych == 'l') goto yy590;
		goto yy11;
yy415:
		yych = *++cursor_;
		if (yych == 'n') goto yy591;
		goto yy11;
yy416:
		yych = *++cursor_;
		if (yych == 't') goto yy592;
		goto yy11;
yy417:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 686 "src/wast-lexer.cc"
		{ RETURN(Except); }
#line 2915 "src/prebuilt/wast-lexer-gen.cc"
yy419:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 685 "src/wast-lexer.cc"
		{ RETURN(Export); }
#line 2923 "src/prebuilt/wast-lexer-gen.cc"
yy421:
		yych = *++cursor_;
		if (yych == 's') goto yy593;
		goto yy11;
yy422:
		yych = *++cursor_;
		if (yych == 'd') goto yy595;
		goto yy11;
yy423:
		yych = *++cursor_;
		if (yych == 'i') goto yy597;
		goto yy11;
yy424:
		yych = *++cursor_;
		if (yych == 'n') goto yy598;
		if (yych == 'p') goto yy599;
		goto yy11;
yy425:
		yych = *++cursor_;
		if (yych == 'm') goto yy600;
		goto yy11;
yy426:
		yych = *++cursor_;
		if (yych == 'v') goto yy601;
		goto yy11;
yy427:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 401 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Eq); }
#line 2956 "src/prebuilt/wast-lexer-gen.cc"
yy429:
		yych = *++cursor_;
		if (yych == 'o') goto yy603;
		goto yy11;
yy430:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 411 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Ge); }
#line 2968 "src/prebuilt/wast-lexer-gen.cc"
yy432:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 409 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Gt); }
#line 2976 "src/prebuilt/wast-lexer-gen.cc"
yy434:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 407 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Le); }
#line 2984 "src/prebuilt/wast-lexer-gen.cc"
yy436:
		yych = *++cursor_;
		if (yych == 'a') goto yy604;
		goto yy11;
yy437:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 405 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Lt); }
#line 2996 "src/prebuilt/wast-lexer-gen.cc"
yy439:
		yych = *++cursor_;
		if (yych == 'x') goto yy605;
		goto yy11;
yy440:
		yych = *++cursor_;
		if (yych == 'n') goto yy607;
		goto yy11;
yy441:
		yych = *++cursor_;
		if (yych == 'l') goto yy609;
		goto yy11;
yy442:
		yych = *++cursor_;
		if (yych <= ':') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= 'a') {
				if (yych <= ';') goto yy443;
				if (yych <= '`') goto yy10;
				goto yy611;
			} else {
				if (yych == 'g') goto yy612;
				if (yych <= '~') goto yy10;
			}
		}
yy443:
#line 403 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32Ne); }
#line 3031 "src/prebuilt/wast-lexer-gen.cc"
yy444:
		yych = *++cursor_;
		if (yych == 'i') goto yy614;
		goto yy11;
yy445:
		yych = *++cursor_;
		if (yych == 'r') goto yy615;
		goto yy11;
yy446:
		yych = *++cursor_;
		if (yych == 'o') goto yy616;
		goto yy11;
yy447:
		yych = *++cursor_;
		if (yych == 'b') goto yy617;
		goto yy11;
yy448:
		yych = *++cursor_;
		if (yych == 'u') goto yy619;
		goto yy11;
yy449:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy620;
		case 'c':	goto yy621;
		case 'd':	goto yy622;
		case 'e':	goto yy623;
		case 'g':	goto yy624;
		case 'l':	goto yy625;
		case 'm':	goto yy626;
		case 'n':	goto yy627;
		case 'r':	goto yy628;
		case 's':	goto yy629;
		default:	goto yy11;
		}
yy450:
		yych = *++cursor_;
		if (yych == 's') goto yy630;
		goto yy11;
yy451:
		yych = *++cursor_;
		if (yych == 'd') goto yy632;
		goto yy11;
yy452:
		yych = *++cursor_;
		if (yych == 'i') goto yy634;
		goto yy11;
yy453:
		yych = *++cursor_;
		if (yych == 'n') goto yy635;
		if (yych == 'p') goto yy636;
		goto yy11;
yy454:
		yych = *++cursor_;
		if (yych == 'v') goto yy637;
		goto yy11;
yy455:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 402 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Eq); }
#line 3095 "src/prebuilt/wast-lexer-gen.cc"
yy457:
		yych = *++cursor_;
		if (yych == 'o') goto yy639;
		goto yy11;
yy458:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 412 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Ge); }
#line 3107 "src/prebuilt/wast-lexer-gen.cc"
yy460:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 410 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Gt); }
#line 3115 "src/prebuilt/wast-lexer-gen.cc"
yy462:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 408 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Le); }
#line 3123 "src/prebuilt/wast-lexer-gen.cc"
yy464:
		yych = *++cursor_;
		if (yych == 'a') goto yy640;
		goto yy11;
yy465:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 406 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Lt); }
#line 3135 "src/prebuilt/wast-lexer-gen.cc"
yy467:
		yych = *++cursor_;
		if (yych == 'x') goto yy641;
		goto yy11;
yy468:
		yych = *++cursor_;
		if (yych == 'n') goto yy643;
		goto yy11;
yy469:
		yych = *++cursor_;
		if (yych == 'l') goto yy645;
		goto yy11;
yy470:
		yych = *++cursor_;
		if (yych <= ':') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych >= '*') goto yy10;
			}
		} else {
			if (yych <= 'a') {
				if (yych <= ';') goto yy471;
				if (yych <= '`') goto yy10;
				goto yy647;
			} else {
				if (yych == 'g') goto yy648;
				if (yych <= '~') goto yy10;
			}
		}
yy471:
#line 404 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64Ne); }
#line 3170 "src/prebuilt/wast-lexer-gen.cc"
yy472:
		yych = *++cursor_;
		if (yych == 'o') goto yy650;
		goto yy11;
yy473:
		yych = *++cursor_;
		if (yych == 'i') goto yy651;
		goto yy11;
yy474:
		yych = *++cursor_;
		if (yych == 'r') goto yy652;
		goto yy11;
yy475:
		yych = *++cursor_;
		if (yych == 'o') goto yy653;
		goto yy11;
yy476:
		yych = *++cursor_;
		if (yych == 'b') goto yy654;
		goto yy11;
yy477:
		yych = *++cursor_;
		if (yych == 'u') goto yy656;
		goto yy11;
yy478:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy657;
		case 'c':	goto yy658;
		case 'd':	goto yy659;
		case 'e':	goto yy660;
		case 'g':	goto yy661;
		case 'l':	goto yy662;
		case 'm':	goto yy663;
		case 'n':	goto yy664;
		case 'r':	goto yy665;
		case 's':	goto yy666;
		default:	goto yy11;
		}
yy479:
		yych = *++cursor_;
		if (yych == 'o') goto yy667;
		goto yy11;
yy480:
		yych = *++cursor_;
		if (yych == 'c') goto yy668;
		goto yy11;
yy481:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 674 "src/wast-lexer.cc"
		{ RETURN(Global); }
#line 3225 "src/prebuilt/wast-lexer-gen.cc"
yy483:
		yych = *++cursor_;
		if (yych == 'e') goto yy669;
		goto yy11;
yy484:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy670;
		case 'e':	goto yy671;
		case 'g':	goto yy672;
		case 'l':	goto yy673;
		case 'm':	goto yy674;
		case 'n':	goto yy675;
		case 'r':	goto yy676;
		case 's':	goto yy677;
		default:	goto yy11;
		}
yy485:
		yych = *++cursor_;
		if (yych == 'd') goto yy678;
		goto yy11;
yy486:
		yych = *++cursor_;
		if (yych == 'd') goto yy680;
		goto yy11;
yy487:
		yych = *++cursor_;
		if (yych == 'o') goto yy682;
		goto yy11;
yy488:
		yych = *++cursor_;
		if (yych == 'z') goto yy683;
		goto yy11;
yy489:
		yych = *++cursor_;
		if (yych == 'n') goto yy685;
		goto yy11;
yy490:
		yych = *++cursor_;
		if (yych == 'z') goto yy686;
		goto yy11;
yy491:
		yych = *++cursor_;
		if (yych == 'v') goto yy688;
		goto yy11;
yy492:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy493;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'y') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'z') goto yy689;
				if (yych <= '~') goto yy10;
			}
		}
yy493:
#line 381 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32Eq); }
#line 3291 "src/prebuilt/wast-lexer-gen.cc"
yy494:
		yych = *++cursor_;
		if (yych == 't') goto yy691;
		goto yy11;
yy495:
		yych = *++cursor_;
		if (yych == '_') goto yy692;
		goto yy11;
yy496:
		yych = *++cursor_;
		if (yych == '_') goto yy693;
		goto yy11;
yy497:
		yych = *++cursor_;
		if (yych == '_') goto yy694;
		goto yy11;
yy498:
		yych = *++cursor_;
		if (yych == 'a') goto yy695;
		goto yy11;
yy499:
		yych = *++cursor_;
		if (yych == '_') goto yy696;
		goto yy11;
yy500:
		yych = *++cursor_;
		if (yych == 'l') goto yy697;
		goto yy11;
yy501:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 383 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32Ne); }
#line 3327 "src/prebuilt/wast-lexer-gen.cc"
yy503:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 353 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Or); }
#line 3335 "src/prebuilt/wast-lexer-gen.cc"
yy505:
		yych = *++cursor_;
		if (yych == 'p') goto yy699;
		goto yy11;
yy506:
		yych = *++cursor_;
		if (yych == 'i') goto yy700;
		if (yych == 'm') goto yy701;
		goto yy11;
yy507:
		yych = *++cursor_;
		if (yych == 't') goto yy702;
		goto yy11;
yy508:
		yych = *++cursor_;
		if (yych == 'l') goto yy703;
		if (yych == 'r') goto yy705;
		goto yy11;
yy509:
		yych = *++cursor_;
		if (yych == 'o') goto yy706;
		goto yy11;
yy510:
		yych = *++cursor_;
		if (yych == 'b') goto yy707;
		goto yy11;
yy511:
		yych = *++cursor_;
		if (yych == 'u') goto yy709;
		goto yy11;
yy512:
		yych = *++cursor_;
		if (yych == 'a') goto yy710;
		goto yy11;
yy513:
		yych = *++cursor_;
		if (yych == 'r') goto yy711;
		goto yy11;
yy514:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy713;
		case 'e':	goto yy714;
		case 'g':	goto yy715;
		case 'l':	goto yy716;
		case 'm':	goto yy717;
		case 'n':	goto yy718;
		case 'r':	goto yy719;
		case 's':	goto yy720;
		case 't':	goto yy721;
		default:	goto yy11;
		}
yy515:
		yych = *++cursor_;
		if (yych == 'd') goto yy722;
		goto yy11;
yy516:
		yych = *++cursor_;
		if (yych == 'd') goto yy724;
		goto yy11;
yy517:
		yych = *++cursor_;
		if (yych == 'o') goto yy726;
		goto yy11;
yy518:
		yych = *++cursor_;
		if (yych == 'z') goto yy727;
		goto yy11;
yy519:
		yych = *++cursor_;
		if (yych == 'n') goto yy729;
		goto yy11;
yy520:
		yych = *++cursor_;
		if (yych == 'z') goto yy730;
		goto yy11;
yy521:
		yych = *++cursor_;
		if (yych == 'v') goto yy732;
		goto yy11;
yy522:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy523;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'y') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'z') goto yy733;
				if (yych <= '~') goto yy10;
			}
		}
yy523:
#line 382 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64Eq); }
#line 3436 "src/prebuilt/wast-lexer-gen.cc"
yy524:
		yych = *++cursor_;
		if (yych == 't') goto yy735;
		goto yy11;
yy525:
		yych = *++cursor_;
		if (yych == '_') goto yy736;
		goto yy11;
yy526:
		yych = *++cursor_;
		if (yych == '_') goto yy737;
		goto yy11;
yy527:
		yych = *++cursor_;
		if (yych == '_') goto yy738;
		goto yy11;
yy528:
		yych = *++cursor_;
		if (yych == 'a') goto yy739;
		goto yy11;
yy529:
		yych = *++cursor_;
		if (yych == '_') goto yy740;
		goto yy11;
yy530:
		yych = *++cursor_;
		if (yych == 'l') goto yy741;
		goto yy11;
yy531:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 384 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64Ne); }
#line 3472 "src/prebuilt/wast-lexer-gen.cc"
yy533:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 354 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Or); }
#line 3480 "src/prebuilt/wast-lexer-gen.cc"
yy535:
		yych = *++cursor_;
		if (yych == 'p') goto yy743;
		goto yy11;
yy536:
		yych = *++cursor_;
		if (yych == 'i') goto yy744;
		if (yych == 'm') goto yy745;
		goto yy11;
yy537:
		yych = *++cursor_;
		if (yych == 't') goto yy746;
		goto yy11;
yy538:
		yych = *++cursor_;
		if (yych == 'l') goto yy747;
		if (yych == 'r') goto yy749;
		goto yy11;
yy539:
		yych = *++cursor_;
		if (yych == 'o') goto yy750;
		goto yy11;
yy540:
		yych = *++cursor_;
		if (yych == 'b') goto yy751;
		goto yy11;
yy541:
		yych = *++cursor_;
		if (yych == 'u') goto yy753;
		goto yy11;
yy542:
		yych = *++cursor_;
		if (yych == 'r') goto yy754;
		goto yy11;
yy543:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy756;
		case 'e':	goto yy757;
		case 'n':	goto yy758;
		case 'r':	goto yy759;
		case 's':	goto yy760;
		case 't':	goto yy761;
		default:	goto yy11;
		}
yy544:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy762;
		case 'e':	goto yy763;
		case 'g':	goto yy764;
		case 'l':	goto yy765;
		case 'm':	goto yy766;
		case 'n':	goto yy767;
		case 'r':	goto yy768;
		case 's':	goto yy769;
		default:	goto yy11;
		}
yy545:
		yych = *++cursor_;
		if (yych == 'e') goto yy770;
		goto yy11;
yy546:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 684 "src/wast-lexer.cc"
		{ RETURN(Import); }
#line 3550 "src/prebuilt/wast-lexer-gen.cc"
yy548:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 689 "src/wast-lexer.cc"
		{ RETURN(Invoke); }
#line 3558 "src/prebuilt/wast-lexer-gen.cc"
yy550:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy551;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= ':') {
				if (yych == '.') goto yy771;
				goto yy10;
			} else {
				if (yych <= ';') goto yy551;
				if (yych <= '~') goto yy10;
			}
		}
yy551:
#line 679 "src/wast-lexer.cc"
		{ RETURN(Memory); }
#line 3580 "src/prebuilt/wast-lexer-gen.cc"
yy552:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 675 "src/wast-lexer.cc"
		{ RETURN(Module); }
#line 3588 "src/prebuilt/wast-lexer-gen.cc"
yy554:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '9') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy12;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy12;
				if (yych <= '/') goto yy10;
				goto yy772;
			}
		} else {
			if (yych <= 'F') {
				if (yych == ';') goto yy12;
				if (yych <= '@') goto yy10;
				goto yy772;
			} else {
				if (yych <= '`') goto yy10;
				if (yych <= 'f') goto yy772;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy555:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy556;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '<') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '=') goto yy774;
				if (yych <= '~') goto yy10;
			}
		}
yy556:
#line 683 "src/wast-lexer.cc"
		{ RETURN(Offset); }
#line 3635 "src/prebuilt/wast-lexer-gen.cc"
yy557:
		yych = *++cursor_;
		if (yych == 'e') goto yy775;
		goto yy11;
yy558:
		yych = *++cursor_;
		if (yych == 'e') goto yy777;
		goto yy11;
yy559:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 672 "src/wast-lexer.cc"
		{ RETURN(Result); }
#line 3651 "src/prebuilt/wast-lexer-gen.cc"
yy561:
		yych = *++cursor_;
		if (yych == 'w') goto yy778;
		goto yy11;
yy562:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy563;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy780;
				if (yych <= '~') goto yy10;
			}
		}
yy563:
#line 275 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Return); }
#line 3676 "src/prebuilt/wast-lexer-gen.cc"
yy564:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 446 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Select); }
#line 3684 "src/prebuilt/wast-lexer-gen.cc"
yy566:
		yych = *++cursor_;
		if (yych == 'o') goto yy781;
		goto yy11;
yy567:
		yych = *++cursor_;
		if (yych == 'c') goto yy782;
		goto yy11;
yy568:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 705 "src/wast-lexer.cc"
		{ RETURN(Shared); }
#line 3700 "src/prebuilt/wast-lexer-gen.cc"
yy570:
		yych = *++cursor_;
		if (yych <= 'd') {
			if (yych <= 'b') goto yy11;
			if (yych <= 'c') goto yy783;
			goto yy784;
		} else {
			if (yych == 'i') goto yy785;
			goto yy11;
		}
yy571:
		yych = *++cursor_;
		if (yych == 'c') goto yy786;
		goto yy11;
yy572:
		yych = *++cursor_;
		if (yych == 'h') goto yy787;
		goto yy11;
yy573:
		yych = *++cursor_;
		if (yych == 'n') goto yy788;
		goto yy11;
yy574:
		yych = *++cursor_;
		if (yych == 'i') goto yy789;
		goto yy11;
yy575:
		yych = *++cursor_;
		if (yych == 'o') goto yy790;
		goto yy11;
yy576:
		yych = *++cursor_;
		if (yych == 'o') goto yy791;
		goto yy11;
yy577:
		yych = *++cursor_;
		if (yych == 'o') goto yy792;
		goto yy11;
yy578:
		yych = *++cursor_;
		if (yych == 'r') goto yy793;
		goto yy11;
yy579:
		yych = *++cursor_;
		if (yych == 't') goto yy795;
		goto yy11;
yy580:
		yych = *++cursor_;
		if (yych == 'o') goto yy796;
		goto yy11;
yy581:
		yych = *++cursor_;
		if (yych == 's') goto yy797;
		goto yy11;
yy582:
		yych = *++cursor_;
		if (yych == 'x') goto yy799;
		goto yy585;
yy583:
#line 305 "src/wast-lexer.cc"
		{ RETURN_TEXT_AT(AlignEqNat, 6); }
#line 3762 "src/prebuilt/wast-lexer-gen.cc"
yy584:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
yy585:
		if (yych <= '/') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy583;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy583;
				goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '9') goto yy584;
				if (yych <= ':') goto yy10;
				goto yy583;
			} else {
				if (yych == '_') goto yy798;
				if (yych <= '~') goto yy10;
				goto yy583;
			}
		}
yy586:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 260 "src/wast-lexer.cc"
		{ RETURN(Anyfunc); }
#line 3795 "src/prebuilt/wast-lexer-gen.cc"
yy588:
		yych = *++cursor_;
		switch (yych) {
		case 'e':	goto yy800;
		case 'i':	goto yy801;
		case 'm':	goto yy802;
		case 'r':	goto yy803;
		case 't':	goto yy804;
		case 'u':	goto yy805;
		default:	goto yy11;
		}
yy589:
		yych = *++cursor_;
		if (yych == 'w') goto yy806;
		goto yy11;
yy590:
		yych = *++cursor_;
		if (yych == 'e') goto yy807;
		goto yy11;
yy591:
		yych = *++cursor_;
		if (yych == 'd') goto yy809;
		goto yy11;
yy592:
		yych = *++cursor_;
		if (yych == '_') goto yy810;
		goto yy11;
yy593:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 320 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Abs); }
#line 3830 "src/prebuilt/wast-lexer-gen.cc"
yy595:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 367 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Add); }
#line 3838 "src/prebuilt/wast-lexer-gen.cc"
yy597:
		yych = *++cursor_;
		if (yych == 'l') goto yy811;
		goto yy11;
yy598:
		yych = *++cursor_;
		if (yych == 's') goto yy813;
		if (yych == 'v') goto yy814;
		goto yy11;
yy599:
		yych = *++cursor_;
		if (yych == 'y') goto yy815;
		goto yy11;
yy600:
		yych = *++cursor_;
		if (yych == 'o') goto yy816;
		goto yy11;
yy601:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 373 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Div); }
#line 3863 "src/prebuilt/wast-lexer-gen.cc"
yy603:
		yych = *++cursor_;
		if (yych == 'o') goto yy817;
		goto yy11;
yy604:
		yych = *++cursor_;
		if (yych == 'd') goto yy818;
		goto yy11;
yy605:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 377 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Max); }
#line 3879 "src/prebuilt/wast-lexer-gen.cc"
yy607:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 375 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Min); }
#line 3887 "src/prebuilt/wast-lexer-gen.cc"
yy609:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 371 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Mul); }
#line 3895 "src/prebuilt/wast-lexer-gen.cc"
yy611:
		yych = *++cursor_;
		if (yych == 'r') goto yy820;
		goto yy11;
yy612:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 318 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Neg); }
#line 3907 "src/prebuilt/wast-lexer-gen.cc"
yy614:
		yych = *++cursor_;
		if (yych == 'n') goto yy821;
		goto yy11;
yy615:
		yych = *++cursor_;
		if (yych == 't') goto yy822;
		goto yy11;
yy616:
		yych = *++cursor_;
		if (yych == 'r') goto yy824;
		goto yy11;
yy617:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 369 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Sub); }
#line 3927 "src/prebuilt/wast-lexer-gen.cc"
yy619:
		yych = *++cursor_;
		if (yych == 'n') goto yy825;
		goto yy11;
yy620:
		yych = *++cursor_;
		if (yych == 'b') goto yy826;
		if (yych == 'd') goto yy827;
		goto yy11;
yy621:
		yych = *++cursor_;
		if (yych == 'o') goto yy828;
		goto yy11;
yy622:
		yych = *++cursor_;
		if (yych == 'i') goto yy829;
		goto yy11;
yy623:
		yych = *++cursor_;
		if (yych == 'q') goto yy830;
		if (yych == 'x') goto yy832;
		goto yy11;
yy624:
		yych = *++cursor_;
		if (yych == 'e') goto yy833;
		if (yych == 't') goto yy835;
		goto yy11;
yy625:
		yych = *++cursor_;
		if (yych == 'e') goto yy837;
		if (yych == 't') goto yy839;
		goto yy11;
yy626:
		yych = *++cursor_;
		if (yych <= 'h') {
			if (yych == 'a') goto yy841;
			goto yy11;
		} else {
			if (yych <= 'i') goto yy842;
			if (yych == 'u') goto yy843;
			goto yy11;
		}
yy627:
		yych = *++cursor_;
		if (yych == 'e') goto yy844;
		goto yy11;
yy628:
		yych = *++cursor_;
		if (yych == 'e') goto yy846;
		goto yy11;
yy629:
		yych = *++cursor_;
		if (yych <= 'q') {
			if (yych <= 'o') goto yy11;
			if (yych <= 'p') goto yy847;
			goto yy848;
		} else {
			if (yych == 'u') goto yy849;
			goto yy11;
		}
yy630:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 321 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Abs); }
#line 3995 "src/prebuilt/wast-lexer-gen.cc"
yy632:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 368 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Add); }
#line 4003 "src/prebuilt/wast-lexer-gen.cc"
yy634:
		yych = *++cursor_;
		if (yych == 'l') goto yy850;
		goto yy11;
yy635:
		yych = *++cursor_;
		if (yych == 's') goto yy852;
		if (yych == 'v') goto yy853;
		goto yy11;
yy636:
		yych = *++cursor_;
		if (yych == 'y') goto yy854;
		goto yy11;
yy637:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 374 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Div); }
#line 4024 "src/prebuilt/wast-lexer-gen.cc"
yy639:
		yych = *++cursor_;
		if (yych == 'o') goto yy855;
		goto yy11;
yy640:
		yych = *++cursor_;
		if (yych == 'd') goto yy856;
		goto yy11;
yy641:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 378 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Max); }
#line 4040 "src/prebuilt/wast-lexer-gen.cc"
yy643:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 376 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Min); }
#line 4048 "src/prebuilt/wast-lexer-gen.cc"
yy645:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 372 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Mul); }
#line 4056 "src/prebuilt/wast-lexer-gen.cc"
yy647:
		yych = *++cursor_;
		if (yych == 'r') goto yy858;
		goto yy11;
yy648:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 319 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Neg); }
#line 4068 "src/prebuilt/wast-lexer-gen.cc"
yy650:
		yych = *++cursor_;
		if (yych == 'm') goto yy859;
		goto yy11;
yy651:
		yych = *++cursor_;
		if (yych == 'n') goto yy860;
		goto yy11;
yy652:
		yych = *++cursor_;
		if (yych == 't') goto yy861;
		goto yy11;
yy653:
		yych = *++cursor_;
		if (yych == 'r') goto yy863;
		goto yy11;
yy654:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 370 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Sub); }
#line 4092 "src/prebuilt/wast-lexer-gen.cc"
yy656:
		yych = *++cursor_;
		if (yych == 'n') goto yy864;
		goto yy11;
yy657:
		yych = *++cursor_;
		if (yych == 'b') goto yy865;
		if (yych == 'd') goto yy866;
		goto yy11;
yy658:
		yych = *++cursor_;
		if (yych == 'o') goto yy867;
		goto yy11;
yy659:
		yych = *++cursor_;
		if (yych == 'i') goto yy868;
		goto yy11;
yy660:
		yych = *++cursor_;
		if (yych == 'q') goto yy869;
		if (yych == 'x') goto yy871;
		goto yy11;
yy661:
		yych = *++cursor_;
		if (yych == 'e') goto yy872;
		if (yych == 't') goto yy874;
		goto yy11;
yy662:
		yych = *++cursor_;
		if (yych == 'e') goto yy876;
		if (yych == 't') goto yy878;
		goto yy11;
yy663:
		yych = *++cursor_;
		if (yych <= 'h') {
			if (yych == 'a') goto yy880;
			goto yy11;
		} else {
			if (yych <= 'i') goto yy881;
			if (yych == 'u') goto yy882;
			goto yy11;
		}
yy664:
		yych = *++cursor_;
		if (yych == 'e') goto yy883;
		goto yy11;
yy665:
		yych = *++cursor_;
		if (yych == 'e') goto yy885;
		goto yy11;
yy666:
		yych = *++cursor_;
		if (yych <= 'q') {
			if (yych <= 'o') goto yy11;
			if (yych <= 'p') goto yy886;
			goto yy887;
		} else {
			if (yych == 'u') goto yy888;
			goto yy11;
		}
yy667:
		yych = *++cursor_;
		if (yych == 'b') goto yy889;
		goto yy11;
yy668:
		yych = *++cursor_;
		if (yych == 'a') goto yy890;
		goto yy11;
yy669:
		yych = *++cursor_;
		if (yych == 'm') goto yy891;
		goto yy11;
yy670:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'd') goto yy892;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy893;
			if (yych == 'n') goto yy894;
			goto yy11;
		}
yy671:
		yych = *++cursor_;
		if (yych == 'q') goto yy895;
		if (yych == 'x') goto yy897;
		goto yy11;
yy672:
		yych = *++cursor_;
		if (yych == 'e') goto yy898;
		if (yych == 't') goto yy899;
		goto yy11;
yy673:
		yych = *++cursor_;
		if (yych == 'e') goto yy900;
		if (yych == 't') goto yy901;
		goto yy11;
yy674:
		yych = *++cursor_;
		if (yych == 'u') goto yy902;
		goto yy11;
yy675:
		yych = *++cursor_;
		if (yych == 'e') goto yy903;
		goto yy11;
yy676:
		yych = *++cursor_;
		if (yych == 'e') goto yy905;
		goto yy11;
yy677:
		yych = *++cursor_;
		if (yych <= 'o') {
			if (yych == 'h') goto yy906;
			goto yy11;
		} else {
			if (yych <= 'p') goto yy907;
			if (yych == 'u') goto yy908;
			goto yy11;
		}
yy678:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 337 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Add); }
#line 4219 "src/prebuilt/wast-lexer-gen.cc"
yy680:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 351 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32And); }
#line 4227 "src/prebuilt/wast-lexer-gen.cc"
yy682:
		yych = *++cursor_;
		if (yych == 'm') goto yy909;
		goto yy11;
yy683:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 312 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32Clz); }
#line 4239 "src/prebuilt/wast-lexer-gen.cc"
yy685:
		yych = *++cursor_;
		if (yych == 's') goto yy910;
		goto yy11;
yy686:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 314 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32Ctz); }
#line 4251 "src/prebuilt/wast-lexer-gen.cc"
yy688:
		yych = *++cursor_;
		if (yych == '_') goto yy911;
		goto yy11;
yy689:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 310 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32Eqz); }
#line 4263 "src/prebuilt/wast-lexer-gen.cc"
yy691:
		yych = *++cursor_;
		if (yych == 'e') goto yy912;
		goto yy11;
yy692:
		yych = *++cursor_;
		if (yych == 's') goto yy913;
		if (yych == 'u') goto yy915;
		goto yy11;
yy693:
		yych = *++cursor_;
		if (yych == 's') goto yy917;
		if (yych == 'u') goto yy919;
		goto yy11;
yy694:
		yych = *++cursor_;
		if (yych == 's') goto yy921;
		if (yych == 'u') goto yy923;
		goto yy11;
yy695:
		yych = *++cursor_;
		if (yych == 'd') goto yy925;
		goto yy11;
yy696:
		yych = *++cursor_;
		if (yych == 's') goto yy927;
		if (yych == 'u') goto yy929;
		goto yy11;
yy697:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 341 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Mul); }
#line 4299 "src/prebuilt/wast-lexer-gen.cc"
yy699:
		yych = *++cursor_;
		if (yych == 'c') goto yy931;
		goto yy11;
yy700:
		yych = *++cursor_;
		if (yych == 'n') goto yy932;
		goto yy11;
yy701:
		yych = *++cursor_;
		if (yych == '_') goto yy933;
		goto yy11;
yy702:
		yych = *++cursor_;
		if (yych == 'l') goto yy934;
		if (yych == 'r') goto yy936;
		goto yy11;
yy703:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 357 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Shl); }
#line 4324 "src/prebuilt/wast-lexer-gen.cc"
yy705:
		yych = *++cursor_;
		if (yych == '_') goto yy938;
		goto yy11;
yy706:
		yych = *++cursor_;
		if (yych == 'r') goto yy939;
		goto yy11;
yy707:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 339 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Sub); }
#line 4340 "src/prebuilt/wast-lexer-gen.cc"
yy709:
		yych = *++cursor_;
		if (yych == 'n') goto yy940;
		goto yy11;
yy710:
		yych = *++cursor_;
		if (yych == 'p') goto yy941;
		goto yy11;
yy711:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 355 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Xor); }
#line 4356 "src/prebuilt/wast-lexer-gen.cc"
yy713:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'd') goto yy942;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy943;
			if (yych == 'n') goto yy944;
			goto yy11;
		}
yy714:
		yych = *++cursor_;
		if (yych == 'q') goto yy945;
		if (yych == 'x') goto yy947;
		goto yy11;
yy715:
		yych = *++cursor_;
		if (yych == 'e') goto yy948;
		if (yych == 't') goto yy949;
		goto yy11;
yy716:
		yych = *++cursor_;
		if (yych == 'e') goto yy950;
		if (yych == 't') goto yy951;
		goto yy11;
yy717:
		yych = *++cursor_;
		if (yych == 'u') goto yy952;
		goto yy11;
yy718:
		yych = *++cursor_;
		if (yych == 'e') goto yy953;
		goto yy11;
yy719:
		yych = *++cursor_;
		if (yych == 'e') goto yy955;
		goto yy11;
yy720:
		yych = *++cursor_;
		if (yych <= 'o') {
			if (yych == 'h') goto yy956;
			goto yy11;
		} else {
			if (yych <= 'p') goto yy957;
			if (yych == 'u') goto yy958;
			goto yy11;
		}
yy721:
		yych = *++cursor_;
		if (yych == 'r') goto yy959;
		goto yy11;
yy722:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 338 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Add); }
#line 4415 "src/prebuilt/wast-lexer-gen.cc"
yy724:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 352 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64And); }
#line 4423 "src/prebuilt/wast-lexer-gen.cc"
yy726:
		yych = *++cursor_;
		if (yych == 'm') goto yy960;
		goto yy11;
yy727:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 313 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Clz); }
#line 4435 "src/prebuilt/wast-lexer-gen.cc"
yy729:
		yych = *++cursor_;
		if (yych == 's') goto yy961;
		goto yy11;
yy730:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 315 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Ctz); }
#line 4447 "src/prebuilt/wast-lexer-gen.cc"
yy732:
		yych = *++cursor_;
		if (yych == '_') goto yy962;
		goto yy11;
yy733:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 311 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64Eqz); }
#line 4459 "src/prebuilt/wast-lexer-gen.cc"
yy735:
		yych = *++cursor_;
		if (yych == 'e') goto yy963;
		goto yy11;
yy736:
		yych = *++cursor_;
		if (yych == 's') goto yy964;
		if (yych == 'u') goto yy966;
		goto yy11;
yy737:
		yych = *++cursor_;
		if (yych == 's') goto yy968;
		if (yych == 'u') goto yy970;
		goto yy11;
yy738:
		yych = *++cursor_;
		if (yych == 's') goto yy972;
		if (yych == 'u') goto yy974;
		goto yy11;
yy739:
		yych = *++cursor_;
		if (yych == 'd') goto yy976;
		goto yy11;
yy740:
		yych = *++cursor_;
		if (yych == 's') goto yy978;
		if (yych == 'u') goto yy980;
		goto yy11;
yy741:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 342 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Mul); }
#line 4495 "src/prebuilt/wast-lexer-gen.cc"
yy743:
		yych = *++cursor_;
		if (yych == 'c') goto yy982;
		goto yy11;
yy744:
		yych = *++cursor_;
		if (yych == 'n') goto yy983;
		goto yy11;
yy745:
		yych = *++cursor_;
		if (yych == '_') goto yy984;
		goto yy11;
yy746:
		yych = *++cursor_;
		if (yych == 'l') goto yy985;
		if (yych == 'r') goto yy987;
		goto yy11;
yy747:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 358 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Shl); }
#line 4520 "src/prebuilt/wast-lexer-gen.cc"
yy749:
		yych = *++cursor_;
		if (yych == '_') goto yy989;
		goto yy11;
yy750:
		yych = *++cursor_;
		if (yych == 'r') goto yy990;
		goto yy11;
yy751:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 340 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Sub); }
#line 4536 "src/prebuilt/wast-lexer-gen.cc"
yy753:
		yych = *++cursor_;
		if (yych == 'n') goto yy991;
		goto yy11;
yy754:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 356 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Xor); }
#line 4548 "src/prebuilt/wast-lexer-gen.cc"
yy756:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'd') goto yy992;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy993;
			if (yych == 'n') goto yy994;
			goto yy11;
		}
yy757:
		yych = *++cursor_;
		if (yych == 'x') goto yy995;
		goto yy11;
yy758:
		yych = *++cursor_;
		if (yych == 'e') goto yy996;
		goto yy11;
yy759:
		yych = *++cursor_;
		if (yych == 'e') goto yy997;
		goto yy11;
yy760:
		yych = *++cursor_;
		if (yych <= 'o') {
			if (yych == 'h') goto yy998;
			goto yy11;
		} else {
			if (yych <= 'p') goto yy999;
			if (yych == 'u') goto yy1000;
			goto yy11;
		}
yy761:
		yych = *++cursor_;
		if (yych == 'r') goto yy1001;
		goto yy11;
yy762:
		yych = *++cursor_;
		if (yych <= 'k') {
			if (yych == 'd') goto yy1002;
			goto yy11;
		} else {
			if (yych <= 'l') goto yy1003;
			if (yych == 'n') goto yy1004;
			goto yy11;
		}
yy763:
		yych = *++cursor_;
		if (yych == 'q') goto yy1005;
		if (yych == 'x') goto yy1007;
		goto yy11;
yy764:
		yych = *++cursor_;
		if (yych == 'e') goto yy1008;
		if (yych == 't') goto yy1009;
		goto yy11;
yy765:
		yych = *++cursor_;
		if (yych == 'e') goto yy1010;
		if (yych == 't') goto yy1011;
		goto yy11;
yy766:
		yych = *++cursor_;
		if (yych == 'u') goto yy1012;
		goto yy11;
yy767:
		yych = *++cursor_;
		if (yych == 'e') goto yy1013;
		goto yy11;
yy768:
		yych = *++cursor_;
		if (yych == 'e') goto yy1015;
		goto yy11;
yy769:
		yych = *++cursor_;
		if (yych <= 'o') {
			if (yych == 'h') goto yy1016;
			goto yy11;
		} else {
			if (yych <= 'p') goto yy1017;
			if (yych == 'u') goto yy1018;
			goto yy11;
		}
yy770:
		yych = *++cursor_;
		if (yych == 'p') goto yy1019;
		goto yy11;
yy771:
		yych = *++cursor_;
		switch (yych) {
		case 'c':	goto yy1020;
		case 'd':	goto yy1021;
		case 'f':	goto yy1022;
		case 'g':	goto yy1023;
		case 'i':	goto yy1024;
		case 's':	goto yy1025;
		default:	goto yy11;
		}
yy772:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy191;
				goto yy10;
			} else {
				if (yych <= ')') goto yy191;
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy772;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy191;
				if (yych <= '@') goto yy10;
				if (yych <= 'F') goto yy772;
				goto yy10;
			} else {
				if (yych <= '`') {
					if (yych <= '_') goto yy554;
					goto yy10;
				} else {
					if (yych <= 'f') goto yy772;
					if (yych <= '~') goto yy10;
					goto yy191;
				}
			}
		}
yy774:
		yych = *++cursor_;
		if (yych <= '/') goto yy11;
		if (yych <= '0') goto yy1026;
		if (yych <= '9') goto yy1028;
		goto yy11;
yy775:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 687 "src/wast-lexer.cc"
		{ RETURN(Passive); }
#line 4692 "src/prebuilt/wast-lexer-gen.cc"
yy777:
		yych = *++cursor_;
		if (yych == 'r') goto yy1030;
		goto yy11;
yy778:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 702 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Rethrow); }
#line 4704 "src/prebuilt/wast-lexer-gen.cc"
yy780:
		yych = *++cursor_;
		if (yych == 'c') goto yy1032;
		goto yy11;
yy781:
		yych = *++cursor_;
		if (yych == 'b') goto yy1033;
		goto yy11;
yy782:
		yych = *++cursor_;
		if (yych == 'a') goto yy1034;
		goto yy11;
yy783:
		yych = *++cursor_;
		if (yych == 'o') goto yy1035;
		goto yy11;
yy784:
		yych = *++cursor_;
		if (yych == 'r') goto yy1036;
		goto yy11;
yy785:
		yych = *++cursor_;
		if (yych == 'n') goto yy1037;
		goto yy11;
yy786:
		yych = *++cursor_;
		if (yych == 'a') goto yy1038;
		goto yy11;
yy787:
		yych = *++cursor_;
		if (yych == 'a') goto yy1039;
		goto yy11;
yy788:
		yych = *++cursor_;
		if (yych == 'd') goto yy1040;
		goto yy11;
yy789:
		yych = *++cursor_;
		if (yych == 't') goto yy1042;
		goto yy11;
yy790:
		yych = *++cursor_;
		if (yych == 'n') goto yy1043;
		goto yy11;
yy791:
		yych = *++cursor_;
		if (yych == 'a') goto yy1044;
		goto yy11;
yy792:
		yych = *++cursor_;
		if (yych == 't') goto yy1045;
		goto yy11;
yy793:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 586 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, V128Or); }
#line 4764 "src/prebuilt/wast-lexer-gen.cc"
yy795:
		yych = *++cursor_;
		if (yych == 'o') goto yy1047;
		goto yy11;
yy796:
		yych = *++cursor_;
		if (yych == 'r') goto yy1048;
		goto yy11;
yy797:
		yych = *++cursor_;
		if (yych == 'h') goto yy1050;
		goto yy11;
yy798:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy584;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy799:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '9') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy12;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy12;
				if (yych <= '/') goto yy10;
				goto yy1051;
			}
		} else {
			if (yych <= 'F') {
				if (yych == ';') goto yy12;
				if (yych <= '@') goto yy10;
				goto yy1051;
			} else {
				if (yych <= '`') goto yy10;
				if (yych <= 'f') goto yy1051;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy800:
		yych = *++cursor_;
		if (yych == 'x') goto yy1053;
		goto yy11;
yy801:
		yych = *++cursor_;
		if (yych == 'n') goto yy1054;
		goto yy11;
yy802:
		yych = *++cursor_;
		if (yych == 'a') goto yy1055;
		goto yy11;
yy803:
		yych = *++cursor_;
		if (yych == 'e') goto yy1056;
		goto yy11;
yy804:
		yych = *++cursor_;
		if (yych == 'r') goto yy1057;
		goto yy11;
yy805:
		yych = *++cursor_;
		if (yych == 'n') goto yy1058;
		goto yy11;
yy806:
		yych = *++cursor_;
		if (yych == 'a') goto yy1059;
		goto yy11;
yy807:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 270 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(BrTable); }
#line 4862 "src/prebuilt/wast-lexer-gen.cc"
yy809:
		yych = *++cursor_;
		if (yych == 'i') goto yy1060;
		goto yy11;
yy810:
		yych = *++cursor_;
		if (yych == 'm') goto yy1061;
		goto yy11;
yy811:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 324 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Ceil); }
#line 4878 "src/prebuilt/wast-lexer-gen.cc"
yy813:
		yych = *++cursor_;
		if (yych == 't') goto yy1062;
		goto yy11;
yy814:
		yych = *++cursor_;
		if (yych == 'e') goto yy1064;
		goto yy11;
yy815:
		yych = *++cursor_;
		if (yych == 's') goto yy1065;
		goto yy11;
yy816:
		yych = *++cursor_;
		if (yych == 't') goto yy1066;
		goto yy11;
yy817:
		yych = *++cursor_;
		if (yych == 'r') goto yy1067;
		goto yy11;
yy818:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 283 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, F32Load); }
#line 4906 "src/prebuilt/wast-lexer-gen.cc"
yy820:
		yych = *++cursor_;
		if (yych == 'e') goto yy1069;
		goto yy11;
yy821:
		yych = *++cursor_;
		if (yych == 't') goto yy1070;
		goto yy11;
yy822:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 322 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Sqrt); }
#line 4922 "src/prebuilt/wast-lexer-gen.cc"
yy824:
		yych = *++cursor_;
		if (yych == 'e') goto yy1071;
		goto yy11;
yy825:
		yych = *++cursor_;
		if (yych == 'c') goto yy1073;
		goto yy11;
yy826:
		yych = *++cursor_;
		if (yych == 's') goto yy1075;
		goto yy11;
yy827:
		yych = *++cursor_;
		if (yych == 'd') goto yy1077;
		goto yy11;
yy828:
		yych = *++cursor_;
		if (yych == 'n') goto yy1079;
		goto yy11;
yy829:
		yych = *++cursor_;
		if (yych == 'v') goto yy1080;
		goto yy11;
yy830:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 601 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Eq); }
#line 4954 "src/prebuilt/wast-lexer-gen.cc"
yy832:
		yych = *++cursor_;
		if (yych == 't') goto yy1082;
		goto yy11;
yy833:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 638 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Ge); }
#line 4966 "src/prebuilt/wast-lexer-gen.cc"
yy835:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 630 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Gt); }
#line 4974 "src/prebuilt/wast-lexer-gen.cc"
yy837:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 622 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Le); }
#line 4982 "src/prebuilt/wast-lexer-gen.cc"
yy839:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 614 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Lt); }
#line 4990 "src/prebuilt/wast-lexer-gen.cc"
yy841:
		yych = *++cursor_;
		if (yych == 'x') goto yy1083;
		goto yy11;
yy842:
		yych = *++cursor_;
		if (yych == 'n') goto yy1085;
		goto yy11;
yy843:
		yych = *++cursor_;
		if (yych == 'l') goto yy1087;
		goto yy11;
yy844:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy845;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'f') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'g') goto yy1089;
				if (yych <= '~') goto yy10;
			}
		}
yy845:
#line 606 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F32X4Ne); }
#line 5023 "src/prebuilt/wast-lexer-gen.cc"
yy846:
		yych = *++cursor_;
		if (yych == 'p') goto yy1091;
		goto yy11;
yy847:
		yych = *++cursor_;
		if (yych == 'l') goto yy1092;
		goto yy11;
yy848:
		yych = *++cursor_;
		if (yych == 'r') goto yy1093;
		goto yy11;
yy849:
		yych = *++cursor_;
		if (yych == 'b') goto yy1094;
		goto yy11;
yy850:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 325 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Ceil); }
#line 5047 "src/prebuilt/wast-lexer-gen.cc"
yy852:
		yych = *++cursor_;
		if (yych == 't') goto yy1096;
		goto yy11;
yy853:
		yych = *++cursor_;
		if (yych == 'e') goto yy1098;
		goto yy11;
yy854:
		yych = *++cursor_;
		if (yych == 's') goto yy1099;
		goto yy11;
yy855:
		yych = *++cursor_;
		if (yych == 'r') goto yy1100;
		goto yy11;
yy856:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 284 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, F64Load); }
#line 5071 "src/prebuilt/wast-lexer-gen.cc"
yy858:
		yych = *++cursor_;
		if (yych == 'e') goto yy1102;
		goto yy11;
yy859:
		yych = *++cursor_;
		if (yych == 'o') goto yy1103;
		goto yy11;
yy860:
		yych = *++cursor_;
		if (yych == 't') goto yy1104;
		goto yy11;
yy861:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 323 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Sqrt); }
#line 5091 "src/prebuilt/wast-lexer-gen.cc"
yy863:
		yych = *++cursor_;
		if (yych == 'e') goto yy1105;
		goto yy11;
yy864:
		yych = *++cursor_;
		if (yych == 'c') goto yy1107;
		goto yy11;
yy865:
		yych = *++cursor_;
		if (yych == 's') goto yy1109;
		goto yy11;
yy866:
		yych = *++cursor_;
		if (yych == 'd') goto yy1111;
		goto yy11;
yy867:
		yych = *++cursor_;
		if (yych == 'n') goto yy1113;
		goto yy11;
yy868:
		yych = *++cursor_;
		if (yych == 'v') goto yy1114;
		goto yy11;
yy869:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 602 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Eq); }
#line 5123 "src/prebuilt/wast-lexer-gen.cc"
yy871:
		yych = *++cursor_;
		if (yych == 't') goto yy1116;
		goto yy11;
yy872:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 639 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Ge); }
#line 5135 "src/prebuilt/wast-lexer-gen.cc"
yy874:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 631 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Gt); }
#line 5143 "src/prebuilt/wast-lexer-gen.cc"
yy876:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 623 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Le); }
#line 5151 "src/prebuilt/wast-lexer-gen.cc"
yy878:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 615 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Lt); }
#line 5159 "src/prebuilt/wast-lexer-gen.cc"
yy880:
		yych = *++cursor_;
		if (yych == 'x') goto yy1117;
		goto yy11;
yy881:
		yych = *++cursor_;
		if (yych == 'n') goto yy1119;
		goto yy11;
yy882:
		yych = *++cursor_;
		if (yych == 'l') goto yy1121;
		goto yy11;
yy883:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy884;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'f') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'g') goto yy1123;
				if (yych <= '~') goto yy10;
			}
		}
yy884:
#line 607 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, F64X2Ne); }
#line 5192 "src/prebuilt/wast-lexer-gen.cc"
yy885:
		yych = *++cursor_;
		if (yych == 'p') goto yy1125;
		goto yy11;
yy886:
		yych = *++cursor_;
		if (yych == 'l') goto yy1126;
		goto yy11;
yy887:
		yych = *++cursor_;
		if (yych == 'r') goto yy1127;
		goto yy11;
yy888:
		yych = *++cursor_;
		if (yych == 'b') goto yy1128;
		goto yy11;
yy889:
		yych = *++cursor_;
		if (yych == 'a') goto yy1130;
		goto yy11;
yy890:
		yych = *++cursor_;
		if (yych == 'l') goto yy1131;
		goto yy11;
yy891:
		yych = *++cursor_;
		if (yych == 'o') goto yy1133;
		goto yy11;
yy892:
		yych = *++cursor_;
		if (yych == 'd') goto yy1134;
		goto yy11;
yy893:
		yych = *++cursor_;
		if (yych == 'l') goto yy1136;
		goto yy11;
yy894:
		yych = *++cursor_;
		if (yych == 'y') goto yy1137;
		goto yy11;
yy895:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 599 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8Eq); }
#line 5240 "src/prebuilt/wast-lexer-gen.cc"
yy897:
		yych = *++cursor_;
		if (yych == 't') goto yy1138;
		goto yy11;
yy898:
		yych = *++cursor_;
		if (yych == '_') goto yy1139;
		goto yy11;
yy899:
		yych = *++cursor_;
		if (yych == '_') goto yy1140;
		goto yy11;
yy900:
		yych = *++cursor_;
		if (yych == '_') goto yy1141;
		goto yy11;
yy901:
		yych = *++cursor_;
		if (yych == '_') goto yy1142;
		goto yy11;
yy902:
		yych = *++cursor_;
		if (yych == 'l') goto yy1143;
		goto yy11;
yy903:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy904;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'f') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'g') goto yy1145;
				if (yych <= '~') goto yy10;
			}
		}
yy904:
#line 604 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8Ne); }
#line 5285 "src/prebuilt/wast-lexer-gen.cc"
yy905:
		yych = *++cursor_;
		if (yych == 'p') goto yy1147;
		goto yy11;
yy906:
		yych = *++cursor_;
		if (yych == 'l') goto yy1148;
		if (yych == 'r') goto yy1150;
		goto yy11;
yy907:
		yych = *++cursor_;
		if (yych == 'l') goto yy1151;
		goto yy11;
yy908:
		yych = *++cursor_;
		if (yych == 'b') goto yy1152;
		goto yy11;
yy909:
		yych = *++cursor_;
		if (yych == 'i') goto yy1154;
		goto yy11;
yy910:
		yych = *++cursor_;
		if (yych == 't') goto yy1155;
		goto yy11;
yy911:
		yych = *++cursor_;
		if (yych == 's') goto yy1157;
		if (yych == 'u') goto yy1159;
		goto yy11;
yy912:
		yych = *++cursor_;
		if (yych == 'n') goto yy1161;
		goto yy11;
yy913:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 397 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32GeS); }
#line 5327 "src/prebuilt/wast-lexer-gen.cc"
yy915:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 399 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32GeU); }
#line 5335 "src/prebuilt/wast-lexer-gen.cc"
yy917:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 393 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32GtS); }
#line 5343 "src/prebuilt/wast-lexer-gen.cc"
yy919:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 395 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32GtU); }
#line 5351 "src/prebuilt/wast-lexer-gen.cc"
yy921:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 389 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32LeS); }
#line 5359 "src/prebuilt/wast-lexer-gen.cc"
yy923:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 391 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32LeU); }
#line 5367 "src/prebuilt/wast-lexer-gen.cc"
yy925:
		yych = *++cursor_;
		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 yy1162;
				if (yych <= '7') goto yy10;
				goto yy1163;
			} else {
				if (yych == ';') goto yy926;
				if (yych <= '~') goto yy10;
			}
		}
yy926:
#line 281 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I32Load); }
#line 5390 "src/prebuilt/wast-lexer-gen.cc"
yy927:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 385 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32LtS); }
#line 5398 "src/prebuilt/wast-lexer-gen.cc"
yy929:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 387 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32LtU); }
#line 5406 "src/prebuilt/wast-lexer-gen.cc"
yy931:
		yych = *++cursor_;
		if (yych == 'n') goto yy1164;
		goto yy11;
yy932:
		yych = *++cursor_;
		if (yych == 't') goto yy1165;
		goto yy11;
yy933:
		yych = *++cursor_;
		if (yych == 's') goto yy1166;
		if (yych == 'u') goto yy1168;
		goto yy11;
yy934:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 363 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Rotl); }
#line 5427 "src/prebuilt/wast-lexer-gen.cc"
yy936:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 365 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32Rotr); }
#line 5435 "src/prebuilt/wast-lexer-gen.cc"
yy938:
		yych = *++cursor_;
		if (yych == 's') goto yy1170;
		if (yych == 'u') goto yy1172;
		goto yy11;
yy939:
		yych = *++cursor_;
		if (yych == 'e') goto yy1174;
		goto yy11;
yy940:
		yych = *++cursor_;
		if (yych == 'c') goto yy1176;
		goto yy11;
yy941:
		yych = *++cursor_;
		if (yych == '/') goto yy1177;
		goto yy11;
yy942:
		yych = *++cursor_;
		if (yych == 'd') goto yy1178;
		goto yy11;
yy943:
		yych = *++cursor_;
		if (yych == 'l') goto yy1180;
		goto yy11;
yy944:
		yych = *++cursor_;
		if (yych == 'y') goto yy1181;
		goto yy11;
yy945:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 600 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4Eq); }
#line 5472 "src/prebuilt/wast-lexer-gen.cc"
yy947:
		yych = *++cursor_;
		if (yych == 't') goto yy1182;
		goto yy11;
yy948:
		yych = *++cursor_;
		if (yych == '_') goto yy1183;
		goto yy11;
yy949:
		yych = *++cursor_;
		if (yych == '_') goto yy1184;
		goto yy11;
yy950:
		yych = *++cursor_;
		if (yych == '_') goto yy1185;
		goto yy11;
yy951:
		yych = *++cursor_;
		if (yych == '_') goto yy1186;
		goto yy11;
yy952:
		yych = *++cursor_;
		if (yych == 'l') goto yy1187;
		goto yy11;
yy953:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy954;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'f') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'g') goto yy1189;
				if (yych <= '~') goto yy10;
			}
		}
yy954:
#line 605 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4Ne); }
#line 5517 "src/prebuilt/wast-lexer-gen.cc"
yy955:
		yych = *++cursor_;
		if (yych == 'p') goto yy1191;
		goto yy11;
yy956:
		yych = *++cursor_;
		if (yych == 'l') goto yy1192;
		if (yych == 'r') goto yy1194;
		goto yy11;
yy957:
		yych = *++cursor_;
		if (yych == 'l') goto yy1195;
		goto yy11;
yy958:
		yych = *++cursor_;
		if (yych == 'b') goto yy1196;
		goto yy11;
yy959:
		yych = *++cursor_;
		if (yych == 'u') goto yy1198;
		goto yy11;
yy960:
		yych = *++cursor_;
		if (yych == 'i') goto yy1199;
		goto yy11;
yy961:
		yych = *++cursor_;
		if (yych == 't') goto yy1200;
		goto yy11;
yy962:
		yych = *++cursor_;
		if (yych == 's') goto yy1202;
		if (yych == 'u') goto yy1204;
		goto yy11;
yy963:
		yych = *++cursor_;
		if (yych == 'n') goto yy1206;
		goto yy11;
yy964:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 398 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64GeS); }
#line 5563 "src/prebuilt/wast-lexer-gen.cc"
yy966:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 400 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64GeU); }
#line 5571 "src/prebuilt/wast-lexer-gen.cc"
yy968:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 394 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64GtS); }
#line 5579 "src/prebuilt/wast-lexer-gen.cc"
yy970:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 396 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64GtU); }
#line 5587 "src/prebuilt/wast-lexer-gen.cc"
yy972:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 390 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64LeS); }
#line 5595 "src/prebuilt/wast-lexer-gen.cc"
yy974:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 392 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64LeU); }
#line 5603 "src/prebuilt/wast-lexer-gen.cc"
yy976:
		yych = *++cursor_;
		if (yych <= '1') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy977;
				if (yych <= '0') goto yy10;
				goto yy1207;
			}
		} else {
			if (yych <= '8') {
				if (yych == '3') goto yy1208;
				if (yych <= '7') goto yy10;
				goto yy1209;
			} else {
				if (yych == ';') goto yy977;
				if (yych <= '~') goto yy10;
			}
		}
yy977:
#line 282 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load); }
#line 5628 "src/prebuilt/wast-lexer-gen.cc"
yy978:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 386 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64LtS); }
#line 5636 "src/prebuilt/wast-lexer-gen.cc"
yy980:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 388 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I64LtU); }
#line 5644 "src/prebuilt/wast-lexer-gen.cc"
yy982:
		yych = *++cursor_;
		if (yych == 'n') goto yy1210;
		goto yy11;
yy983:
		yych = *++cursor_;
		if (yych == 't') goto yy1211;
		goto yy11;
yy984:
		yych = *++cursor_;
		if (yych == 's') goto yy1212;
		if (yych == 'u') goto yy1214;
		goto yy11;
yy985:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 364 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Rotl); }
#line 5665 "src/prebuilt/wast-lexer-gen.cc"
yy987:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 366 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64Rotr); }
#line 5673 "src/prebuilt/wast-lexer-gen.cc"
yy989:
		yych = *++cursor_;
		if (yych == 's') goto yy1216;
		if (yych == 'u') goto yy1218;
		goto yy11;
yy990:
		yych = *++cursor_;
		if (yych == 'e') goto yy1220;
		goto yy11;
yy991:
		yych = *++cursor_;
		if (yych == 'c') goto yy1222;
		goto yy11;
yy992:
		yych = *++cursor_;
		if (yych == 'd') goto yy1223;
		goto yy11;
yy993:
		yych = *++cursor_;
		if (yych == 'l') goto yy1225;
		goto yy11;
yy994:
		yych = *++cursor_;
		if (yych == 'y') goto yy1226;
		goto yy11;
yy995:
		yych = *++cursor_;
		if (yych == 't') goto yy1227;
		goto yy11;
yy996:
		yych = *++cursor_;
		if (yych == 'g') goto yy1228;
		goto yy11;
yy997:
		yych = *++cursor_;
		if (yych == 'p') goto yy1230;
		goto yy11;
yy998:
		yych = *++cursor_;
		if (yych == 'l') goto yy1231;
		if (yych == 'r') goto yy1233;
		goto yy11;
yy999:
		yych = *++cursor_;
		if (yych == 'l') goto yy1234;
		goto yy11;
yy1000:
		yych = *++cursor_;
		if (yych == 'b') goto yy1235;
		goto yy11;
yy1001:
		yych = *++cursor_;
		if (yych == 'u') goto yy1237;
		goto yy11;
yy1002:
		yych = *++cursor_;
		if (yych == 'd') goto yy1238;
		goto yy11;
yy1003:
		yych = *++cursor_;
		if (yych == 'l') goto yy1240;
		goto yy11;
yy1004:
		yych = *++cursor_;
		if (yych == 'y') goto yy1241;
		goto yy11;
yy1005:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 598 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16Eq); }
#line 5747 "src/prebuilt/wast-lexer-gen.cc"
yy1007:
		yych = *++cursor_;
		if (yych == 't') goto yy1242;
		goto yy11;
yy1008:
		yych = *++cursor_;
		if (yych == '_') goto yy1243;
		goto yy11;
yy1009:
		yych = *++cursor_;
		if (yych == '_') goto yy1244;
		goto yy11;
yy1010:
		yych = *++cursor_;
		if (yych == '_') goto yy1245;
		goto yy11;
yy1011:
		yych = *++cursor_;
		if (yych == '_') goto yy1246;
		goto yy11;
yy1012:
		yych = *++cursor_;
		if (yych == 'l') goto yy1247;
		goto yy11;
yy1013:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1014;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= 'f') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= 'g') goto yy1249;
				if (yych <= '~') goto yy10;
			}
		}
yy1014:
#line 603 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16Ne); }
#line 5792 "src/prebuilt/wast-lexer-gen.cc"
yy1015:
		yych = *++cursor_;
		if (yych == 'p') goto yy1251;
		goto yy11;
yy1016:
		yych = *++cursor_;
		if (yych == 'l') goto yy1252;
		if (yych == 'r') goto yy1254;
		goto yy11;
yy1017:
		yych = *++cursor_;
		if (yych == 'l') goto yy1255;
		goto yy11;
yy1018:
		yych = *++cursor_;
		if (yych == 'b') goto yy1256;
		goto yy11;
yy1019:
		yych = *++cursor_;
		if (yych == 't') goto yy1258;
		goto yy11;
yy1020:
		yych = *++cursor_;
		if (yych == 'o') goto yy1260;
		goto yy11;
yy1021:
		yych = *++cursor_;
		if (yych == 'r') goto yy1261;
		goto yy11;
yy1022:
		yych = *++cursor_;
		if (yych == 'i') goto yy1262;
		goto yy11;
yy1023:
		yych = *++cursor_;
		if (yych == 'r') goto yy1263;
		goto yy11;
yy1024:
		yych = *++cursor_;
		if (yych == 'n') goto yy1264;
		goto yy11;
yy1025:
		yych = *++cursor_;
		if (yych == 'i') goto yy1265;
		goto yy11;
yy1026:
		yych = *++cursor_;
		if (yych == 'x') goto yy1267;
		goto yy1029;
yy1027:
#line 304 "src/wast-lexer.cc"
		{ RETURN_TEXT_AT(OffsetEqNat, 7); }
#line 5845 "src/prebuilt/wast-lexer-gen.cc"
yy1028:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
yy1029:
		if (yych <= '/') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy1027;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy1027;
				goto yy10;
			}
		} else {
			if (yych <= ';') {
				if (yych <= '9') goto yy1028;
				if (yych <= ':') goto yy10;
				goto yy1027;
			} else {
				if (yych == '_') goto yy1266;
				if (yych <= '~') goto yy10;
				goto yy1027;
			}
		}
yy1030:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 688 "src/wast-lexer.cc"
		{ RETURN(Register); }
#line 5878 "src/prebuilt/wast-lexer-gen.cc"
yy1032:
		yych = *++cursor_;
		if (yych == 'a') goto yy1268;
		goto yy11;
yy1033:
		yych = *++cursor_;
		if (yych == 'a') goto yy1269;
		goto yy11;
yy1034:
		yych = *++cursor_;
		if (yych == 'l') goto yy1270;
		goto yy11;
yy1035:
		yych = *++cursor_;
		if (yych == 'p') goto yy1272;
		goto yy11;
yy1036:
		yych = *++cursor_;
		if (yych == 'o') goto yy1273;
		goto yy11;
yy1037:
		yych = *++cursor_;
		if (yych == 'i') goto yy1274;
		goto yy11;
yy1038:
		yych = *++cursor_;
		if (yych == 'l') goto yy1275;
		goto yy11;
yy1039:
		yych = *++cursor_;
		if (yych == 'b') goto yy1277;
		goto yy11;
yy1040:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 585 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, V128And); }
#line 5918 "src/prebuilt/wast-lexer-gen.cc"
yy1042:
		yych = *++cursor_;
		if (yych == 's') goto yy1278;
		goto yy11;
yy1043:
		yych = *++cursor_;
		if (yych == 's') goto yy1279;
		goto yy11;
yy1044:
		yych = *++cursor_;
		if (yych == 'd') goto yy1280;
		goto yy11;
yy1045:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 588 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, V128Not); }
#line 5938 "src/prebuilt/wast-lexer-gen.cc"
yy1047:
		yych = *++cursor_;
		if (yych == 'r') goto yy1282;
		goto yy11;
yy1048:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 587 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, V128Xor); }
#line 5950 "src/prebuilt/wast-lexer-gen.cc"
yy1050:
		yych = *++cursor_;
		if (yych == 'u') goto yy1283;
		goto yy11;
yy1051:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy583;
				goto yy10;
			} else {
				if (yych <= ')') goto yy583;
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy1051;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy583;
				if (yych <= '@') goto yy10;
				if (yych <= 'F') goto yy1051;
				goto yy10;
			} else {
				if (yych <= '`') {
					if (yych <= '_') goto yy799;
					goto yy10;
				} else {
					if (yych <= 'f') goto yy1051;
					if (yych <= '~') goto yy10;
					goto yy583;
				}
			}
		}
yy1053:
		yych = *++cursor_;
		if (yych == 'h') goto yy1284;
		goto yy11;
yy1054:
		yych = *++cursor_;
		if (yych == 'v') goto yy1285;
		goto yy11;
yy1055:
		yych = *++cursor_;
		if (yych == 'l') goto yy1286;
		goto yy11;
yy1056:
		yych = *++cursor_;
		if (yych == 't') goto yy1287;
		goto yy11;
yy1057:
		yych = *++cursor_;
		if (yych == 'a') goto yy1288;
		goto yy11;
yy1058:
		yych = *++cursor_;
		if (yych == 'l') goto yy1289;
		goto yy11;
yy1059:
		yych = *++cursor_;
		if (yych == 'k') goto yy1290;
		goto yy11;
yy1060:
		yych = *++cursor_;
		if (yych == 'r') goto yy1291;
		goto yy11;
yy1061:
		yych = *++cursor_;
		if (yych == 'e') goto yy1292;
		goto yy11;
yy1062:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 308 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Const, F32Const); }
#line 6030 "src/prebuilt/wast-lexer-gen.cc"
yy1064:
		yych = *++cursor_;
		if (yych == 'r') goto yy1293;
		goto yy11;
yy1065:
		yych = *++cursor_;
		if (yych == 'i') goto yy1294;
		goto yy11;
yy1066:
		yych = *++cursor_;
		if (yych == 'e') goto yy1295;
		goto yy11;
yy1067:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 326 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Floor); }
#line 6050 "src/prebuilt/wast-lexer-gen.cc"
yy1069:
		yych = *++cursor_;
		if (yych == 's') goto yy1296;
		goto yy11;
yy1070:
		yych = *++cursor_;
		if (yych == 'e') goto yy1297;
		goto yy11;
yy1071:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 287 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, F32Store); }
#line 6066 "src/prebuilt/wast-lexer-gen.cc"
yy1073:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 328 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Trunc); }
#line 6074 "src/prebuilt/wast-lexer-gen.cc"
yy1075:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 642 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4Abs); }
#line 6082 "src/prebuilt/wast-lexer-gen.cc"
yy1077:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 648 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Add); }
#line 6090 "src/prebuilt/wast-lexer-gen.cc"
yy1079:
		yych = *++cursor_;
		if (yych == 'v') goto yy1298;
		goto yy11;
yy1080:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 652 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Div); }
#line 6102 "src/prebuilt/wast-lexer-gen.cc"
yy1082:
		yych = *++cursor_;
		if (yych == 'r') goto yy1299;
		goto yy11;
yy1083:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 646 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Max); }
#line 6114 "src/prebuilt/wast-lexer-gen.cc"
yy1085:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 644 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Min); }
#line 6122 "src/prebuilt/wast-lexer-gen.cc"
yy1087:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 654 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Mul); }
#line 6130 "src/prebuilt/wast-lexer-gen.cc"
yy1089:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 640 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4Neg); }
#line 6138 "src/prebuilt/wast-lexer-gen.cc"
yy1091:
		yych = *++cursor_;
		if (yych == 'l') goto yy1300;
		goto yy11;
yy1092:
		yych = *++cursor_;
		if (yych == 'a') goto yy1301;
		goto yy11;
yy1093:
		yych = *++cursor_;
		if (yych == 't') goto yy1302;
		goto yy11;
yy1094:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 650 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32X4Sub); }
#line 6158 "src/prebuilt/wast-lexer-gen.cc"
yy1096:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 309 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Const, F64Const); }
#line 6166 "src/prebuilt/wast-lexer-gen.cc"
yy1098:
		yych = *++cursor_;
		if (yych == 'r') goto yy1304;
		goto yy11;
yy1099:
		yych = *++cursor_;
		if (yych == 'i') goto yy1305;
		goto yy11;
yy1100:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 327 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Floor); }
#line 6182 "src/prebuilt/wast-lexer-gen.cc"
yy1102:
		yych = *++cursor_;
		if (yych == 's') goto yy1306;
		goto yy11;
yy1103:
		yych = *++cursor_;
		if (yych == 't') goto yy1307;
		goto yy11;
yy1104:
		yych = *++cursor_;
		if (yych == 'e') goto yy1308;
		goto yy11;
yy1105:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 288 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, F64Store); }
#line 6202 "src/prebuilt/wast-lexer-gen.cc"
yy1107:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 329 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Trunc); }
#line 6210 "src/prebuilt/wast-lexer-gen.cc"
yy1109:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 643 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2Abs); }
#line 6218 "src/prebuilt/wast-lexer-gen.cc"
yy1111:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 649 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Add); }
#line 6226 "src/prebuilt/wast-lexer-gen.cc"
yy1113:
		yych = *++cursor_;
		if (yych == 'v') goto yy1309;
		goto yy11;
yy1114:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 653 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Div); }
#line 6238 "src/prebuilt/wast-lexer-gen.cc"
yy1116:
		yych = *++cursor_;
		if (yych == 'r') goto yy1310;
		goto yy11;
yy1117:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 647 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Max); }
#line 6250 "src/prebuilt/wast-lexer-gen.cc"
yy1119:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 645 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Min); }
#line 6258 "src/prebuilt/wast-lexer-gen.cc"
yy1121:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 655 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Mul); }
#line 6266 "src/prebuilt/wast-lexer-gen.cc"
yy1123:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 641 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2Neg); }
#line 6274 "src/prebuilt/wast-lexer-gen.cc"
yy1125:
		yych = *++cursor_;
		if (yych == 'l') goto yy1311;
		goto yy11;
yy1126:
		yych = *++cursor_;
		if (yych == 'a') goto yy1312;
		goto yy11;
yy1127:
		yych = *++cursor_;
		if (yych == 't') goto yy1313;
		goto yy11;
yy1128:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 651 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64X2Sub); }
#line 6294 "src/prebuilt/wast-lexer-gen.cc"
yy1130:
		yych = *++cursor_;
		if (yych == 'l') goto yy1315;
		goto yy11;
yy1131:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 276 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(GetLocal); }
#line 6306 "src/prebuilt/wast-lexer-gen.cc"
yy1133:
		yych = *++cursor_;
		if (yych == 'r') goto yy1317;
		goto yy11;
yy1134:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1135;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1318;
				if (yych <= '~') goto yy10;
			}
		}
yy1135:
#line 551 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8Add); }
#line 6331 "src/prebuilt/wast-lexer-gen.cc"
yy1136:
		yych = *++cursor_;
		if (yych == '_') goto yy1319;
		goto yy11;
yy1137:
		yych = *++cursor_;
		if (yych == '_') goto yy1320;
		goto yy11;
yy1138:
		yych = *++cursor_;
		if (yych == 'r') goto yy1321;
		goto yy11;
yy1139:
		yych = *++cursor_;
		if (yych == 's') goto yy1322;
		if (yych == 'u') goto yy1324;
		goto yy11;
yy1140:
		yych = *++cursor_;
		if (yych == 's') goto yy1326;
		if (yych == 'u') goto yy1328;
		goto yy11;
yy1141:
		yych = *++cursor_;
		if (yych == 's') goto yy1330;
		if (yych == 'u') goto yy1332;
		goto yy11;
yy1142:
		yych = *++cursor_;
		if (yych == 's') goto yy1334;
		if (yych == 'u') goto yy1336;
		goto yy11;
yy1143:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 559 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8Mul); }
#line 6371 "src/prebuilt/wast-lexer-gen.cc"
yy1145:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 562 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I16X8Neg); }
#line 6379 "src/prebuilt/wast-lexer-gen.cc"
yy1147:
		yych = *++cursor_;
		if (yych == 'l') goto yy1338;
		goto yy11;
yy1148:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 574 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8Shl); }
#line 6391 "src/prebuilt/wast-lexer-gen.cc"
yy1150:
		yych = *++cursor_;
		if (yych == '_') goto yy1339;
		goto yy11;
yy1151:
		yych = *++cursor_;
		if (yych == 'a') goto yy1340;
		goto yy11;
yy1152:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1153;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1341;
				if (yych <= '~') goto yy10;
			}
		}
yy1153:
#line 555 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8Sub); }
#line 6420 "src/prebuilt/wast-lexer-gen.cc"
yy1154:
		yych = *++cursor_;
		if (yych == 'c') goto yy1342;
		goto yy11;
yy1155:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 306 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Const, I32Const); }
#line 6432 "src/prebuilt/wast-lexer-gen.cc"
yy1157:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 343 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32DivS); }
#line 6440 "src/prebuilt/wast-lexer-gen.cc"
yy1159:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 345 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32DivU); }
#line 6448 "src/prebuilt/wast-lexer-gen.cc"
yy1161:
		yych = *++cursor_;
		if (yych == 'd') goto yy1343;
		goto yy11;
yy1162:
		yych = *++cursor_;
		if (yych == '6') goto yy1344;
		goto yy11;
yy1163:
		yych = *++cursor_;
		if (yych == '_') goto yy1345;
		goto yy11;
yy1164:
		yych = *++cursor_;
		if (yych == 't') goto yy1346;
		goto yy11;
yy1165:
		yych = *++cursor_;
		if (yych == 'e') goto yy1348;
		goto yy11;
yy1166:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 347 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32RemS); }
#line 6476 "src/prebuilt/wast-lexer-gen.cc"
yy1168:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 349 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32RemU); }
#line 6484 "src/prebuilt/wast-lexer-gen.cc"
yy1170:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 359 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32ShrS); }
#line 6492 "src/prebuilt/wast-lexer-gen.cc"
yy1172:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 361 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32ShrU); }
#line 6500 "src/prebuilt/wast-lexer-gen.cc"
yy1174:
		yych = *++cursor_;
		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 yy1349;
				if (yych <= '7') goto yy10;
				goto yy1350;
			} else {
				if (yych == ';') goto yy1175;
				if (yych <= '~') goto yy10;
			}
		}
yy1175:
#line 285 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I32Store); }
#line 6523 "src/prebuilt/wast-lexer-gen.cc"
yy1176:
		yych = *++cursor_;
		if (yych == '_') goto yy1352;
		goto yy11;
yy1177:
		yych = *++cursor_;
		if (yych == 'i') goto yy1353;
		goto yy11;
yy1178:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 552 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4Add); }
#line 6539 "src/prebuilt/wast-lexer-gen.cc"
yy1180:
		yych = *++cursor_;
		if (yych == '_') goto yy1354;
		goto yy11;
yy1181:
		yych = *++cursor_;
		if (yych == '_') goto yy1355;
		goto yy11;
yy1182:
		yych = *++cursor_;
		if (yych == 'r') goto yy1356;
		goto yy11;
yy1183:
		yych = *++cursor_;
		if (yych == 's') goto yy1357;
		if (yych == 'u') goto yy1359;
		goto yy11;
yy1184:
		yych = *++cursor_;
		if (yych == 's') goto yy1361;
		if (yych == 'u') goto yy1363;
		goto yy11;
yy1185:
		yych = *++cursor_;
		if (yych == 's') goto yy1365;
		if (yych == 'u') goto yy1367;
		goto yy11;
yy1186:
		yych = *++cursor_;
		if (yych == 's') goto yy1369;
		if (yych == 'u') goto yy1371;
		goto yy11;
yy1187:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 560 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4Mul); }
#line 6579 "src/prebuilt/wast-lexer-gen.cc"
yy1189:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 563 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32X4Neg); }
#line 6587 "src/prebuilt/wast-lexer-gen.cc"
yy1191:
		yych = *++cursor_;
		if (yych == 'l') goto yy1373;
		goto yy11;
yy1192:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 575 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4Shl); }
#line 6599 "src/prebuilt/wast-lexer-gen.cc"
yy1194:
		yych = *++cursor_;
		if (yych == '_') goto yy1374;
		goto yy11;
yy1195:
		yych = *++cursor_;
		if (yych == 'a') goto yy1375;
		goto yy11;
yy1196:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 556 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4Sub); }
#line 6615 "src/prebuilt/wast-lexer-gen.cc"
yy1198:
		yych = *++cursor_;
		if (yych == 'n') goto yy1376;
		goto yy11;
yy1199:
		yych = *++cursor_;
		if (yych == 'c') goto yy1377;
		goto yy11;
yy1200:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 307 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Const, I64Const); }
#line 6631 "src/prebuilt/wast-lexer-gen.cc"
yy1202:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 344 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64DivS); }
#line 6639 "src/prebuilt/wast-lexer-gen.cc"
yy1204:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 346 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64DivU); }
#line 6647 "src/prebuilt/wast-lexer-gen.cc"
yy1206:
		yych = *++cursor_;
		if (yych == 'd') goto yy1378;
		goto yy11;
yy1207:
		yych = *++cursor_;
		if (yych == '6') goto yy1379;
		goto yy11;
yy1208:
		yych = *++cursor_;
		if (yych == '2') goto yy1380;
		goto yy11;
yy1209:
		yych = *++cursor_;
		if (yych == '_') goto yy1381;
		goto yy11;
yy1210:
		yych = *++cursor_;
		if (yych == 't') goto yy1382;
		goto yy11;
yy1211:
		yych = *++cursor_;
		if (yych == 'e') goto yy1384;
		goto yy11;
yy1212:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 348 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64RemS); }
#line 6679 "src/prebuilt/wast-lexer-gen.cc"
yy1214:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 350 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64RemU); }
#line 6687 "src/prebuilt/wast-lexer-gen.cc"
yy1216:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 360 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64ShrS); }
#line 6695 "src/prebuilt/wast-lexer-gen.cc"
yy1218:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 362 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64ShrU); }
#line 6703 "src/prebuilt/wast-lexer-gen.cc"
yy1220:
		yych = *++cursor_;
		if (yych <= '1') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy1221;
				if (yych <= '0') goto yy10;
				goto yy1385;
			}
		} else {
			if (yych <= '8') {
				if (yych == '3') goto yy1386;
				if (yych <= '7') goto yy10;
				goto yy1387;
			} else {
				if (yych == ';') goto yy1221;
				if (yych <= '~') goto yy10;
			}
		}
yy1221:
#line 286 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I64Store); }
#line 6728 "src/prebuilt/wast-lexer-gen.cc"
yy1222:
		yych = *++cursor_;
		if (yych == '_') goto yy1389;
		goto yy11;
yy1223:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 553 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64X2Add); }
#line 6740 "src/prebuilt/wast-lexer-gen.cc"
yy1225:
		yych = *++cursor_;
		if (yych == '_') goto yy1390;
		goto yy11;
yy1226:
		yych = *++cursor_;
		if (yych == '_') goto yy1391;
		goto yy11;
yy1227:
		yych = *++cursor_;
		if (yych == 'r') goto yy1392;
		goto yy11;
yy1228:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 564 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64X2Neg); }
#line 6760 "src/prebuilt/wast-lexer-gen.cc"
yy1230:
		yych = *++cursor_;
		if (yych == 'l') goto yy1393;
		goto yy11;
yy1231:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 576 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64X2Shl); }
#line 6772 "src/prebuilt/wast-lexer-gen.cc"
yy1233:
		yych = *++cursor_;
		if (yych == '_') goto yy1394;
		goto yy11;
yy1234:
		yych = *++cursor_;
		if (yych == 'a') goto yy1395;
		goto yy11;
yy1235:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 557 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64X2Sub); }
#line 6788 "src/prebuilt/wast-lexer-gen.cc"
yy1237:
		yych = *++cursor_;
		if (yych == 'n') goto yy1396;
		goto yy11;
yy1238:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1239;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1397;
				if (yych <= '~') goto yy10;
			}
		}
yy1239:
#line 550 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16Add); }
#line 6813 "src/prebuilt/wast-lexer-gen.cc"
yy1240:
		yych = *++cursor_;
		if (yych == '_') goto yy1398;
		goto yy11;
yy1241:
		yych = *++cursor_;
		if (yych == '_') goto yy1399;
		goto yy11;
yy1242:
		yych = *++cursor_;
		if (yych == 'r') goto yy1400;
		goto yy11;
yy1243:
		yych = *++cursor_;
		if (yych == 's') goto yy1401;
		if (yych == 'u') goto yy1403;
		goto yy11;
yy1244:
		yych = *++cursor_;
		if (yych == 's') goto yy1405;
		if (yych == 'u') goto yy1407;
		goto yy11;
yy1245:
		yych = *++cursor_;
		if (yych == 's') goto yy1409;
		if (yych == 'u') goto yy1411;
		goto yy11;
yy1246:
		yych = *++cursor_;
		if (yych == 's') goto yy1413;
		if (yych == 'u') goto yy1415;
		goto yy11;
yy1247:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 558 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16Mul); }
#line 6853 "src/prebuilt/wast-lexer-gen.cc"
yy1249:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 561 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I8X16Neg); }
#line 6861 "src/prebuilt/wast-lexer-gen.cc"
yy1251:
		yych = *++cursor_;
		if (yych == 'l') goto yy1417;
		goto yy11;
yy1252:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 573 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16Shl); }
#line 6873 "src/prebuilt/wast-lexer-gen.cc"
yy1254:
		yych = *++cursor_;
		if (yych == '_') goto yy1418;
		goto yy11;
yy1255:
		yych = *++cursor_;
		if (yych == 'a') goto yy1419;
		goto yy11;
yy1256:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1257;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1420;
				if (yych <= '~') goto yy10;
			}
		}
yy1257:
#line 554 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16Sub); }
#line 6902 "src/prebuilt/wast-lexer-gen.cc"
yy1258:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 703 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(IfExcept); }
#line 6910 "src/prebuilt/wast-lexer-gen.cc"
yy1260:
		yych = *++cursor_;
		if (yych == 'p') goto yy1421;
		goto yy11;
yy1261:
		yych = *++cursor_;
		if (yych == 'o') goto yy1422;
		goto yy11;
yy1262:
		yych = *++cursor_;
		if (yych == 'l') goto yy1423;
		goto yy11;
yy1263:
		yych = *++cursor_;
		if (yych == 'o') goto yy1424;
		goto yy11;
yy1264:
		yych = *++cursor_;
		if (yych == 'i') goto yy1425;
		goto yy11;
yy1265:
		yych = *++cursor_;
		if (yych == 'z') goto yy1426;
		goto yy11;
yy1266:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych <= ' ') goto yy12;
				goto yy10;
			} else {
				if (yych <= '"') goto yy12;
				if (yych <= '\'') goto yy10;
				goto yy12;
			}
		} else {
			if (yych <= ':') {
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy1028;
				goto yy10;
			} else {
				if (yych <= ';') goto yy12;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy1267:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= '9') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
				goto yy12;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy12;
				if (yych <= '/') goto yy10;
				goto yy1427;
			}
		} else {
			if (yych <= 'F') {
				if (yych == ';') goto yy12;
				if (yych <= '@') goto yy10;
				goto yy1427;
			} else {
				if (yych <= '`') goto yy10;
				if (yych <= 'f') goto yy1427;
				if (yych <= '~') goto yy10;
				goto yy12;
			}
		}
yy1268:
		yych = *++cursor_;
		if (yych == 'l') goto yy1429;
		goto yy11;
yy1269:
		yych = *++cursor_;
		if (yych == 'l') goto yy1430;
		goto yy11;
yy1270:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 277 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(SetLocal); }
#line 7000 "src/prebuilt/wast-lexer-gen.cc"
yy1272:
		yych = *++cursor_;
		if (yych == 'y') goto yy1432;
		goto yy11;
yy1273:
		yych = *++cursor_;
		if (yych == 'p') goto yy1434;
		goto yy11;
yy1274:
		yych = *++cursor_;
		if (yych == 't') goto yy1436;
		goto yy11;
yy1275:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 278 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(TeeLocal); }
#line 7020 "src/prebuilt/wast-lexer-gen.cc"
yy1277:
		yych = *++cursor_;
		if (yych == 'l') goto yy1438;
		goto yy11;
yy1278:
		yych = *++cursor_;
		if (yych == 'e') goto yy1439;
		goto yy11;
yy1279:
		yych = *++cursor_;
		if (yych == 't') goto yy1440;
		goto yy11;
yy1280:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 527 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load,  V128Load); }
#line 7040 "src/prebuilt/wast-lexer-gen.cc"
yy1282:
		yych = *++cursor_;
		if (yych == 'e') goto yy1442;
		goto yy11;
yy1283:
		yych = *++cursor_;
		if (yych == 'f') goto yy1444;
		goto yy11;
yy1284:
		yych = *++cursor_;
		if (yych == 'a') goto yy1445;
		goto yy11;
yy1285:
		yych = *++cursor_;
		if (yych == 'a') goto yy1446;
		goto yy11;
yy1286:
		yych = *++cursor_;
		if (yych == 'f') goto yy1447;
		goto yy11;
yy1287:
		yych = *++cursor_;
		if (yych == 'u') goto yy1448;
		goto yy11;
yy1288:
		yych = *++cursor_;
		if (yych == 'p') goto yy1449;
		goto yy11;
yy1289:
		yych = *++cursor_;
		if (yych == 'i') goto yy1451;
		goto yy11;
yy1290:
		yych = *++cursor_;
		if (yych == 'e') goto yy1452;
		goto yy11;
yy1291:
		yych = *++cursor_;
		if (yych == 'e') goto yy1454;
		goto yy11;
yy1292:
		yych = *++cursor_;
		if (yych == 'm') goto yy1455;
		goto yy11;
yy1293:
		yych = *++cursor_;
		if (yych == 't') goto yy1456;
		goto yy11;
yy1294:
		yych = *++cursor_;
		if (yych == 'g') goto yy1457;
		goto yy11;
yy1295:
		yych = *++cursor_;
		if (yych == '/') goto yy1458;
		goto yy11;
yy1296:
		yych = *++cursor_;
		if (yych == 't') goto yy1459;
		goto yy11;
yy1297:
		yych = *++cursor_;
		if (yych == 'r') goto yy1461;
		goto yy11;
yy1298:
		yych = *++cursor_;
		if (yych == 'e') goto yy1462;
		goto yy11;
yy1299:
		yych = *++cursor_;
		if (yych == 'a') goto yy1463;
		goto yy11;
yy1300:
		yych = *++cursor_;
		if (yych == 'a') goto yy1464;
		goto yy11;
yy1301:
		yych = *++cursor_;
		if (yych == 't') goto yy1465;
		goto yy11;
yy1302:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 656 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4Sqrt); }
#line 7128 "src/prebuilt/wast-lexer-gen.cc"
yy1304:
		yych = *++cursor_;
		if (yych == 't') goto yy1467;
		goto yy11;
yy1305:
		yych = *++cursor_;
		if (yych == 'g') goto yy1468;
		goto yy11;
yy1306:
		yych = *++cursor_;
		if (yych == 't') goto yy1469;
		goto yy11;
yy1307:
		yych = *++cursor_;
		if (yych == 'e') goto yy1471;
		goto yy11;
yy1308:
		yych = *++cursor_;
		if (yych == 'r') goto yy1472;
		goto yy11;
yy1309:
		yych = *++cursor_;
		if (yych == 'e') goto yy1473;
		goto yy11;
yy1310:
		yych = *++cursor_;
		if (yych == 'a') goto yy1474;
		goto yy11;
yy1311:
		yych = *++cursor_;
		if (yych == 'a') goto yy1475;
		goto yy11;
yy1312:
		yych = *++cursor_;
		if (yych == 't') goto yy1476;
		goto yy11;
yy1313:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 657 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2Sqrt); }
#line 7172 "src/prebuilt/wast-lexer-gen.cc"
yy1315:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 279 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(GetGlobal); }
#line 7180 "src/prebuilt/wast-lexer-gen.cc"
yy1317:
		yych = *++cursor_;
		if (yych == 'y') goto yy1478;
		goto yy11;
yy1318:
		yych = *++cursor_;
		if (yych == 's') goto yy1480;
		goto yy11;
yy1319:
		yych = *++cursor_;
		if (yych == 't') goto yy1481;
		goto yy11;
yy1320:
		yych = *++cursor_;
		if (yych == 't') goto yy1482;
		goto yy11;
yy1321:
		yych = *++cursor_;
		if (yych == 'a') goto yy1483;
		goto yy11;
yy1322:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 634 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8GeS); }
#line 7208 "src/prebuilt/wast-lexer-gen.cc"
yy1324:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 635 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8GeU); }
#line 7216 "src/prebuilt/wast-lexer-gen.cc"
yy1326:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 626 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8GtS); }
#line 7224 "src/prebuilt/wast-lexer-gen.cc"
yy1328:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 627 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8GtU); }
#line 7232 "src/prebuilt/wast-lexer-gen.cc"
yy1330:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 618 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8LeS); }
#line 7240 "src/prebuilt/wast-lexer-gen.cc"
yy1332:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 619 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8LeU); }
#line 7248 "src/prebuilt/wast-lexer-gen.cc"
yy1334:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 610 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8LtS); }
#line 7256 "src/prebuilt/wast-lexer-gen.cc"
yy1336:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 611 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I16X8LtU); }
#line 7264 "src/prebuilt/wast-lexer-gen.cc"
yy1338:
		yych = *++cursor_;
		if (yych == 'a') goto yy1484;
		goto yy11;
yy1339:
		yych = *++cursor_;
		if (yych == 's') goto yy1485;
		if (yych == 'u') goto yy1487;
		goto yy11;
yy1340:
		yych = *++cursor_;
		if (yych == 't') goto yy1489;
		goto yy11;
yy1341:
		yych = *++cursor_;
		if (yych == 's') goto yy1491;
		goto yy11;
yy1342:
		yych = *++cursor_;
		if (yych == '.') goto yy1492;
		goto yy11;
yy1343:
		yych = *++cursor_;
		if (yych == '1') goto yy1493;
		if (yych == '8') goto yy1494;
		goto yy11;
yy1344:
		yych = *++cursor_;
		if (yych == '_') goto yy1495;
		goto yy11;
yy1345:
		yych = *++cursor_;
		if (yych == 's') goto yy1496;
		if (yych == 'u') goto yy1498;
		goto yy11;
yy1346:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 316 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32Popcnt); }
#line 7307 "src/prebuilt/wast-lexer-gen.cc"
yy1348:
		yych = *++cursor_;
		if (yych == 'r') goto yy1500;
		goto yy11;
yy1349:
		yych = *++cursor_;
		if (yych == '6') goto yy1501;
		goto yy11;
yy1350:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 299 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I32Store8); }
#line 7323 "src/prebuilt/wast-lexer-gen.cc"
yy1352:
		yych = *++cursor_;
		if (yych == 's') goto yy1503;
		if (yych == 'u') goto yy1504;
		goto yy11;
yy1353:
		yych = *++cursor_;
		if (yych == '6') goto yy1505;
		goto yy11;
yy1354:
		yych = *++cursor_;
		if (yych == 't') goto yy1506;
		goto yy11;
yy1355:
		yych = *++cursor_;
		if (yych == 't') goto yy1507;
		goto yy11;
yy1356:
		yych = *++cursor_;
		if (yych == 'a') goto yy1508;
		goto yy11;
yy1357:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 636 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4GeS); }
#line 7352 "src/prebuilt/wast-lexer-gen.cc"
yy1359:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 637 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4GeU); }
#line 7360 "src/prebuilt/wast-lexer-gen.cc"
yy1361:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 628 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4GtS); }
#line 7368 "src/prebuilt/wast-lexer-gen.cc"
yy1363:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 629 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4GtU); }
#line 7376 "src/prebuilt/wast-lexer-gen.cc"
yy1365:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 620 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4LeS); }
#line 7384 "src/prebuilt/wast-lexer-gen.cc"
yy1367:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 621 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4LeU); }
#line 7392 "src/prebuilt/wast-lexer-gen.cc"
yy1369:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 612 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4LtS); }
#line 7400 "src/prebuilt/wast-lexer-gen.cc"
yy1371:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 613 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I32X4LtU); }
#line 7408 "src/prebuilt/wast-lexer-gen.cc"
yy1373:
		yych = *++cursor_;
		if (yych == 'a') goto yy1509;
		goto yy11;
yy1374:
		yych = *++cursor_;
		if (yych == 's') goto yy1510;
		if (yych == 'u') goto yy1512;
		goto yy11;
yy1375:
		yych = *++cursor_;
		if (yych == 't') goto yy1514;
		goto yy11;
yy1376:
		yych = *++cursor_;
		if (yych == 'c') goto yy1516;
		goto yy11;
yy1377:
		yych = *++cursor_;
		if (yych == '.') goto yy1517;
		goto yy11;
yy1378:
		yych = *++cursor_;
		if (yych <= '3') {
			if (yych == '1') goto yy1518;
			if (yych <= '2') goto yy11;
			goto yy1519;
		} else {
			if (yych <= '8') {
				if (yych <= '7') goto yy11;
				goto yy1520;
			} else {
				if (yych == '_') goto yy1521;
				goto yy11;
			}
		}
yy1379:
		yych = *++cursor_;
		if (yych == '_') goto yy1522;
		goto yy11;
yy1380:
		yych = *++cursor_;
		if (yych == '_') goto yy1523;
		goto yy11;
yy1381:
		yych = *++cursor_;
		if (yych == 's') goto yy1524;
		if (yych == 'u') goto yy1526;
		goto yy11;
yy1382:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 317 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Popcnt); }
#line 7465 "src/prebuilt/wast-lexer-gen.cc"
yy1384:
		yych = *++cursor_;
		if (yych == 'r') goto yy1528;
		goto yy11;
yy1385:
		yych = *++cursor_;
		if (yych == '6') goto yy1529;
		goto yy11;
yy1386:
		yych = *++cursor_;
		if (yych == '2') goto yy1531;
		goto yy11;
yy1387:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 300 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I64Store8); }
#line 7485 "src/prebuilt/wast-lexer-gen.cc"
yy1389:
		yych = *++cursor_;
		if (yych == 's') goto yy1533;
		if (yych == 'u') goto yy1534;
		goto yy11;
yy1390:
		yych = *++cursor_;
		if (yych == 't') goto yy1535;
		goto yy11;
yy1391:
		yych = *++cursor_;
		if (yych == 't') goto yy1536;
		goto yy11;
yy1392:
		yych = *++cursor_;
		if (yych == 'a') goto yy1537;
		goto yy11;
yy1393:
		yych = *++cursor_;
		if (yych == 'a') goto yy1538;
		goto yy11;
yy1394:
		yych = *++cursor_;
		if (yych == 's') goto yy1539;
		if (yych == 'u') goto yy1541;
		goto yy11;
yy1395:
		yych = *++cursor_;
		if (yych == 't') goto yy1543;
		goto yy11;
yy1396:
		yych = *++cursor_;
		if (yych == 'c') goto yy1545;
		goto yy11;
yy1397:
		yych = *++cursor_;
		if (yych == 's') goto yy1546;
		goto yy11;
yy1398:
		yych = *++cursor_;
		if (yych == 't') goto yy1547;
		goto yy11;
yy1399:
		yych = *++cursor_;
		if (yych == 't') goto yy1548;
		goto yy11;
yy1400:
		yych = *++cursor_;
		if (yych == 'a') goto yy1549;
		goto yy11;
yy1401:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 632 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16GeS); }
#line 7543 "src/prebuilt/wast-lexer-gen.cc"
yy1403:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 633 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16GeU); }
#line 7551 "src/prebuilt/wast-lexer-gen.cc"
yy1405:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 624 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16GtS); }
#line 7559 "src/prebuilt/wast-lexer-gen.cc"
yy1407:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 625 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16GtU); }
#line 7567 "src/prebuilt/wast-lexer-gen.cc"
yy1409:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 616 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16LeS); }
#line 7575 "src/prebuilt/wast-lexer-gen.cc"
yy1411:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 617 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16LeU); }
#line 7583 "src/prebuilt/wast-lexer-gen.cc"
yy1413:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 608 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16LtS); }
#line 7591 "src/prebuilt/wast-lexer-gen.cc"
yy1415:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 609 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Compare, I8X16LtU); }
#line 7599 "src/prebuilt/wast-lexer-gen.cc"
yy1417:
		yych = *++cursor_;
		if (yych == 'a') goto yy1550;
		goto yy11;
yy1418:
		yych = *++cursor_;
		if (yych == 's') goto yy1551;
		if (yych == 'u') goto yy1553;
		goto yy11;
yy1419:
		yych = *++cursor_;
		if (yych == 't') goto yy1555;
		goto yy11;
yy1420:
		yych = *++cursor_;
		if (yych == 's') goto yy1557;
		goto yy11;
yy1421:
		yych = *++cursor_;
		if (yych == 'y') goto yy1558;
		goto yy11;
yy1422:
		yych = *++cursor_;
		if (yych == 'p') goto yy1560;
		goto yy11;
yy1423:
		yych = *++cursor_;
		if (yych == 'l') goto yy1562;
		goto yy11;
yy1424:
		yych = *++cursor_;
		if (yych == 'w') goto yy1564;
		goto yy11;
yy1425:
		yych = *++cursor_;
		if (yych == 't') goto yy1566;
		goto yy11;
yy1426:
		yych = *++cursor_;
		if (yych == 'e') goto yy1568;
		goto yy11;
yy1427:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= ':') {
			if (yych <= '\'') {
				if (yych == '!') goto yy10;
				if (yych <= '"') goto yy1027;
				goto yy10;
			} else {
				if (yych <= ')') goto yy1027;
				if (yych <= '/') goto yy10;
				if (yych <= '9') goto yy1427;
				goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych <= ';') goto yy1027;
				if (yych <= '@') goto yy10;
				if (yych <= 'F') goto yy1427;
				goto yy10;
			} else {
				if (yych <= '`') {
					if (yych <= '_') goto yy1267;
					goto yy10;
				} else {
					if (yych <= 'f') goto yy1427;
					if (yych <= '~') goto yy10;
					goto yy1027;
				}
			}
		}
yy1429:
		yych = *++cursor_;
		if (yych == 'l') goto yy1570;
		goto yy11;
yy1430:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 280 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(SetGlobal); }
#line 7684 "src/prebuilt/wast-lexer-gen.cc"
yy1432:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 458 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(TableCopy); }
#line 7692 "src/prebuilt/wast-lexer-gen.cc"
yy1434:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 457 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(TableDrop); }
#line 7700 "src/prebuilt/wast-lexer-gen.cc"
yy1436:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 456 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(TableInit); }
#line 7708 "src/prebuilt/wast-lexer-gen.cc"
yy1438:
		yych = *++cursor_;
		if (yych == 'e') goto yy1572;
		goto yy11;
yy1439:
		yych = *++cursor_;
		if (yych == 'l') goto yy1574;
		goto yy11;
yy1440:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 526 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Const, V128Const); }
#line 7724 "src/prebuilt/wast-lexer-gen.cc"
yy1442:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 528 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, V128Store); }
#line 7732 "src/prebuilt/wast-lexer-gen.cc"
yy1444:
		yych = *++cursor_;
		if (yych == 'f') goto yy1575;
		goto yy11;
yy1445:
		yych = *++cursor_;
		if (yych == 'u') goto yy1576;
		goto yy11;
yy1446:
		yych = *++cursor_;
		if (yych == 'l') goto yy1577;
		goto yy11;
yy1447:
		yych = *++cursor_;
		if (yych == 'o') goto yy1578;
		goto yy11;
yy1448:
		yych = *++cursor_;
		if (yych == 'r') goto yy1579;
		goto yy11;
yy1449:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 697 "src/wast-lexer.cc"
		{ RETURN(AssertTrap); }
#line 7760 "src/prebuilt/wast-lexer-gen.cc"
yy1451:
		yych = *++cursor_;
		if (yych == 'n') goto yy1580;
		goto yy11;
yy1452:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 462 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(AtomicWake); }
#line 7772 "src/prebuilt/wast-lexer-gen.cc"
yy1454:
		yych = *++cursor_;
		if (yych == 'c') goto yy1581;
		goto yy11;
yy1455:
		yych = *++cursor_;
		if (yych == 'o') goto yy1582;
		goto yy11;
yy1456:
		yych = *++cursor_;
		if (yych == '_') goto yy1583;
		goto yy11;
yy1457:
		yych = *++cursor_;
		if (yych == 'n') goto yy1584;
		goto yy11;
yy1458:
		yych = *++cursor_;
		if (yych == 'f') goto yy1586;
		goto yy11;
yy1459:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 330 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32Nearest); }
#line 7800 "src/prebuilt/wast-lexer-gen.cc"
yy1461:
		yych = *++cursor_;
		if (yych == 'p') goto yy1587;
		goto yy11;
yy1462:
		yych = *++cursor_;
		if (yych == 'r') goto yy1588;
		goto yy11;
yy1463:
		yych = *++cursor_;
		if (yych == 'c') goto yy1589;
		goto yy11;
yy1464:
		yych = *++cursor_;
		if (yych == 'c') goto yy1590;
		goto yy11;
yy1465:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 533 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4Splat); }
#line 7824 "src/prebuilt/wast-lexer-gen.cc"
yy1467:
		yych = *++cursor_;
		if (yych == '_') goto yy1591;
		goto yy11;
yy1468:
		yych = *++cursor_;
		if (yych == 'n') goto yy1592;
		goto yy11;
yy1469:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 331 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64Nearest); }
#line 7840 "src/prebuilt/wast-lexer-gen.cc"
yy1471:
		yych = *++cursor_;
		if (yych == '/') goto yy1594;
		goto yy11;
yy1472:
		yych = *++cursor_;
		if (yych == 'p') goto yy1595;
		goto yy11;
yy1473:
		yych = *++cursor_;
		if (yych == 'r') goto yy1596;
		goto yy11;
yy1474:
		yych = *++cursor_;
		if (yych == 'c') goto yy1597;
		goto yy11;
yy1475:
		yych = *++cursor_;
		if (yych == 'c') goto yy1598;
		goto yy11;
yy1476:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 534 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2Splat); }
#line 7868 "src/prebuilt/wast-lexer-gen.cc"
yy1478:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 455 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryGrow); }
#line 7876 "src/prebuilt/wast-lexer-gen.cc"
yy1480:
		yych = *++cursor_;
		if (yych == 'a') goto yy1599;
		goto yy11;
yy1481:
		yych = *++cursor_;
		if (yych == 'r') goto yy1600;
		goto yy11;
yy1482:
		yych = *++cursor_;
		if (yych == 'r') goto yy1601;
		goto yy11;
yy1483:
		yych = *++cursor_;
		if (yych == 'c') goto yy1602;
		goto yy11;
yy1484:
		yych = *++cursor_;
		if (yych == 'c') goto yy1603;
		goto yy11;
yy1485:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 579 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8ShrS); }
#line 7904 "src/prebuilt/wast-lexer-gen.cc"
yy1487:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 580 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8ShrU); }
#line 7912 "src/prebuilt/wast-lexer-gen.cc"
yy1489:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 530 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I16X8Splat); }
#line 7920 "src/prebuilt/wast-lexer-gen.cc"
yy1491:
		yych = *++cursor_;
		if (yych == 'a') goto yy1604;
		goto yy11;
yy1492:
		yych = *++cursor_;
		if (yych <= 'r') {
			if (yych == 'l') goto yy1605;
			if (yych <= 'q') goto yy11;
			goto yy1606;
		} else {
			if (yych <= 's') goto yy1607;
			if (yych == 'w') goto yy1608;
			goto yy11;
		}
yy1493:
		yych = *++cursor_;
		if (yych == '6') goto yy1609;
		goto yy11;
yy1494:
		yych = *++cursor_;
		if (yych == '_') goto yy1610;
		goto yy11;
yy1495:
		yych = *++cursor_;
		if (yych == 's') goto yy1611;
		if (yych == 'u') goto yy1613;
		goto yy11;
yy1496:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 289 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I32Load8S); }
#line 7956 "src/prebuilt/wast-lexer-gen.cc"
yy1498:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 291 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I32Load8U); }
#line 7964 "src/prebuilt/wast-lexer-gen.cc"
yy1500:
		yych = *++cursor_;
		if (yych == 'p') goto yy1615;
		goto yy11;
yy1501:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 301 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I32Store16); }
#line 7976 "src/prebuilt/wast-lexer-gen.cc"
yy1503:
		yych = *++cursor_;
		if (yych == '/') goto yy1616;
		if (yych == ':') goto yy1617;
		goto yy11;
yy1504:
		yych = *++cursor_;
		if (yych == '/') goto yy1618;
		if (yych == ':') goto yy1619;
		goto yy11;
yy1505:
		yych = *++cursor_;
		if (yych == '4') goto yy1620;
		goto yy11;
yy1506:
		yych = *++cursor_;
		if (yych == 'r') goto yy1622;
		goto yy11;
yy1507:
		yych = *++cursor_;
		if (yych == 'r') goto yy1623;
		goto yy11;
yy1508:
		yych = *++cursor_;
		if (yych == 'c') goto yy1624;
		goto yy11;
yy1509:
		yych = *++cursor_;
		if (yych == 'c') goto yy1625;
		goto yy11;
yy1510:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 581 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4ShrS); }
#line 8014 "src/prebuilt/wast-lexer-gen.cc"
yy1512:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 582 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I32X4ShrU); }
#line 8022 "src/prebuilt/wast-lexer-gen.cc"
yy1514:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 531 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32X4Splat); }
#line 8030 "src/prebuilt/wast-lexer-gen.cc"
yy1516:
		yych = *++cursor_;
		if (yych == '_') goto yy1626;
		goto yy11;
yy1517:
		yych = *++cursor_;
		if (yych <= 'r') {
			if (yych == 'l') goto yy1627;
			if (yych <= 'q') goto yy11;
			goto yy1628;
		} else {
			if (yych <= 's') goto yy1629;
			if (yych == 'w') goto yy1630;
			goto yy11;
		}
yy1518:
		yych = *++cursor_;
		if (yych == '6') goto yy1631;
		goto yy11;
yy1519:
		yych = *++cursor_;
		if (yych == '2') goto yy1632;
		goto yy11;
yy1520:
		yych = *++cursor_;
		if (yych == '_') goto yy1633;
		goto yy11;
yy1521:
		yych = *++cursor_;
		if (yych == 's') goto yy1634;
		if (yych == 'u') goto yy1635;
		goto yy11;
yy1522:
		yych = *++cursor_;
		if (yych == 's') goto yy1636;
		if (yych == 'u') goto yy1638;
		goto yy11;
yy1523:
		yych = *++cursor_;
		if (yych == 's') goto yy1640;
		if (yych == 'u') goto yy1642;
		goto yy11;
yy1524:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 290 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load8S); }
#line 8080 "src/prebuilt/wast-lexer-gen.cc"
yy1526:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 292 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load8U); }
#line 8088 "src/prebuilt/wast-lexer-gen.cc"
yy1528:
		yych = *++cursor_;
		if (yych == 'p') goto yy1644;
		goto yy11;
yy1529:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 302 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I64Store16); }
#line 8100 "src/prebuilt/wast-lexer-gen.cc"
yy1531:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 303 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Store, I64Store32); }
#line 8108 "src/prebuilt/wast-lexer-gen.cc"
yy1533:
		yych = *++cursor_;
		if (yych == '/') goto yy1645;
		if (yych == ':') goto yy1646;
		goto yy11;
yy1534:
		yych = *++cursor_;
		if (yych == '/') goto yy1647;
		if (yych == ':') goto yy1648;
		goto yy11;
yy1535:
		yych = *++cursor_;
		if (yych == 'r') goto yy1649;
		goto yy11;
yy1536:
		yych = *++cursor_;
		if (yych == 'r') goto yy1650;
		goto yy11;
yy1537:
		yych = *++cursor_;
		if (yych == 'c') goto yy1651;
		goto yy11;
yy1538:
		yych = *++cursor_;
		if (yych == 'c') goto yy1652;
		goto yy11;
yy1539:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 583 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64X2ShrS); }
#line 8142 "src/prebuilt/wast-lexer-gen.cc"
yy1541:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 584 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I64X2ShrU); }
#line 8150 "src/prebuilt/wast-lexer-gen.cc"
yy1543:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 532 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64X2Splat); }
#line 8158 "src/prebuilt/wast-lexer-gen.cc"
yy1545:
		yych = *++cursor_;
		if (yych == '_') goto yy1653;
		goto yy11;
yy1546:
		yych = *++cursor_;
		if (yych == 'a') goto yy1654;
		goto yy11;
yy1547:
		yych = *++cursor_;
		if (yych == 'r') goto yy1655;
		goto yy11;
yy1548:
		yych = *++cursor_;
		if (yych == 'r') goto yy1656;
		goto yy11;
yy1549:
		yych = *++cursor_;
		if (yych == 'c') goto yy1657;
		goto yy11;
yy1550:
		yych = *++cursor_;
		if (yych == 'c') goto yy1658;
		goto yy11;
yy1551:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 577 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16ShrS); }
#line 8190 "src/prebuilt/wast-lexer-gen.cc"
yy1553:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 578 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16ShrU); }
#line 8198 "src/prebuilt/wast-lexer-gen.cc"
yy1555:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 529 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I8X16Splat); }
#line 8206 "src/prebuilt/wast-lexer-gen.cc"
yy1557:
		yych = *++cursor_;
		if (yych == 'a') goto yy1659;
		goto yy11;
yy1558:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 452 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryCopy); }
#line 8218 "src/prebuilt/wast-lexer-gen.cc"
yy1560:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 451 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryDrop); }
#line 8226 "src/prebuilt/wast-lexer-gen.cc"
yy1562:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 453 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryFill); }
#line 8234 "src/prebuilt/wast-lexer-gen.cc"
yy1564:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 449 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryGrow); }
#line 8242 "src/prebuilt/wast-lexer-gen.cc"
yy1566:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 450 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemoryInit); }
#line 8250 "src/prebuilt/wast-lexer-gen.cc"
yy1568:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 448 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemorySize); }
#line 8258 "src/prebuilt/wast-lexer-gen.cc"
yy1570:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1571;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1660;
				if (yych <= '~') goto yy10;
			}
		}
yy1571:
#line 666 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(ReturnCall); }
#line 8279 "src/prebuilt/wast-lexer-gen.cc"
yy1572:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 447 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(Unreachable); }
#line 8287 "src/prebuilt/wast-lexer-gen.cc"
yy1574:
		yych = *++cursor_;
		if (yych == 'e') goto yy1661;
		goto yy11;
yy1575:
		yych = *++cursor_;
		if (yych == 'l') goto yy1662;
		goto yy11;
yy1576:
		yych = *++cursor_;
		if (yych == 's') goto yy1663;
		goto yy11;
yy1577:
		yych = *++cursor_;
		if (yych == 'i') goto yy1664;
		goto yy11;
yy1578:
		yych = *++cursor_;
		if (yych == 'r') goto yy1665;
		goto yy11;
yy1579:
		yych = *++cursor_;
		if (yych == 'n') goto yy1666;
		goto yy11;
yy1580:
		yych = *++cursor_;
		if (yych == 'k') goto yy1668;
		goto yy11;
yy1581:
		yych = *++cursor_;
		if (yych == 't') goto yy1669;
		goto yy11;
yy1582:
		yych = *++cursor_;
		if (yych == 'r') goto yy1671;
		goto yy11;
yy1583:
		yych = *++cursor_;
		if (yych == 's') goto yy1672;
		if (yych == 'u') goto yy1673;
		goto yy11;
yy1584:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 379 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F32Copysign); }
#line 8336 "src/prebuilt/wast-lexer-gen.cc"
yy1586:
		yych = *++cursor_;
		if (yych == '6') goto yy1674;
		goto yy11;
yy1587:
		yych = *++cursor_;
		if (yych == 'r') goto yy1675;
		goto yy11;
yy1588:
		yych = *++cursor_;
		if (yych == 't') goto yy1676;
		goto yy11;
yy1589:
		yych = *++cursor_;
		if (yych == 't') goto yy1677;
		goto yy11;
yy1590:
		yych = *++cursor_;
		if (yych == 'e') goto yy1678;
		goto yy11;
yy1591:
		yych = *++cursor_;
		if (yych == 's') goto yy1679;
		if (yych == 'u') goto yy1680;
		goto yy11;
yy1592:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 380 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, F64Copysign); }
#line 8369 "src/prebuilt/wast-lexer-gen.cc"
yy1594:
		yych = *++cursor_;
		if (yych == 'f') goto yy1681;
		goto yy11;
yy1595:
		yych = *++cursor_;
		if (yych == 'r') goto yy1682;
		goto yy11;
yy1596:
		yych = *++cursor_;
		if (yych == 't') goto yy1683;
		goto yy11;
yy1597:
		yych = *++cursor_;
		if (yych == 't') goto yy1684;
		goto yy11;
yy1598:
		yych = *++cursor_;
		if (yych == 'e') goto yy1685;
		goto yy11;
yy1599:
		yych = *++cursor_;
		if (yych == 't') goto yy1686;
		goto yy11;
yy1600:
		yych = *++cursor_;
		if (yych == 'u') goto yy1687;
		goto yy11;
yy1601:
		yych = *++cursor_;
		if (yych == 'u') goto yy1688;
		goto yy11;
yy1602:
		yych = *++cursor_;
		if (yych == 't') goto yy1689;
		goto yy11;
yy1603:
		yych = *++cursor_;
		if (yych == 'e') goto yy1690;
		goto yy11;
yy1604:
		yych = *++cursor_;
		if (yych == 't') goto yy1691;
		goto yy11;
yy1605:
		yych = *++cursor_;
		if (yych == 'o') goto yy1692;
		goto yy11;
yy1606:
		yych = *++cursor_;
		if (yych == 'm') goto yy1693;
		goto yy11;
yy1607:
		yych = *++cursor_;
		if (yych == 't') goto yy1694;
		goto yy11;
yy1608:
		yych = *++cursor_;
		if (yych == 'a') goto yy1695;
		goto yy11;
yy1609:
		yych = *++cursor_;
		if (yych == '_') goto yy1696;
		goto yy11;
yy1610:
		yych = *++cursor_;
		if (yych == 's') goto yy1697;
		goto yy11;
yy1611:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 293 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I32Load16S); }
#line 8445 "src/prebuilt/wast-lexer-gen.cc"
yy1613:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 295 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I32Load16U); }
#line 8453 "src/prebuilt/wast-lexer-gen.cc"
yy1615:
		yych = *++cursor_;
		if (yych == 'r') goto yy1699;
		goto yy11;
yy1616:
		yych = *++cursor_;
		if (yych == 'f') goto yy1700;
		goto yy11;
yy1617:
		yych = *++cursor_;
		if (yych == 's') goto yy1701;
		goto yy11;
yy1618:
		yych = *++cursor_;
		if (yych == 'f') goto yy1702;
		goto yy11;
yy1619:
		yych = *++cursor_;
		if (yych == 's') goto yy1703;
		goto yy11;
yy1620:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 415 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32WrapI64); }
#line 8481 "src/prebuilt/wast-lexer-gen.cc"
yy1622:
		yych = *++cursor_;
		if (yych == 'u') goto yy1704;
		goto yy11;
yy1623:
		yych = *++cursor_;
		if (yych == 'u') goto yy1705;
		goto yy11;
yy1624:
		yych = *++cursor_;
		if (yych == 't') goto yy1706;
		goto yy11;
yy1625:
		yych = *++cursor_;
		if (yych == 'e') goto yy1707;
		goto yy11;
yy1626:
		yych = *++cursor_;
		if (yych == 's') goto yy1708;
		if (yych == 'u') goto yy1709;
		goto yy11;
yy1627:
		yych = *++cursor_;
		if (yych == 'o') goto yy1710;
		goto yy11;
yy1628:
		yych = *++cursor_;
		if (yych == 'm') goto yy1711;
		goto yy11;
yy1629:
		yych = *++cursor_;
		if (yych == 't') goto yy1712;
		goto yy11;
yy1630:
		yych = *++cursor_;
		if (yych == 'a') goto yy1713;
		goto yy11;
yy1631:
		yych = *++cursor_;
		if (yych == '_') goto yy1714;
		goto yy11;
yy1632:
		yych = *++cursor_;
		if (yych == '_') goto yy1715;
		goto yy11;
yy1633:
		yych = *++cursor_;
		if (yych == 's') goto yy1716;
		goto yy11;
yy1634:
		yych = *++cursor_;
		if (yych == '/') goto yy1718;
		goto yy11;
yy1635:
		yych = *++cursor_;
		if (yych == '/') goto yy1719;
		goto yy11;
yy1636:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 294 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load16S); }
#line 8546 "src/prebuilt/wast-lexer-gen.cc"
yy1638:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 296 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load16U); }
#line 8554 "src/prebuilt/wast-lexer-gen.cc"
yy1640:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 297 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load32S); }
#line 8562 "src/prebuilt/wast-lexer-gen.cc"
yy1642:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 298 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Load, I64Load32U); }
#line 8570 "src/prebuilt/wast-lexer-gen.cc"
yy1644:
		yych = *++cursor_;
		if (yych == 'r') goto yy1720;
		goto yy11;
yy1645:
		yych = *++cursor_;
		if (yych == 'f') goto yy1721;
		goto yy11;
yy1646:
		yych = *++cursor_;
		if (yych == 's') goto yy1722;
		goto yy11;
yy1647:
		yych = *++cursor_;
		if (yych == 'f') goto yy1723;
		goto yy11;
yy1648:
		yych = *++cursor_;
		if (yych == 's') goto yy1724;
		goto yy11;
yy1649:
		yych = *++cursor_;
		if (yych == 'u') goto yy1725;
		goto yy11;
yy1650:
		yych = *++cursor_;
		if (yych == 'u') goto yy1726;
		goto yy11;
yy1651:
		yych = *++cursor_;
		if (yych == 't') goto yy1727;
		goto yy11;
yy1652:
		yych = *++cursor_;
		if (yych == 'e') goto yy1728;
		goto yy11;
yy1653:
		yych = *++cursor_;
		if (yych == 's') goto yy1729;
		if (yych == 'u') goto yy1730;
		goto yy11;
yy1654:
		yych = *++cursor_;
		if (yych == 't') goto yy1731;
		goto yy11;
yy1655:
		yych = *++cursor_;
		if (yych == 'u') goto yy1732;
		goto yy11;
yy1656:
		yych = *++cursor_;
		if (yych == 'u') goto yy1733;
		goto yy11;
yy1657:
		yych = *++cursor_;
		if (yych == 't') goto yy1734;
		goto yy11;
yy1658:
		yych = *++cursor_;
		if (yych == 'e') goto yy1735;
		goto yy11;
yy1659:
		yych = *++cursor_;
		if (yych == 't') goto yy1736;
		goto yy11;
yy1660:
		yych = *++cursor_;
		if (yych == 'i') goto yy1737;
		goto yy11;
yy1661:
		yych = *++cursor_;
		if (yych == 'c') goto yy1738;
		goto yy11;
yy1662:
		yych = *++cursor_;
		if (yych == 'e') goto yy1739;
		goto yy11;
yy1663:
		yych = *++cursor_;
		if (yych == 't') goto yy1741;
		goto yy11;
yy1664:
		yych = *++cursor_;
		if (yych == 'd') goto yy1742;
		goto yy11;
yy1665:
		yych = *++cursor_;
		if (yych == 'm') goto yy1744;
		goto yy11;
yy1666:
		yych = *++cursor_;
		if (yych <= ')') {
			if (yych <= '!') {
				if (yych >= '!') goto yy10;
			} else {
				if (yych <= '"') goto yy1667;
				if (yych <= '\'') goto yy10;
			}
		} else {
			if (yych <= '^') {
				if (yych != ';') goto yy10;
			} else {
				if (yych <= '_') goto yy1745;
				if (yych <= '~') goto yy10;
			}
		}
yy1667:
#line 694 "src/wast-lexer.cc"
		{ RETURN(AssertReturn); }
#line 8680 "src/prebuilt/wast-lexer-gen.cc"
yy1668:
		yych = *++cursor_;
		if (yych == 'a') goto yy1746;
		goto yy11;
yy1669:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 272 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(CallIndirect); }
#line 8692 "src/prebuilt/wast-lexer-gen.cc"
yy1671:
		yych = *++cursor_;
		if (yych == 'y') goto yy1747;
		goto yy11;
yy1672:
		yych = *++cursor_;
		if (yych == '/') goto yy1749;
		goto yy11;
yy1673:
		yych = *++cursor_;
		if (yych == '/') goto yy1750;
		goto yy11;
yy1674:
		yych = *++cursor_;
		if (yych == '4') goto yy1751;
		goto yy11;
yy1675:
		yych = *++cursor_;
		if (yych == 'e') goto yy1753;
		goto yy11;
yy1676:
		yych = *++cursor_;
		if (yych == '_') goto yy1754;
		goto yy11;
yy1677:
		yych = *++cursor_;
		if (yych == '_') goto yy1755;
		goto yy11;
yy1678:
		yych = *++cursor_;
		if (yych == '_') goto yy1756;
		goto yy11;
yy1679:
		yych = *++cursor_;
		if (yych == '/') goto yy1757;
		goto yy11;
yy1680:
		yych = *++cursor_;
		if (yych == '/') goto yy1758;
		goto yy11;
yy1681:
		yych = *++cursor_;
		if (yych == '3') goto yy1759;
		goto yy11;
yy1682:
		yych = *++cursor_;
		if (yych == 'e') goto yy1760;
		goto yy11;
yy1683:
		yych = *++cursor_;
		if (yych == '_') goto yy1761;
		goto yy11;
yy1684:
		yych = *++cursor_;
		if (yych == '_') goto yy1762;
		goto yy11;
yy1685:
		yych = *++cursor_;
		if (yych == '_') goto yy1763;
		goto yy11;
yy1686:
		yych = *++cursor_;
		if (yych == 'u') goto yy1764;
		goto yy11;
yy1687:
		yych = *++cursor_;
		if (yych == 'e') goto yy1765;
		goto yy11;
yy1688:
		yych = *++cursor_;
		if (yych == 'e') goto yy1767;
		goto yy11;
yy1689:
		yych = *++cursor_;
		if (yych == '_') goto yy1769;
		goto yy11;
yy1690:
		yych = *++cursor_;
		if (yych == '_') goto yy1770;
		goto yy11;
yy1691:
		yych = *++cursor_;
		if (yych == 'u') goto yy1771;
		goto yy11;
yy1692:
		yych = *++cursor_;
		if (yych == 'a') goto yy1772;
		goto yy11;
yy1693:
		yych = *++cursor_;
		if (yych == 'w') goto yy1773;
		goto yy11;
yy1694:
		yych = *++cursor_;
		if (yych == 'o') goto yy1774;
		goto yy11;
yy1695:
		yych = *++cursor_;
		if (yych == 'i') goto yy1775;
		goto yy11;
yy1696:
		yych = *++cursor_;
		if (yych == 's') goto yy1776;
		goto yy11;
yy1697:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 332 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32Extend8S); }
#line 8804 "src/prebuilt/wast-lexer-gen.cc"
yy1699:
		yych = *++cursor_;
		if (yych == 'e') goto yy1778;
		goto yy11;
yy1700:
		yych = *++cursor_;
		if (yych == '3') goto yy1779;
		if (yych == '6') goto yy1780;
		goto yy11;
yy1701:
		yych = *++cursor_;
		if (yych == 'a') goto yy1781;
		goto yy11;
yy1702:
		yych = *++cursor_;
		if (yych == '3') goto yy1782;
		if (yych == '6') goto yy1783;
		goto yy11;
yy1703:
		yych = *++cursor_;
		if (yych == 'a') goto yy1784;
		goto yy11;
yy1704:
		yych = *++cursor_;
		if (yych == 'e') goto yy1785;
		goto yy11;
yy1705:
		yych = *++cursor_;
		if (yych == 'e') goto yy1787;
		goto yy11;
yy1706:
		yych = *++cursor_;
		if (yych == '_') goto yy1789;
		goto yy11;
yy1707:
		yych = *++cursor_;
		if (yych == '_') goto yy1790;
		goto yy11;
yy1708:
		yych = *++cursor_;
		if (yych == '/') goto yy1791;
		goto yy11;
yy1709:
		yych = *++cursor_;
		if (yych == '/') goto yy1792;
		goto yy11;
yy1710:
		yych = *++cursor_;
		if (yych == 'a') goto yy1793;
		goto yy11;
yy1711:
		yych = *++cursor_;
		if (yych == 'w') goto yy1794;
		goto yy11;
yy1712:
		yych = *++cursor_;
		if (yych == 'o') goto yy1795;
		goto yy11;
yy1713:
		yych = *++cursor_;
		if (yych == 'i') goto yy1796;
		goto yy11;
yy1714:
		yych = *++cursor_;
		if (yych == 's') goto yy1797;
		goto yy11;
yy1715:
		yych = *++cursor_;
		if (yych == 's') goto yy1799;
		goto yy11;
yy1716:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 334 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Extend8S); }
#line 8882 "src/prebuilt/wast-lexer-gen.cc"
yy1718:
		yych = *++cursor_;
		if (yych == 'i') goto yy1801;
		goto yy11;
yy1719:
		yych = *++cursor_;
		if (yych == 'i') goto yy1802;
		goto yy11;
yy1720:
		yych = *++cursor_;
		if (yych == 'e') goto yy1803;
		goto yy11;
yy1721:
		yych = *++cursor_;
		if (yych == '3') goto yy1804;
		if (yych == '6') goto yy1805;
		goto yy11;
yy1722:
		yych = *++cursor_;
		if (yych == 'a') goto yy1806;
		goto yy11;
yy1723:
		yych = *++cursor_;
		if (yych == '3') goto yy1807;
		if (yych == '6') goto yy1808;
		goto yy11;
yy1724:
		yych = *++cursor_;
		if (yych == 'a') goto yy1809;
		goto yy11;
yy1725:
		yych = *++cursor_;
		if (yych == 'e') goto yy1810;
		goto yy11;
yy1726:
		yych = *++cursor_;
		if (yych == 'e') goto yy1812;
		goto yy11;
yy1727:
		yych = *++cursor_;
		if (yych == '_') goto yy1814;
		goto yy11;
yy1728:
		yych = *++cursor_;
		if (yych == '_') goto yy1815;
		goto yy11;
yy1729:
		yych = *++cursor_;
		if (yych == '/') goto yy1816;
		goto yy11;
yy1730:
		yych = *++cursor_;
		if (yych == '/') goto yy1817;
		goto yy11;
yy1731:
		yych = *++cursor_;
		if (yych == 'u') goto yy1818;
		goto yy11;
yy1732:
		yych = *++cursor_;
		if (yych == 'e') goto yy1819;
		goto yy11;
yy1733:
		yych = *++cursor_;
		if (yych == 'e') goto yy1821;
		goto yy11;
yy1734:
		yych = *++cursor_;
		if (yych == '_') goto yy1823;
		goto yy11;
yy1735:
		yych = *++cursor_;
		if (yych == '_') goto yy1824;
		goto yy11;
yy1736:
		yych = *++cursor_;
		if (yych == 'u') goto yy1825;
		goto yy11;
yy1737:
		yych = *++cursor_;
		if (yych == 'n') goto yy1826;
		goto yy11;
yy1738:
		yych = *++cursor_;
		if (yych == 't') goto yy1827;
		goto yy11;
yy1739:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 549 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
#line 8976 "src/prebuilt/wast-lexer-gen.cc"
yy1741:
		yych = *++cursor_;
		if (yych == 'i') goto yy1829;
		goto yy11;
yy1742:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 692 "src/wast-lexer.cc"
		{ RETURN(AssertInvalid); }
#line 8988 "src/prebuilt/wast-lexer-gen.cc"
yy1744:
		yych = *++cursor_;
		if (yych == 'e') goto yy1830;
		goto yy11;
yy1745:
		yych = *++cursor_;
		if (yych == 'a') goto yy1831;
		if (yych == 'c') goto yy1832;
		goto yy11;
yy1746:
		yych = *++cursor_;
		if (yych == 'b') goto yy1833;
		goto yy11;
yy1747:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 454 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(MemorySize); }
#line 9009 "src/prebuilt/wast-lexer-gen.cc"
yy1749:
		yych = *++cursor_;
		if (yych == 'i') goto yy1834;
		goto yy11;
yy1750:
		yych = *++cursor_;
		if (yych == 'i') goto yy1835;
		goto yy11;
yy1751:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 441 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32DemoteF64); }
#line 9025 "src/prebuilt/wast-lexer-gen.cc"
yy1753:
		yych = *++cursor_;
		if (yych == 't') goto yy1836;
		goto yy11;
yy1754:
		yych = *++cursor_;
		if (yych == 's') goto yy1837;
		if (yych == 'u') goto yy1838;
		goto yy11;
yy1755:
		yych = *++cursor_;
		if (yych == 'l') goto yy1839;
		goto yy11;
yy1756:
		yych = *++cursor_;
		if (yych == 'l') goto yy1840;
		goto yy11;
yy1757:
		yych = *++cursor_;
		if (yych == 'i') goto yy1841;
		goto yy11;
yy1758:
		yych = *++cursor_;
		if (yych == 'i') goto yy1842;
		goto yy11;
yy1759:
		yych = *++cursor_;
		if (yych == '2') goto yy1843;
		goto yy11;
yy1760:
		yych = *++cursor_;
		if (yych == 't') goto yy1845;
		goto yy11;
yy1761:
		yych = *++cursor_;
		if (yych == 's') goto yy1846;
		if (yych == 'u') goto yy1847;
		goto yy11;
yy1762:
		yych = *++cursor_;
		if (yych == 'l') goto yy1848;
		goto yy11;
yy1763:
		yych = *++cursor_;
		if (yych == 'l') goto yy1849;
		goto yy11;
yy1764:
		yych = *++cursor_;
		if (yych == 'r') goto yy1850;
		goto yy11;
yy1765:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 595 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I16X8AllTrue); }
#line 9083 "src/prebuilt/wast-lexer-gen.cc"
yy1767:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 591 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I16X8AnyTrue); }
#line 9091 "src/prebuilt/wast-lexer-gen.cc"
yy1769:
		yych = *++cursor_;
		if (yych == 'l') goto yy1851;
		goto yy11;
yy1770:
		yych = *++cursor_;
		if (yych == 'l') goto yy1852;
		goto yy11;
yy1771:
		yych = *++cursor_;
		if (yych == 'r') goto yy1853;
		goto yy11;
yy1772:
		yych = *++cursor_;
		if (yych == 'd') goto yy1854;
		goto yy11;
yy1773:
		yych = *++cursor_;
		if (yych <= '0') {
			if (yych == '.') goto yy1856;
			goto yy11;
		} else {
			if (yych <= '1') goto yy1857;
			if (yych == '8') goto yy1858;
			goto yy11;
		}
yy1774:
		yych = *++cursor_;
		if (yych == 'r') goto yy1859;
		goto yy11;
yy1775:
		yych = *++cursor_;
		if (yych == 't') goto yy1860;
		goto yy11;
yy1776:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 333 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32Extend16S); }
#line 9133 "src/prebuilt/wast-lexer-gen.cc"
yy1778:
		yych = *++cursor_;
		if (yych == 't') goto yy1862;
		goto yy11;
yy1779:
		yych = *++cursor_;
		if (yych == '2') goto yy1863;
		goto yy11;
yy1780:
		yych = *++cursor_;
		if (yych == '4') goto yy1865;
		goto yy11;
yy1781:
		yych = *++cursor_;
		if (yych == 't') goto yy1867;
		goto yy11;
yy1782:
		yych = *++cursor_;
		if (yych == '2') goto yy1868;
		goto yy11;
yy1783:
		yych = *++cursor_;
		if (yych == '4') goto yy1870;
		goto yy11;
yy1784:
		yych = *++cursor_;
		if (yych == 't') goto yy1872;
		goto yy11;
yy1785:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 596 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I32X4AllTrue); }
#line 9169 "src/prebuilt/wast-lexer-gen.cc"
yy1787:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 592 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I32X4AnyTrue); }
#line 9177 "src/prebuilt/wast-lexer-gen.cc"
yy1789:
		yych = *++cursor_;
		if (yych == 'l') goto yy1873;
		goto yy11;
yy1790:
		yych = *++cursor_;
		if (yych == 'l') goto yy1874;
		goto yy11;
yy1791:
		yych = *++cursor_;
		if (yych == 'f') goto yy1875;
		goto yy11;
yy1792:
		yych = *++cursor_;
		if (yych == 'f') goto yy1876;
		goto yy11;
yy1793:
		yych = *++cursor_;
		if (yych == 'd') goto yy1877;
		goto yy11;
yy1794:
		yych = *++cursor_;
		switch (yych) {
		case '.':	goto yy1879;
		case '1':	goto yy1880;
		case '3':	goto yy1881;
		case '8':	goto yy1882;
		default:	goto yy11;
		}
yy1795:
		yych = *++cursor_;
		if (yych == 'r') goto yy1883;
		goto yy11;
yy1796:
		yych = *++cursor_;
		if (yych == 't') goto yy1884;
		goto yy11;
yy1797:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 335 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Extend16S); }
#line 9222 "src/prebuilt/wast-lexer-gen.cc"
yy1799:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 336 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64Extend32S); }
#line 9230 "src/prebuilt/wast-lexer-gen.cc"
yy1801:
		yych = *++cursor_;
		if (yych == '3') goto yy1886;
		goto yy11;
yy1802:
		yych = *++cursor_;
		if (yych == '3') goto yy1887;
		goto yy11;
yy1803:
		yych = *++cursor_;
		if (yych == 't') goto yy1888;
		goto yy11;
yy1804:
		yych = *++cursor_;
		if (yych == '2') goto yy1889;
		goto yy11;
yy1805:
		yych = *++cursor_;
		if (yych == '4') goto yy1891;
		goto yy11;
yy1806:
		yych = *++cursor_;
		if (yych == 't') goto yy1893;
		goto yy11;
yy1807:
		yych = *++cursor_;
		if (yych == '2') goto yy1894;
		goto yy11;
yy1808:
		yych = *++cursor_;
		if (yych == '4') goto yy1896;
		goto yy11;
yy1809:
		yych = *++cursor_;
		if (yych == 't') goto yy1898;
		goto yy11;
yy1810:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 597 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I64X2AllTrue); }
#line 9274 "src/prebuilt/wast-lexer-gen.cc"
yy1812:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 593 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I64X2AnyTrue); }
#line 9282 "src/prebuilt/wast-lexer-gen.cc"
yy1814:
		yych = *++cursor_;
		if (yych == 'l') goto yy1899;
		goto yy11;
yy1815:
		yych = *++cursor_;
		if (yych == 'l') goto yy1900;
		goto yy11;
yy1816:
		yych = *++cursor_;
		if (yych == 'f') goto yy1901;
		goto yy11;
yy1817:
		yych = *++cursor_;
		if (yych == 'f') goto yy1902;
		goto yy11;
yy1818:
		yych = *++cursor_;
		if (yych == 'r') goto yy1903;
		goto yy11;
yy1819:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 594 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I8X16AllTrue); }
#line 9310 "src/prebuilt/wast-lexer-gen.cc"
yy1821:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 590 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary,  I8X16AnyTrue); }
#line 9318 "src/prebuilt/wast-lexer-gen.cc"
yy1823:
		yych = *++cursor_;
		if (yych == 'l') goto yy1904;
		goto yy11;
yy1824:
		yych = *++cursor_;
		if (yych == 'l') goto yy1905;
		goto yy11;
yy1825:
		yych = *++cursor_;
		if (yych == 'r') goto yy1906;
		goto yy11;
yy1826:
		yych = *++cursor_;
		if (yych == 'd') goto yy1907;
		goto yy11;
yy1827:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 589 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Ternary, V128BitSelect); }
#line 9342 "src/prebuilt/wast-lexer-gen.cc"
yy1829:
		yych = *++cursor_;
		if (yych == 'o') goto yy1908;
		goto yy11;
yy1830:
		yych = *++cursor_;
		if (yych == 'd') goto yy1909;
		goto yy11;
yy1831:
		yych = *++cursor_;
		if (yych == 'r') goto yy1911;
		goto yy11;
yy1832:
		yych = *++cursor_;
		if (yych == 'a') goto yy1912;
		goto yy11;
yy1833:
		yych = *++cursor_;
		if (yych == 'l') goto yy1913;
		goto yy11;
yy1834:
		yych = *++cursor_;
		if (yych == '3') goto yy1914;
		if (yych == '6') goto yy1915;
		goto yy11;
yy1835:
		yych = *++cursor_;
		if (yych == '3') goto yy1916;
		if (yych == '6') goto yy1917;
		goto yy11;
yy1836:
		yych = *++cursor_;
		if (yych == '/') goto yy1918;
		goto yy11;
yy1837:
		yych = *++cursor_;
		if (yych == '/') goto yy1919;
		goto yy11;
yy1838:
		yych = *++cursor_;
		if (yych == '/') goto yy1920;
		goto yy11;
yy1839:
		yych = *++cursor_;
		if (yych == 'a') goto yy1921;
		goto yy11;
yy1840:
		yych = *++cursor_;
		if (yych == 'a') goto yy1922;
		goto yy11;
yy1841:
		yych = *++cursor_;
		if (yych == '3') goto yy1923;
		if (yych == '6') goto yy1924;
		goto yy11;
yy1842:
		yych = *++cursor_;
		if (yych == '3') goto yy1925;
		if (yych == '6') goto yy1926;
		goto yy11;
yy1843:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 440 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64PromoteF32); }
#line 9410 "src/prebuilt/wast-lexer-gen.cc"
yy1845:
		yych = *++cursor_;
		if (yych == '/') goto yy1927;
		goto yy11;
yy1846:
		yych = *++cursor_;
		if (yych == '/') goto yy1928;
		goto yy11;
yy1847:
		yych = *++cursor_;
		if (yych == '/') goto yy1929;
		goto yy11;
yy1848:
		yych = *++cursor_;
		if (yych == 'a') goto yy1930;
		goto yy11;
yy1849:
		yych = *++cursor_;
		if (yych == 'a') goto yy1931;
		goto yy11;
yy1850:
		yych = *++cursor_;
		if (yych == 'a') goto yy1932;
		goto yy11;
yy1851:
		yych = *++cursor_;
		if (yych == 'a') goto yy1933;
		goto yy11;
yy1852:
		yych = *++cursor_;
		if (yych == 'a') goto yy1934;
		goto yy11;
yy1853:
		yych = *++cursor_;
		if (yych == 'a') goto yy1935;
		goto yy11;
yy1854:
		yych = *++cursor_;
		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 yy1936;
				if (yych <= '7') goto yy10;
				goto yy1937;
			} else {
				if (yych == ';') goto yy1855;
				if (yych <= '~') goto yy10;
			}
		}
yy1855:
#line 463 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
#line 9469 "src/prebuilt/wast-lexer-gen.cc"
yy1856:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy1938;
		case 'c':	goto yy1939;
		case 'o':	goto yy1940;
		case 's':	goto yy1941;
		case 'x':	goto yy1942;
		default:	goto yy11;
		}
yy1857:
		yych = *++cursor_;
		if (yych == '6') goto yy1943;
		goto yy11;
yy1858:
		yych = *++cursor_;
		if (yych == '_') goto yy1944;
		goto yy11;
yy1859:
		yych = *++cursor_;
		if (yych == 'e') goto yy1945;
		goto yy11;
yy1860:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 460 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicWait, I32AtomicWait); }
#line 9499 "src/prebuilt/wast-lexer-gen.cc"
yy1862:
		yych = *++cursor_;
		if (yych == '/') goto yy1947;
		goto yy11;
yy1863:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 416 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncSF32); }
#line 9511 "src/prebuilt/wast-lexer-gen.cc"
yy1865:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 418 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncSF64); }
#line 9519 "src/prebuilt/wast-lexer-gen.cc"
yy1867:
		yych = *++cursor_;
		if (yych == '/') goto yy1948;
		goto yy11;
yy1868:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 420 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncUF32); }
#line 9531 "src/prebuilt/wast-lexer-gen.cc"
yy1870:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 422 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncUF64); }
#line 9539 "src/prebuilt/wast-lexer-gen.cc"
yy1872:
		yych = *++cursor_;
		if (yych == '/') goto yy1949;
		goto yy11;
yy1873:
		yych = *++cursor_;
		if (yych == 'a') goto yy1950;
		goto yy11;
yy1874:
		yych = *++cursor_;
		if (yych == 'a') goto yy1951;
		goto yy11;
yy1875:
		yych = *++cursor_;
		if (yych == '3') goto yy1952;
		goto yy11;
yy1876:
		yych = *++cursor_;
		if (yych == '3') goto yy1953;
		goto yy11;
yy1877:
		yych = *++cursor_;
		if (yych <= '1') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy1878;
				if (yych <= '0') goto yy10;
				goto yy1954;
			}
		} else {
			if (yych <= '8') {
				if (yych == '3') goto yy1955;
				if (yych <= '7') goto yy10;
				goto yy1956;
			} else {
				if (yych == ';') goto yy1878;
				if (yych <= '~') goto yy10;
			}
		}
yy1878:
#line 464 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
#line 9584 "src/prebuilt/wast-lexer-gen.cc"
yy1879:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy1957;
		case 'c':	goto yy1958;
		case 'o':	goto yy1959;
		case 's':	goto yy1960;
		case 'x':	goto yy1961;
		default:	goto yy11;
		}
yy1880:
		yych = *++cursor_;
		if (yych == '6') goto yy1962;
		goto yy11;
yy1881:
		yych = *++cursor_;
		if (yych == '2') goto yy1963;
		goto yy11;
yy1882:
		yych = *++cursor_;
		if (yych == '_') goto yy1964;
		goto yy11;
yy1883:
		yych = *++cursor_;
		if (yych == 'e') goto yy1965;
		goto yy11;
yy1884:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 461 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicWait, I64AtomicWait); }
#line 9618 "src/prebuilt/wast-lexer-gen.cc"
yy1886:
		yych = *++cursor_;
		if (yych == '2') goto yy1967;
		goto yy11;
yy1887:
		yych = *++cursor_;
		if (yych == '2') goto yy1969;
		goto yy11;
yy1888:
		yych = *++cursor_;
		if (yych == '/') goto yy1971;
		goto yy11;
yy1889:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 417 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncSF32); }
#line 9638 "src/prebuilt/wast-lexer-gen.cc"
yy1891:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 419 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncSF64); }
#line 9646 "src/prebuilt/wast-lexer-gen.cc"
yy1893:
		yych = *++cursor_;
		if (yych == '/') goto yy1972;
		goto yy11;
yy1894:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 421 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncUF32); }
#line 9658 "src/prebuilt/wast-lexer-gen.cc"
yy1896:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 423 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncUF64); }
#line 9666 "src/prebuilt/wast-lexer-gen.cc"
yy1898:
		yych = *++cursor_;
		if (yych == '/') goto yy1973;
		goto yy11;
yy1899:
		yych = *++cursor_;
		if (yych == 'a') goto yy1974;
		goto yy11;
yy1900:
		yych = *++cursor_;
		if (yych == 'a') goto yy1975;
		goto yy11;
yy1901:
		yych = *++cursor_;
		if (yych == '6') goto yy1976;
		goto yy11;
yy1902:
		yych = *++cursor_;
		if (yych == '6') goto yy1977;
		goto yy11;
yy1903:
		yych = *++cursor_;
		if (yych == 'a') goto yy1978;
		goto yy11;
yy1904:
		yych = *++cursor_;
		if (yych == 'a') goto yy1979;
		goto yy11;
yy1905:
		yych = *++cursor_;
		if (yych == 'a') goto yy1980;
		goto yy11;
yy1906:
		yych = *++cursor_;
		if (yych == 'a') goto yy1981;
		goto yy11;
yy1907:
		yych = *++cursor_;
		if (yych == 'i') goto yy1982;
		goto yy11;
yy1908:
		yych = *++cursor_;
		if (yych == 'n') goto yy1983;
		goto yy11;
yy1909:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 691 "src/wast-lexer.cc"
		{ RETURN(AssertMalformed); }
#line 9718 "src/prebuilt/wast-lexer-gen.cc"
yy1911:
		yych = *++cursor_;
		if (yych == 'i') goto yy1985;
		goto yy11;
yy1912:
		yych = *++cursor_;
		if (yych == 'n') goto yy1986;
		goto yy11;
yy1913:
		yych = *++cursor_;
		if (yych == 'e') goto yy1987;
		goto yy11;
yy1914:
		yych = *++cursor_;
		if (yych == '2') goto yy1989;
		goto yy11;
yy1915:
		yych = *++cursor_;
		if (yych == '4') goto yy1991;
		goto yy11;
yy1916:
		yych = *++cursor_;
		if (yych == '2') goto yy1993;
		goto yy11;
yy1917:
		yych = *++cursor_;
		if (yych == '4') goto yy1995;
		goto yy11;
yy1918:
		yych = *++cursor_;
		if (yych == 'i') goto yy1997;
		goto yy11;
yy1919:
		yych = *++cursor_;
		if (yych == 'i') goto yy1998;
		goto yy11;
yy1920:
		yych = *++cursor_;
		if (yych == 'i') goto yy1999;
		goto yy11;
yy1921:
		yych = *++cursor_;
		if (yych == 'n') goto yy2000;
		goto yy11;
yy1922:
		yych = *++cursor_;
		if (yych == 'n') goto yy2001;
		goto yy11;
yy1923:
		yych = *++cursor_;
		if (yych == '2') goto yy2002;
		goto yy11;
yy1924:
		yych = *++cursor_;
		if (yych == '4') goto yy2004;
		goto yy11;
yy1925:
		yych = *++cursor_;
		if (yych == '2') goto yy2006;
		goto yy11;
yy1926:
		yych = *++cursor_;
		if (yych == '4') goto yy2008;
		goto yy11;
yy1927:
		yych = *++cursor_;
		if (yych == 'i') goto yy2010;
		goto yy11;
yy1928:
		yych = *++cursor_;
		if (yych == 'i') goto yy2011;
		goto yy11;
yy1929:
		yych = *++cursor_;
		if (yych == 'i') goto yy2012;
		goto yy11;
yy1930:
		yych = *++cursor_;
		if (yych == 'n') goto yy2013;
		goto yy11;
yy1931:
		yych = *++cursor_;
		if (yych == 'n') goto yy2014;
		goto yy11;
yy1932:
		yych = *++cursor_;
		if (yych == 't') goto yy2015;
		goto yy11;
yy1933:
		yych = *++cursor_;
		if (yych == 'n') goto yy2016;
		goto yy11;
yy1934:
		yych = *++cursor_;
		if (yych == 'n') goto yy2017;
		goto yy11;
yy1935:
		yych = *++cursor_;
		if (yych == 't') goto yy2018;
		goto yy11;
yy1936:
		yych = *++cursor_;
		if (yych == '6') goto yy2019;
		goto yy11;
yy1937:
		yych = *++cursor_;
		if (yych == '_') goto yy2020;
		goto yy11;
yy1938:
		yych = *++cursor_;
		if (yych == 'd') goto yy2021;
		if (yych == 'n') goto yy2022;
		goto yy11;
yy1939:
		yych = *++cursor_;
		if (yych == 'm') goto yy2023;
		goto yy11;
yy1940:
		yych = *++cursor_;
		if (yych == 'r') goto yy2024;
		goto yy11;
yy1941:
		yych = *++cursor_;
		if (yych == 'u') goto yy2026;
		goto yy11;
yy1942:
		yych = *++cursor_;
		if (yych == 'c') goto yy2027;
		if (yych == 'o') goto yy2028;
		goto yy11;
yy1943:
		yych = *++cursor_;
		if (yych == '_') goto yy2029;
		goto yy11;
yy1944:
		yych = *++cursor_;
		if (yych == 'u') goto yy2030;
		goto yy11;
yy1945:
		yych = *++cursor_;
		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 yy2031;
				if (yych <= '7') goto yy10;
				goto yy2032;
			} else {
				if (yych == ';') goto yy1946;
				if (yych <= '~') goto yy10;
			}
		}
yy1946:
#line 470 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I32AtomicStore); }
#line 9879 "src/prebuilt/wast-lexer-gen.cc"
yy1947:
		yych = *++cursor_;
		if (yych == 'f') goto yy2034;
		goto yy11;
yy1948:
		yych = *++cursor_;
		if (yych == 'f') goto yy2035;
		goto yy11;
yy1949:
		yych = *++cursor_;
		if (yych == 'f') goto yy2036;
		goto yy11;
yy1950:
		yych = *++cursor_;
		if (yych == 'n') goto yy2037;
		goto yy11;
yy1951:
		yych = *++cursor_;
		if (yych == 'n') goto yy2038;
		goto yy11;
yy1952:
		yych = *++cursor_;
		if (yych == '2') goto yy2039;
		goto yy11;
yy1953:
		yych = *++cursor_;
		if (yych == '2') goto yy2040;
		goto yy11;
yy1954:
		yych = *++cursor_;
		if (yych == '6') goto yy2041;
		goto yy11;
yy1955:
		yych = *++cursor_;
		if (yych == '2') goto yy2042;
		goto yy11;
yy1956:
		yych = *++cursor_;
		if (yych == '_') goto yy2043;
		goto yy11;
yy1957:
		yych = *++cursor_;
		if (yych == 'd') goto yy2044;
		if (yych == 'n') goto yy2045;
		goto yy11;
yy1958:
		yych = *++cursor_;
		if (yych == 'm') goto yy2046;
		goto yy11;
yy1959:
		yych = *++cursor_;
		if (yych == 'r') goto yy2047;
		goto yy11;
yy1960:
		yych = *++cursor_;
		if (yych == 'u') goto yy2049;
		goto yy11;
yy1961:
		yych = *++cursor_;
		if (yych == 'c') goto yy2050;
		if (yych == 'o') goto yy2051;
		goto yy11;
yy1962:
		yych = *++cursor_;
		if (yych == '_') goto yy2052;
		goto yy11;
yy1963:
		yych = *++cursor_;
		if (yych == '_') goto yy2053;
		goto yy11;
yy1964:
		yych = *++cursor_;
		if (yych == 'u') goto yy2054;
		goto yy11;
yy1965:
		yych = *++cursor_;
		if (yych <= '1') {
			if (yych <= '"') {
				if (yych == '!') goto yy10;
			} else {
				if (yych <= '\'') goto yy10;
				if (yych <= ')') goto yy1966;
				if (yych <= '0') goto yy10;
				goto yy2055;
			}
		} else {
			if (yych <= '8') {
				if (yych == '3') goto yy2056;
				if (yych <= '7') goto yy10;
				goto yy2057;
			} else {
				if (yych == ';') goto yy1966;
				if (yych <= '~') goto yy10;
			}
		}
yy1966:
#line 471 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I64AtomicStore); }
#line 9978 "src/prebuilt/wast-lexer-gen.cc"
yy1967:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 413 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64ExtendSI32); }
#line 9986 "src/prebuilt/wast-lexer-gen.cc"
yy1969:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 414 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64ExtendUI32); }
#line 9994 "src/prebuilt/wast-lexer-gen.cc"
yy1971:
		yych = *++cursor_;
		if (yych == 'f') goto yy2059;
		goto yy11;
yy1972:
		yych = *++cursor_;
		if (yych == 'f') goto yy2060;
		goto yy11;
yy1973:
		yych = *++cursor_;
		if (yych == 'f') goto yy2061;
		goto yy11;
yy1974:
		yych = *++cursor_;
		if (yych == 'n') goto yy2062;
		goto yy11;
yy1975:
		yych = *++cursor_;
		if (yych == 'n') goto yy2063;
		goto yy11;
yy1976:
		yych = *++cursor_;
		if (yych == '4') goto yy2064;
		goto yy11;
yy1977:
		yych = *++cursor_;
		if (yych == '4') goto yy2065;
		goto yy11;
yy1978:
		yych = *++cursor_;
		if (yych == 't') goto yy2066;
		goto yy11;
yy1979:
		yych = *++cursor_;
		if (yych == 'n') goto yy2067;
		goto yy11;
yy1980:
		yych = *++cursor_;
		if (yych == 'n') goto yy2068;
		goto yy11;
yy1981:
		yych = *++cursor_;
		if (yych == 't') goto yy2069;
		goto yy11;
yy1982:
		yych = *++cursor_;
		if (yych == 'r') goto yy2070;
		goto yy11;
yy1983:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 698 "src/wast-lexer.cc"
		{ RETURN(AssertExhaustion); }
#line 10050 "src/prebuilt/wast-lexer-gen.cc"
yy1985:
		yych = *++cursor_;
		if (yych == 't') goto yy2071;
		goto yy11;
yy1986:
		yych = *++cursor_;
		if (yych == 'o') goto yy2072;
		goto yy11;
yy1987:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 693 "src/wast-lexer.cc"
		{ RETURN(AssertUnlinkable); }
#line 10066 "src/prebuilt/wast-lexer-gen.cc"
yy1989:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 432 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32ConvertSI32); }
#line 10074 "src/prebuilt/wast-lexer-gen.cc"
yy1991:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 434 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32ConvertSI64); }
#line 10082 "src/prebuilt/wast-lexer-gen.cc"
yy1993:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 436 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32ConvertUI32); }
#line 10090 "src/prebuilt/wast-lexer-gen.cc"
yy1995:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 438 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32ConvertUI64); }
#line 10098 "src/prebuilt/wast-lexer-gen.cc"
yy1997:
		yych = *++cursor_;
		if (yych == '3') goto yy2073;
		goto yy11;
yy1998:
		yych = *++cursor_;
		if (yych == '3') goto yy2074;
		goto yy11;
yy1999:
		yych = *++cursor_;
		if (yych == '3') goto yy2075;
		goto yy11;
yy2000:
		yych = *++cursor_;
		if (yych == 'e') goto yy2076;
		goto yy11;
yy2001:
		yych = *++cursor_;
		if (yych == 'e') goto yy2078;
		goto yy11;
yy2002:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 433 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64ConvertSI32); }
#line 10126 "src/prebuilt/wast-lexer-gen.cc"
yy2004:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 435 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64ConvertSI64); }
#line 10134 "src/prebuilt/wast-lexer-gen.cc"
yy2006:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 437 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64ConvertUI32); }
#line 10142 "src/prebuilt/wast-lexer-gen.cc"
yy2008:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 439 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64ConvertUI64); }
#line 10150 "src/prebuilt/wast-lexer-gen.cc"
yy2010:
		yych = *++cursor_;
		if (yych == '6') goto yy2080;
		goto yy11;
yy2011:
		yych = *++cursor_;
		if (yych == '6') goto yy2081;
		goto yy11;
yy2012:
		yych = *++cursor_;
		if (yych == '6') goto yy2082;
		goto yy11;
yy2013:
		yych = *++cursor_;
		if (yych == 'e') goto yy2083;
		goto yy11;
yy2014:
		yych = *++cursor_;
		if (yych == 'e') goto yy2085;
		goto yy11;
yy2015:
		yych = *++cursor_;
		if (yych == 'e') goto yy2087;
		goto yy11;
yy2016:
		yych = *++cursor_;
		if (yych == 'e') goto yy2088;
		goto yy11;
yy2017:
		yych = *++cursor_;
		if (yych == 'e') goto yy2089;
		goto yy11;
yy2018:
		yych = *++cursor_;
		if (yych == 'e') goto yy2091;
		goto yy11;
yy2019:
		yych = *++cursor_;
		if (yych == '_') goto yy2092;
		goto yy11;
yy2020:
		yych = *++cursor_;
		if (yych == 'u') goto yy2093;
		goto yy11;
yy2021:
		yych = *++cursor_;
		if (yych == 'd') goto yy2095;
		goto yy11;
yy2022:
		yych = *++cursor_;
		if (yych == 'd') goto yy2097;
		goto yy11;
yy2023:
		yych = *++cursor_;
		if (yych == 'p') goto yy2099;
		goto yy11;
yy2024:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 498 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
#line 10214 "src/prebuilt/wast-lexer-gen.cc"
yy2026:
		yych = *++cursor_;
		if (yych == 'b') goto yy2100;
		goto yy11;
yy2027:
		yych = *++cursor_;
		if (yych == 'h') goto yy2102;
		goto yy11;
yy2028:
		yych = *++cursor_;
		if (yych == 'r') goto yy2103;
		goto yy11;
yy2029:
		yych = *++cursor_;
		if (yych == 'u') goto yy2105;
		goto yy11;
yy2030:
		yych = *++cursor_;
		if (yych == '.') goto yy2106;
		goto yy11;
yy2031:
		yych = *++cursor_;
		if (yych == '6') goto yy2107;
		goto yy11;
yy2032:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 472 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
#line 10246 "src/prebuilt/wast-lexer-gen.cc"
yy2034:
		yych = *++cursor_;
		if (yych == '3') goto yy2109;
		goto yy11;
yy2035:
		yych = *++cursor_;
		if (yych == '3') goto yy2110;
		if (yych == '6') goto yy2111;
		goto yy11;
yy2036:
		yych = *++cursor_;
		if (yych == '3') goto yy2112;
		if (yych == '6') goto yy2113;
		goto yy11;
yy2037:
		yych = *++cursor_;
		if (yych == 'e') goto yy2114;
		goto yy11;
yy2038:
		yych = *++cursor_;
		if (yych == 'e') goto yy2116;
		goto yy11;
yy2039:
		yych = *++cursor_;
		if (yych == 'x') goto yy2118;
		goto yy11;
yy2040:
		yych = *++cursor_;
		if (yych == 'x') goto yy2119;
		goto yy11;
yy2041:
		yych = *++cursor_;
		if (yych == '_') goto yy2120;
		goto yy11;
yy2042:
		yych = *++cursor_;
		if (yych == '_') goto yy2121;
		goto yy11;
yy2043:
		yych = *++cursor_;
		if (yych == 'u') goto yy2122;
		goto yy11;
yy2044:
		yych = *++cursor_;
		if (yych == 'd') goto yy2124;
		goto yy11;
yy2045:
		yych = *++cursor_;
		if (yych == 'd') goto yy2126;
		goto yy11;
yy2046:
		yych = *++cursor_;
		if (yych == 'p') goto yy2128;
		goto yy11;
yy2047:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 499 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
#line 10308 "src/prebuilt/wast-lexer-gen.cc"
yy2049:
		yych = *++cursor_;
		if (yych == 'b') goto yy2129;
		goto yy11;
yy2050:
		yych = *++cursor_;
		if (yych == 'h') goto yy2131;
		goto yy11;
yy2051:
		yych = *++cursor_;
		if (yych == 'r') goto yy2132;
		goto yy11;
yy2052:
		yych = *++cursor_;
		if (yych == 'u') goto yy2134;
		goto yy11;
yy2053:
		yych = *++cursor_;
		if (yych == 'u') goto yy2135;
		goto yy11;
yy2054:
		yych = *++cursor_;
		if (yych == '.') goto yy2136;
		goto yy11;
yy2055:
		yych = *++cursor_;
		if (yych == '6') goto yy2137;
		goto yy11;
yy2056:
		yych = *++cursor_;
		if (yych == '2') goto yy2139;
		goto yy11;
yy2057:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 474 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
#line 10348 "src/prebuilt/wast-lexer-gen.cc"
yy2059:
		yych = *++cursor_;
		if (yych == '6') goto yy2141;
		goto yy11;
yy2060:
		yych = *++cursor_;
		if (yych == '3') goto yy2142;
		if (yych == '6') goto yy2143;
		goto yy11;
yy2061:
		yych = *++cursor_;
		if (yych == '3') goto yy2144;
		if (yych == '6') goto yy2145;
		goto yy11;
yy2062:
		yych = *++cursor_;
		if (yych == 'e') goto yy2146;
		goto yy11;
yy2063:
		yych = *++cursor_;
		if (yych == 'e') goto yy2148;
		goto yy11;
yy2064:
		yych = *++cursor_;
		if (yych == 'x') goto yy2150;
		goto yy11;
yy2065:
		yych = *++cursor_;
		if (yych == 'x') goto yy2151;
		goto yy11;
yy2066:
		yych = *++cursor_;
		if (yych == 'e') goto yy2152;
		goto yy11;
yy2067:
		yych = *++cursor_;
		if (yych == 'e') goto yy2153;
		goto yy11;
yy2068:
		yych = *++cursor_;
		if (yych == 'e') goto yy2154;
		goto yy11;
yy2069:
		yych = *++cursor_;
		if (yych == 'e') goto yy2156;
		goto yy11;
yy2070:
		yych = *++cursor_;
		if (yych == 'e') goto yy2157;
		goto yy11;
yy2071:
		yych = *++cursor_;
		if (yych == 'h') goto yy2158;
		goto yy11;
yy2072:
		yych = *++cursor_;
		if (yych == 'n') goto yy2159;
		goto yy11;
yy2073:
		yych = *++cursor_;
		if (yych == '2') goto yy2160;
		goto yy11;
yy2074:
		yych = *++cursor_;
		if (yych == '2') goto yy2162;
		goto yy11;
yy2075:
		yych = *++cursor_;
		if (yych == '2') goto yy2163;
		goto yy11;
yy2076:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 541 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
#line 10426 "src/prebuilt/wast-lexer-gen.cc"
yy2078:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 547 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
#line 10434 "src/prebuilt/wast-lexer-gen.cc"
yy2080:
		yych = *++cursor_;
		if (yych == '4') goto yy2164;
		goto yy11;
yy2081:
		yych = *++cursor_;
		if (yych == '4') goto yy2166;
		goto yy11;
yy2082:
		yych = *++cursor_;
		if (yych == '4') goto yy2167;
		goto yy11;
yy2083:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 542 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
#line 10454 "src/prebuilt/wast-lexer-gen.cc"
yy2085:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 548 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
#line 10462 "src/prebuilt/wast-lexer-gen.cc"
yy2087:
		yych = *++cursor_;
		if (yych == '_') goto yy2168;
		goto yy11;
yy2088:
		yych = *++cursor_;
		if (yych == '_') goto yy2169;
		goto yy11;
yy2089:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 544 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
#line 10478 "src/prebuilt/wast-lexer-gen.cc"
yy2091:
		yych = *++cursor_;
		if (yych == '_') goto yy2170;
		goto yy11;
yy2092:
		yych = *++cursor_;
		if (yych == 'u') goto yy2171;
		goto yy11;
yy2093:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 465 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
#line 10494 "src/prebuilt/wast-lexer-gen.cc"
yy2095:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 477 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
#line 10502 "src/prebuilt/wast-lexer-gen.cc"
yy2097:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 491 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
#line 10510 "src/prebuilt/wast-lexer-gen.cc"
yy2099:
		yych = *++cursor_;
		if (yych == 'x') goto yy2173;
		goto yy11;
yy2100:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 484 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
#line 10522 "src/prebuilt/wast-lexer-gen.cc"
yy2102:
		yych = *++cursor_;
		if (yych == 'g') goto yy2174;
		goto yy11;
yy2103:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 505 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
#line 10534 "src/prebuilt/wast-lexer-gen.cc"
yy2105:
		yych = *++cursor_;
		if (yych == '.') goto yy2176;
		goto yy11;
yy2106:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy2177;
		case 'c':	goto yy2178;
		case 'o':	goto yy2179;
		case 's':	goto yy2180;
		case 'x':	goto yy2181;
		default:	goto yy11;
		}
yy2107:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 473 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
#line 10556 "src/prebuilt/wast-lexer-gen.cc"
yy2109:
		yych = *++cursor_;
		if (yych == '2') goto yy2182;
		goto yy11;
yy2110:
		yych = *++cursor_;
		if (yych == '2') goto yy2184;
		goto yy11;
yy2111:
		yych = *++cursor_;
		if (yych == '4') goto yy2186;
		goto yy11;
yy2112:
		yych = *++cursor_;
		if (yych == '2') goto yy2188;
		goto yy11;
yy2113:
		yych = *++cursor_;
		if (yych == '4') goto yy2190;
		goto yy11;
yy2114:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 539 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
#line 10584 "src/prebuilt/wast-lexer-gen.cc"
yy2116:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 545 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
#line 10592 "src/prebuilt/wast-lexer-gen.cc"
yy2118:
		yych = *++cursor_;
		if (yych == '4') goto yy2192;
		goto yy11;
yy2119:
		yych = *++cursor_;
		if (yych == '4') goto yy2193;
		goto yy11;
yy2120:
		yych = *++cursor_;
		if (yych == 'u') goto yy2194;
		goto yy11;
yy2121:
		yych = *++cursor_;
		if (yych == 'u') goto yy2196;
		goto yy11;
yy2122:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 467 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
#line 10616 "src/prebuilt/wast-lexer-gen.cc"
yy2124:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 478 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
#line 10624 "src/prebuilt/wast-lexer-gen.cc"
yy2126:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 492 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
#line 10632 "src/prebuilt/wast-lexer-gen.cc"
yy2128:
		yych = *++cursor_;
		if (yych == 'x') goto yy2198;
		goto yy11;
yy2129:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 485 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
#line 10644 "src/prebuilt/wast-lexer-gen.cc"
yy2131:
		yych = *++cursor_;
		if (yych == 'g') goto yy2199;
		goto yy11;
yy2132:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 506 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
#line 10656 "src/prebuilt/wast-lexer-gen.cc"
yy2134:
		yych = *++cursor_;
		if (yych == '.') goto yy2201;
		goto yy11;
yy2135:
		yych = *++cursor_;
		if (yych == '.') goto yy2202;
		goto yy11;
yy2136:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy2203;
		case 'c':	goto yy2204;
		case 'o':	goto yy2205;
		case 's':	goto yy2206;
		case 'x':	goto yy2207;
		default:	goto yy11;
		}
yy2137:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 475 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
#line 10682 "src/prebuilt/wast-lexer-gen.cc"
yy2139:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 476 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
#line 10690 "src/prebuilt/wast-lexer-gen.cc"
yy2141:
		yych = *++cursor_;
		if (yych == '4') goto yy2208;
		goto yy11;
yy2142:
		yych = *++cursor_;
		if (yych == '2') goto yy2210;
		goto yy11;
yy2143:
		yych = *++cursor_;
		if (yych == '4') goto yy2212;
		goto yy11;
yy2144:
		yych = *++cursor_;
		if (yych == '2') goto yy2214;
		goto yy11;
yy2145:
		yych = *++cursor_;
		if (yych == '4') goto yy2216;
		goto yy11;
yy2146:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 540 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
#line 10718 "src/prebuilt/wast-lexer-gen.cc"
yy2148:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 546 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
#line 10726 "src/prebuilt/wast-lexer-gen.cc"
yy2150:
		yych = *++cursor_;
		if (yych == '2') goto yy2218;
		goto yy11;
yy2151:
		yych = *++cursor_;
		if (yych == '2') goto yy2219;
		goto yy11;
yy2152:
		yych = *++cursor_;
		if (yych == '_') goto yy2220;
		goto yy11;
yy2153:
		yych = *++cursor_;
		if (yych == '_') goto yy2221;
		goto yy11;
yy2154:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 543 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
#line 10750 "src/prebuilt/wast-lexer-gen.cc"
yy2156:
		yych = *++cursor_;
		if (yych == '_') goto yy2222;
		goto yy11;
yy2157:
		yych = *++cursor_;
		if (yych == 'c') goto yy2223;
		goto yy11;
yy2158:
		yych = *++cursor_;
		if (yych == 'm') goto yy2224;
		goto yy11;
yy2159:
		yych = *++cursor_;
		if (yych == 'i') goto yy2225;
		goto yy11;
yy2160:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 442 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F32ReinterpretI32); }
#line 10774 "src/prebuilt/wast-lexer-gen.cc"
yy2162:
		yych = *++cursor_;
		if (yych == 'x') goto yy2226;
		goto yy11;
yy2163:
		yych = *++cursor_;
		if (yych == 'x') goto yy2227;
		goto yy11;
yy2164:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 444 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, F64ReinterpretI64); }
#line 10790 "src/prebuilt/wast-lexer-gen.cc"
yy2166:
		yych = *++cursor_;
		if (yych == 'x') goto yy2228;
		goto yy11;
yy2167:
		yych = *++cursor_;
		if (yych == 'x') goto yy2229;
		goto yy11;
yy2168:
		yych = *++cursor_;
		if (yych == 's') goto yy2230;
		if (yych == 'u') goto yy2232;
		goto yy11;
yy2169:
		yych = *++cursor_;
		if (yych == 's') goto yy2234;
		if (yych == 'u') goto yy2236;
		goto yy11;
yy2170:
		yych = *++cursor_;
		if (yych == 's') goto yy2238;
		if (yych == 'u') goto yy2240;
		goto yy11;
yy2171:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 466 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
#line 10821 "src/prebuilt/wast-lexer-gen.cc"
yy2173:
		yych = *++cursor_;
		if (yych == 'c') goto yy2242;
		goto yy11;
yy2174:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 512 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
#line 10833 "src/prebuilt/wast-lexer-gen.cc"
yy2176:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy2243;
		case 'c':	goto yy2244;
		case 'o':	goto yy2245;
		case 's':	goto yy2246;
		case 'x':	goto yy2247;
		default:	goto yy11;
		}
yy2177:
		yych = *++cursor_;
		if (yych == 'd') goto yy2248;
		if (yych == 'n') goto yy2249;
		goto yy11;
yy2178:
		yych = *++cursor_;
		if (yych == 'm') goto yy2250;
		goto yy11;
yy2179:
		yych = *++cursor_;
		if (yych == 'r') goto yy2251;
		goto yy11;
yy2180:
		yych = *++cursor_;
		if (yych == 'u') goto yy2253;
		goto yy11;
yy2181:
		yych = *++cursor_;
		if (yych == 'c') goto yy2254;
		if (yych == 'o') goto yy2255;
		goto yy11;
yy2182:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 443 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32ReinterpretF32); }
#line 10873 "src/prebuilt/wast-lexer-gen.cc"
yy2184:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 424 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncSSatF32); }
#line 10881 "src/prebuilt/wast-lexer-gen.cc"
yy2186:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 426 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncSSatF64); }
#line 10889 "src/prebuilt/wast-lexer-gen.cc"
yy2188:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 428 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncUSatF32); }
#line 10897 "src/prebuilt/wast-lexer-gen.cc"
yy2190:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 430 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I32TruncUSatF64); }
#line 10905 "src/prebuilt/wast-lexer-gen.cc"
yy2192:
		yych = *++cursor_;
		if (yych == ':') goto yy2256;
		goto yy11;
yy2193:
		yych = *++cursor_;
		if (yych == ':') goto yy2257;
		goto yy11;
yy2194:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 468 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
#line 10921 "src/prebuilt/wast-lexer-gen.cc"
yy2196:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 469 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
#line 10929 "src/prebuilt/wast-lexer-gen.cc"
yy2198:
		yych = *++cursor_;
		if (yych == 'c') goto yy2258;
		goto yy11;
yy2199:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 513 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
#line 10941 "src/prebuilt/wast-lexer-gen.cc"
yy2201:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy2259;
		case 'c':	goto yy2260;
		case 'o':	goto yy2261;
		case 's':	goto yy2262;
		case 'x':	goto yy2263;
		default:	goto yy11;
		}
yy2202:
		yych = *++cursor_;
		switch (yych) {
		case 'a':	goto yy2264;
		case 'c':	goto yy2265;
		case 'o':	goto yy2266;
		case 's':	goto yy2267;
		case 'x':	goto yy2268;
		default:	goto yy11;
		}
yy2203:
		yych = *++cursor_;
		if (yych == 'd') goto yy2269;
		if (yych == 'n') goto yy2270;
		goto yy11;
yy2204:
		yych = *++cursor_;
		if (yych == 'm') goto yy2271;
		goto yy11;
yy2205:
		yych = *++cursor_;
		if (yych == 'r') goto yy2272;
		goto yy11;
yy2206:
		yych = *++cursor_;
		if (yych == 'u') goto yy2274;
		goto yy11;
yy2207:
		yych = *++cursor_;
		if (yych == 'c') goto yy2275;
		if (yych == 'o') goto yy2276;
		goto yy11;
yy2208:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 445 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64ReinterpretF64); }
#line 10991 "src/prebuilt/wast-lexer-gen.cc"
yy2210:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 425 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncSSatF32); }
#line 10999 "src/prebuilt/wast-lexer-gen.cc"
yy2212:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 427 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncSSatF64); }
#line 11007 "src/prebuilt/wast-lexer-gen.cc"
yy2214:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 429 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncUSatF32); }
#line 11015 "src/prebuilt/wast-lexer-gen.cc"
yy2216:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 431 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Convert, I64TruncUSatF64); }
#line 11023 "src/prebuilt/wast-lexer-gen.cc"
yy2218:
		yych = *++cursor_;
		if (yych == ':') goto yy2277;
		goto yy11;
yy2219:
		yych = *++cursor_;
		if (yych == ':') goto yy2278;
		goto yy11;
yy2220:
		yych = *++cursor_;
		if (yych == 's') goto yy2279;
		if (yych == 'u') goto yy2281;
		goto yy11;
yy2221:
		yych = *++cursor_;
		if (yych == 's') goto yy2283;
		if (yych == 'u') goto yy2285;
		goto yy11;
yy2222:
		yych = *++cursor_;
		if (yych == 's') goto yy2287;
		if (yych == 'u') goto yy2289;
		goto yy11;
yy2223:
		yych = *++cursor_;
		if (yych == 't') goto yy2291;
		goto yy11;
yy2224:
		yych = *++cursor_;
		if (yych == 'e') goto yy2293;
		goto yy11;
yy2225:
		yych = *++cursor_;
		if (yych == 'c') goto yy2294;
		goto yy11;
yy2226:
		yych = *++cursor_;
		if (yych == '4') goto yy2295;
		goto yy11;
yy2227:
		yych = *++cursor_;
		if (yych == '4') goto yy2297;
		goto yy11;
yy2228:
		yych = *++cursor_;
		if (yych == '2') goto yy2299;
		goto yy11;
yy2229:
		yych = *++cursor_;
		if (yych == '2') goto yy2301;
		goto yy11;
yy2230:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 567 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8AddSaturateS); }
#line 11082 "src/prebuilt/wast-lexer-gen.cc"
yy2232:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 568 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8AddSaturateU); }
#line 11090 "src/prebuilt/wast-lexer-gen.cc"
yy2234:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 537 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
#line 11098 "src/prebuilt/wast-lexer-gen.cc"
yy2236:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 538 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
#line 11106 "src/prebuilt/wast-lexer-gen.cc"
yy2238:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 571 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8SubSaturateS); }
#line 11114 "src/prebuilt/wast-lexer-gen.cc"
yy2240:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 572 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I16X8SubSaturateU); }
#line 11122 "src/prebuilt/wast-lexer-gen.cc"
yy2242:
		yych = *++cursor_;
		if (yych == 'h') goto yy2303;
		goto yy11;
yy2243:
		yych = *++cursor_;
		if (yych == 'd') goto yy2304;
		if (yych == 'n') goto yy2305;
		goto yy11;
yy2244:
		yych = *++cursor_;
		if (yych == 'm') goto yy2306;
		goto yy11;
yy2245:
		yych = *++cursor_;
		if (yych == 'r') goto yy2307;
		goto yy11;
yy2246:
		yych = *++cursor_;
		if (yych == 'u') goto yy2309;
		goto yy11;
yy2247:
		yych = *++cursor_;
		if (yych == 'c') goto yy2310;
		if (yych == 'o') goto yy2311;
		goto yy11;
yy2248:
		yych = *++cursor_;
		if (yych == 'd') goto yy2312;
		goto yy11;
yy2249:
		yych = *++cursor_;
		if (yych == 'd') goto yy2314;
		goto yy11;
yy2250:
		yych = *++cursor_;
		if (yych == 'p') goto yy2316;
		goto yy11;
yy2251:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 500 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); }
#line 11168 "src/prebuilt/wast-lexer-gen.cc"
yy2253:
		yych = *++cursor_;
		if (yych == 'b') goto yy2317;
		goto yy11;
yy2254:
		yych = *++cursor_;
		if (yych == 'h') goto yy2319;
		goto yy11;
yy2255:
		yych = *++cursor_;
		if (yych == 'r') goto yy2320;
		goto yy11;
yy2256:
		yych = *++cursor_;
		if (yych == 's') goto yy2322;
		goto yy11;
yy2257:
		yych = *++cursor_;
		if (yych == 's') goto yy2323;
		goto yy11;
yy2258:
		yych = *++cursor_;
		if (yych == 'h') goto yy2324;
		goto yy11;
yy2259:
		yych = *++cursor_;
		if (yych == 'd') goto yy2325;
		if (yych == 'n') goto yy2326;
		goto yy11;
yy2260:
		yych = *++cursor_;
		if (yych == 'm') goto yy2327;
		goto yy11;
yy2261:
		yych = *++cursor_;
		if (yych == 'r') goto yy2328;
		goto yy11;
yy2262:
		yych = *++cursor_;
		if (yych == 'u') goto yy2330;
		goto yy11;
yy2263:
		yych = *++cursor_;
		if (yych == 'c') goto yy2331;
		if (yych == 'o') goto yy2332;
		goto yy11;
yy2264:
		yych = *++cursor_;
		if (yych == 'd') goto yy2333;
		if (yych == 'n') goto yy2334;
		goto yy11;
yy2265:
		yych = *++cursor_;
		if (yych == 'm') goto yy2335;
		goto yy11;
yy2266:
		yych = *++cursor_;
		if (yych == 'r') goto yy2336;
		goto yy11;
yy2267:
		yych = *++cursor_;
		if (yych == 'u') goto yy2338;
		goto yy11;
yy2268:
		yych = *++cursor_;
		if (yych == 'c') goto yy2339;
		if (yych == 'o') goto yy2340;
		goto yy11;
yy2269:
		yych = *++cursor_;
		if (yych == 'd') goto yy2341;
		goto yy11;
yy2270:
		yych = *++cursor_;
		if (yych == 'd') goto yy2343;
		goto yy11;
yy2271:
		yych = *++cursor_;
		if (yych == 'p') goto yy2345;
		goto yy11;
yy2272:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 502 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); }
#line 11256 "src/prebuilt/wast-lexer-gen.cc"
yy2274:
		yych = *++cursor_;
		if (yych == 'b') goto yy2346;
		goto yy11;
yy2275:
		yych = *++cursor_;
		if (yych == 'h') goto yy2348;
		goto yy11;
yy2276:
		yych = *++cursor_;
		if (yych == 'r') goto yy2349;
		goto yy11;
yy2277:
		yych = *++cursor_;
		if (yych == 's') goto yy2351;
		goto yy11;
yy2278:
		yych = *++cursor_;
		if (yych == 's') goto yy2352;
		goto yy11;
yy2279:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 565 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16AddSaturateS); }
#line 11284 "src/prebuilt/wast-lexer-gen.cc"
yy2281:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 566 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16AddSaturateU); }
#line 11292 "src/prebuilt/wast-lexer-gen.cc"
yy2283:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 535 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
#line 11300 "src/prebuilt/wast-lexer-gen.cc"
yy2285:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 536 "src/wast-lexer.cc"
		{ RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
#line 11308 "src/prebuilt/wast-lexer-gen.cc"
yy2287:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 569 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16SubSaturateS); }
#line 11316 "src/prebuilt/wast-lexer-gen.cc"
yy2289:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 570 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Binary, I8X16SubSaturateU); }
#line 11324 "src/prebuilt/wast-lexer-gen.cc"
yy2291:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 667 "src/wast-lexer.cc"
		{ RETURN_OPCODE0(ReturnCallIndirect); }
#line 11332 "src/prebuilt/wast-lexer-gen.cc"
yy2293:
		yych = *++cursor_;
		if (yych == 't') goto yy2353;
		goto yy11;
yy2294:
		yych = *++cursor_;
		if (yych == 'a') goto yy2354;
		goto yy11;
yy2295:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 658 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4ConvertSI32X4); }
#line 11348 "src/prebuilt/wast-lexer-gen.cc"
yy2297:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 659 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F32X4ConvertUI32X4); }
#line 11356 "src/prebuilt/wast-lexer-gen.cc"
yy2299:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 660 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2ConvertSI64X2); }
#line 11364 "src/prebuilt/wast-lexer-gen.cc"
yy2301:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 661 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, F64X2ConvertUI64X2); }
#line 11372 "src/prebuilt/wast-lexer-gen.cc"
yy2303:
		yych = *++cursor_;
		if (yych == 'g') goto yy2355;
		goto yy11;
yy2304:
		yych = *++cursor_;
		if (yych == 'd') goto yy2357;
		goto yy11;
yy2305:
		yych = *++cursor_;
		if (yych == 'd') goto yy2359;
		goto yy11;
yy2306:
		yych = *++cursor_;
		if (yych == 'p') goto yy2361;
		goto yy11;
yy2307:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 501 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); }
#line 11396 "src/prebuilt/wast-lexer-gen.cc"
yy2309:
		yych = *++cursor_;
		if (yych == 'b') goto yy2362;
		goto yy11;
yy2310:
		yych = *++cursor_;
		if (yych == 'h') goto yy2364;
		goto yy11;
yy2311:
		yych = *++cursor_;
		if (yych == 'r') goto yy2365;
		goto yy11;
yy2312:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 479 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); }
#line 11416 "src/prebuilt/wast-lexer-gen.cc"
yy2314:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 493 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); }
#line 11424 "src/prebuilt/wast-lexer-gen.cc"
yy2316:
		yych = *++cursor_;
		if (yych == 'x') goto yy2367;
		goto yy11;
yy2317:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 486 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); }
#line 11436 "src/prebuilt/wast-lexer-gen.cc"
yy2319:
		yych = *++cursor_;
		if (yych == 'g') goto yy2368;
		goto yy11;
yy2320:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 507 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); }
#line 11448 "src/prebuilt/wast-lexer-gen.cc"
yy2322:
		yych = *++cursor_;
		if (yych == 'a') goto yy2370;
		goto yy11;
yy2323:
		yych = *++cursor_;
		if (yych == 'a') goto yy2371;
		goto yy11;
yy2324:
		yych = *++cursor_;
		if (yych == 'g') goto yy2372;
		goto yy11;
yy2325:
		yych = *++cursor_;
		if (yych == 'd') goto yy2374;
		goto yy11;
yy2326:
		yych = *++cursor_;
		if (yych == 'd') goto yy2376;
		goto yy11;
yy2327:
		yych = *++cursor_;
		if (yych == 'p') goto yy2378;
		goto yy11;
yy2328:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 503 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); }
#line 11480 "src/prebuilt/wast-lexer-gen.cc"
yy2330:
		yych = *++cursor_;
		if (yych == 'b') goto yy2379;
		goto yy11;
yy2331:
		yych = *++cursor_;
		if (yych == 'h') goto yy2381;
		goto yy11;
yy2332:
		yych = *++cursor_;
		if (yych == 'r') goto yy2382;
		goto yy11;
yy2333:
		yych = *++cursor_;
		if (yych == 'd') goto yy2384;
		goto yy11;
yy2334:
		yych = *++cursor_;
		if (yych == 'd') goto yy2386;
		goto yy11;
yy2335:
		yych = *++cursor_;
		if (yych == 'p') goto yy2388;
		goto yy11;
yy2336:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 504 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); }
#line 11512 "src/prebuilt/wast-lexer-gen.cc"
yy2338:
		yych = *++cursor_;
		if (yych == 'b') goto yy2389;
		goto yy11;
yy2339:
		yych = *++cursor_;
		if (yych == 'h') goto yy2391;
		goto yy11;
yy2340:
		yych = *++cursor_;
		if (yych == 'r') goto yy2392;
		goto yy11;
yy2341:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 481 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); }
#line 11532 "src/prebuilt/wast-lexer-gen.cc"
yy2343:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 495 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); }
#line 11540 "src/prebuilt/wast-lexer-gen.cc"
yy2345:
		yych = *++cursor_;
		if (yych == 'x') goto yy2394;
		goto yy11;
yy2346:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 488 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); }
#line 11552 "src/prebuilt/wast-lexer-gen.cc"
yy2348:
		yych = *++cursor_;
		if (yych == 'g') goto yy2395;
		goto yy11;
yy2349:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 509 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); }
#line 11564 "src/prebuilt/wast-lexer-gen.cc"
yy2351:
		yych = *++cursor_;
		if (yych == 'a') goto yy2397;
		goto yy11;
yy2352:
		yych = *++cursor_;
		if (yych == 'a') goto yy2398;
		goto yy11;
yy2353:
		yych = *++cursor_;
		if (yych == 'i') goto yy2399;
		goto yy11;
yy2354:
		yych = *++cursor_;
		if (yych == 'l') goto yy2400;
		goto yy11;
yy2355:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 519 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
#line 11588 "src/prebuilt/wast-lexer-gen.cc"
yy2357:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 480 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); }
#line 11596 "src/prebuilt/wast-lexer-gen.cc"
yy2359:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 494 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); }
#line 11604 "src/prebuilt/wast-lexer-gen.cc"
yy2361:
		yych = *++cursor_;
		if (yych == 'x') goto yy2401;
		goto yy11;
yy2362:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 487 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); }
#line 11616 "src/prebuilt/wast-lexer-gen.cc"
yy2364:
		yych = *++cursor_;
		if (yych == 'g') goto yy2402;
		goto yy11;
yy2365:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 508 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); }
#line 11628 "src/prebuilt/wast-lexer-gen.cc"
yy2367:
		yych = *++cursor_;
		if (yych == 'c') goto yy2404;
		goto yy11;
yy2368:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 514 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); }
#line 11640 "src/prebuilt/wast-lexer-gen.cc"
yy2370:
		yych = *++cursor_;
		if (yych == 't') goto yy2405;
		goto yy11;
yy2371:
		yych = *++cursor_;
		if (yych == 't') goto yy2407;
		goto yy11;
yy2372:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 520 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
#line 11656 "src/prebuilt/wast-lexer-gen.cc"
yy2374:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 482 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); }
#line 11664 "src/prebuilt/wast-lexer-gen.cc"
yy2376:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 496 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); }
#line 11672 "src/prebuilt/wast-lexer-gen.cc"
yy2378:
		yych = *++cursor_;
		if (yych == 'x') goto yy2409;
		goto yy11;
yy2379:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 489 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); }
#line 11684 "src/prebuilt/wast-lexer-gen.cc"
yy2381:
		yych = *++cursor_;
		if (yych == 'g') goto yy2410;
		goto yy11;
yy2382:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 510 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); }
#line 11696 "src/prebuilt/wast-lexer-gen.cc"
yy2384:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 483 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); }
#line 11704 "src/prebuilt/wast-lexer-gen.cc"
yy2386:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 497 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); }
#line 11712 "src/prebuilt/wast-lexer-gen.cc"
yy2388:
		yych = *++cursor_;
		if (yych == 'x') goto yy2412;
		goto yy11;
yy2389:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 490 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); }
#line 11724 "src/prebuilt/wast-lexer-gen.cc"
yy2391:
		yych = *++cursor_;
		if (yych == 'g') goto yy2413;
		goto yy11;
yy2392:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 511 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); }
#line 11736 "src/prebuilt/wast-lexer-gen.cc"
yy2394:
		yych = *++cursor_;
		if (yych == 'c') goto yy2415;
		goto yy11;
yy2395:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 516 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); }
#line 11748 "src/prebuilt/wast-lexer-gen.cc"
yy2397:
		yych = *++cursor_;
		if (yych == 't') goto yy2416;
		goto yy11;
yy2398:
		yych = *++cursor_;
		if (yych == 't') goto yy2418;
		goto yy11;
yy2399:
		yych = *++cursor_;
		if (yych == 'c') goto yy2420;
		goto yy11;
yy2400:
		yych = *++cursor_;
		if (yych == '_') goto yy2421;
		goto yy11;
yy2401:
		yych = *++cursor_;
		if (yych == 'c') goto yy2422;
		goto yy11;
yy2402:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 515 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); }
#line 11776 "src/prebuilt/wast-lexer-gen.cc"
yy2404:
		yych = *++cursor_;
		if (yych == 'h') goto yy2423;
		goto yy11;
yy2405:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 662 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32X4TruncSF32X4Sat); }
#line 11788 "src/prebuilt/wast-lexer-gen.cc"
yy2407:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 663 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I32X4TruncUF32X4Sat); }
#line 11796 "src/prebuilt/wast-lexer-gen.cc"
yy2409:
		yych = *++cursor_;
		if (yych == 'c') goto yy2424;
		goto yy11;
yy2410:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 517 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); }
#line 11808 "src/prebuilt/wast-lexer-gen.cc"
yy2412:
		yych = *++cursor_;
		if (yych == 'c') goto yy2425;
		goto yy11;
yy2413:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 518 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); }
#line 11820 "src/prebuilt/wast-lexer-gen.cc"
yy2415:
		yych = *++cursor_;
		if (yych == 'h') goto yy2426;
		goto yy11;
yy2416:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 664 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64X2TruncSF64X2Sat); }
#line 11832 "src/prebuilt/wast-lexer-gen.cc"
yy2418:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 665 "src/wast-lexer.cc"
		{ RETURN_OPCODE(Unary, I64X2TruncUF64X2Sat); }
#line 11840 "src/prebuilt/wast-lexer-gen.cc"
yy2420:
		yych = *++cursor_;
		if (yych == '_') goto yy2427;
		goto yy11;
yy2421:
		yych = *++cursor_;
		if (yych == 'n') goto yy2428;
		goto yy11;
yy2422:
		yych = *++cursor_;
		if (yych == 'h') goto yy2429;
		goto yy11;
yy2423:
		yych = *++cursor_;
		if (yych == 'g') goto yy2430;
		goto yy11;
yy2424:
		yych = *++cursor_;
		if (yych == 'h') goto yy2432;
		goto yy11;
yy2425:
		yych = *++cursor_;
		if (yych == 'h') goto yy2433;
		goto yy11;
yy2426:
		yych = *++cursor_;
		if (yych == 'g') goto yy2434;
		goto yy11;
yy2427:
		yych = *++cursor_;
		if (yych == 'n') goto yy2436;
		goto yy11;
yy2428:
		yych = *++cursor_;
		if (yych == 'a') goto yy2437;
		goto yy11;
yy2429:
		yych = *++cursor_;
		if (yych == 'g') goto yy2438;
		goto yy11;
yy2430:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 521 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); }
#line 11888 "src/prebuilt/wast-lexer-gen.cc"
yy2432:
		yych = *++cursor_;
		if (yych == 'g') goto yy2440;
		goto yy11;
yy2433:
		yych = *++cursor_;
		if (yych == 'g') goto yy2442;
		goto yy11;
yy2434:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 523 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); }
#line 11904 "src/prebuilt/wast-lexer-gen.cc"
yy2436:
		yych = *++cursor_;
		if (yych == 'a') goto yy2444;
		goto yy11;
yy2437:
		yych = *++cursor_;
		if (yych == 'n') goto yy2445;
		goto yy11;
yy2438:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 522 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); }
#line 11920 "src/prebuilt/wast-lexer-gen.cc"
yy2440:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 524 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); }
#line 11928 "src/prebuilt/wast-lexer-gen.cc"
yy2442:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 525 "src/wast-lexer.cc"
		{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); }
#line 11936 "src/prebuilt/wast-lexer-gen.cc"
yy2444:
		yych = *++cursor_;
		if (yych == 'n') goto yy2447;
		goto yy11;
yy2445:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 695 "src/wast-lexer.cc"
		{ RETURN(AssertReturnCanonicalNan); }
#line 11948 "src/prebuilt/wast-lexer-gen.cc"
yy2447:
		yych = *++cursor_;
		if (yybm[0+yych] & 8) {
			goto yy10;
		}
#line 696 "src/wast-lexer.cc"
		{ RETURN(AssertReturnArithmeticNan); }
#line 11956 "src/prebuilt/wast-lexer-gen.cc"
	}
/* *********************************** */
YYCOND_BAD_TEXT:
	if ((limit_ - cursor_) < 5) FILL(5);
	yych = *cursor_;
	if (yych <= 0x7F) {
		if (yych <= '!') {
			if (yych == '\n') goto yy2453;
			if (yych >= ' ') goto yy2455;
		} else {
			if (yych <= '"') goto yy2457;
			if (yych == '\\') goto yy2459;
			goto yy2455;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xC1) goto yy2460;
			if (yych <= 0xDF) goto yy2462;
			if (yych <= 0xE0) goto yy2463;
			goto yy2464;
		} else {
			if (yych <= 0xF0) goto yy2465;
			if (yych <= 0xF3) goto yy2466;
			if (yych <= 0xF4) goto yy2467;
			goto yy2460;
		}
	}
	++cursor_;
yy2452:
#line 252 "src/wast-lexer.cc"
	{ ERROR("illegal character in string");
                                  continue; }
#line 11989 "src/prebuilt/wast-lexer-gen.cc"
yy2453:
	++cursor_;
	BEGIN(YYCOND_i);
#line 245 "src/wast-lexer.cc"
	{ ERROR("newline in string");
                                  NEWLINE;
                                  continue; }
#line 11997 "src/prebuilt/wast-lexer-gen.cc"
yy2455:
	++cursor_;
#line 244 "src/wast-lexer.cc"
	{ continue; }
#line 12002 "src/prebuilt/wast-lexer-gen.cc"
yy2457:
	++cursor_;
	BEGIN(YYCOND_i);
#line 251 "src/wast-lexer.cc"
	{ RETURN_TEXT(Text); }
#line 12008 "src/prebuilt/wast-lexer-gen.cc"
yy2459:
	yyaccept = 0;
	yych = *(marker_ = ++cursor_);
	if (yych <= 'f') {
		if (yych <= '/') {
			if (yych <= '!') {
				if (yych == '\n') goto yy2452;
				goto yy2468;
			} else {
				if (yych <= '"') goto yy2455;
				if (yych == '\'') goto yy2455;
				goto yy2468;
			}
		} else {
			if (yych <= 'F') {
				if (yych <= '9') goto yy2470;
				if (yych <= '@') goto yy2468;
				goto yy2470;
			} else {
				if (yych == '\\') goto yy2455;
				if (yych <= '`') goto yy2468;
				goto yy2470;
			}
		}
	} else {
		if (yych <= 0x7F) {
			if (yych <= 'q') {
				if (yych == 'n') goto yy2455;
				goto yy2468;
			} else {
				if (yych == 's') goto yy2468;
				if (yych <= 't') goto yy2455;
				goto yy2468;
			}
		} else {
			if (yych <= 0xEF) {
				if (yych <= 0xC1) goto yy2452;
				if (yych <= 0xDF) goto yy2471;
				if (yych <= 0xE0) goto yy2473;
				goto yy2474;
			} else {
				if (yych <= 0xF0) goto yy2475;
				if (yych <= 0xF3) goto yy2476;
				if (yych <= 0xF4) goto yy2477;
				goto yy2452;
			}
		}
	}
yy2460:
	++cursor_;
yy2461:
#line 254 "src/wast-lexer.cc"
	{ MAYBE_MALFORMED_UTF8(" in string"); }
#line 12062 "src/prebuilt/wast-lexer-gen.cc"
yy2462:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2461;
	if (yych <= 0xBF) goto yy2455;
	goto yy2461;
yy2463:
	yyaccept = 1;
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x9F) goto yy2461;
	if (yych <= 0xBF) goto yy2478;
	goto yy2461;
yy2464:
	yyaccept = 1;
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2461;
	if (yych <= 0xBF) goto yy2478;
	goto yy2461;
yy2465:
	yyaccept = 1;
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x8F) goto yy2461;
	if (yych <= 0xBF) goto yy2479;
	goto yy2461;
yy2466:
	yyaccept = 1;
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2461;
	if (yych <= 0xBF) goto yy2479;
	goto yy2461;
yy2467:
	yyaccept = 1;
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2461;
	if (yych <= 0x8F) goto yy2479;
	goto yy2461;
yy2468:
	++cursor_;
yy2469:
#line 248 "src/wast-lexer.cc"
	{ ERROR("bad escape \"%.*s\"",
                                        static_cast<int>(yyleng), yytext);
                                  continue; }
#line 12105 "src/prebuilt/wast-lexer-gen.cc"
yy2470:
	yych = *++cursor_;
	if (yych <= '@') {
		if (yych <= '/') goto yy2469;
		if (yych <= '9') goto yy2455;
		goto yy2469;
	} else {
		if (yych <= 'F') goto yy2455;
		if (yych <= '`') goto yy2469;
		if (yych <= 'f') goto yy2455;
		goto yy2469;
	}
yy2471:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0xBF) goto yy2468;
yy2472:
	cursor_ = marker_;
	if (yyaccept == 0) {
		goto yy2452;
	} else {
		goto yy2461;
	}
yy2473:
	yych = *++cursor_;
	if (yych <= 0x9F) goto yy2472;
	if (yych <= 0xBF) goto yy2471;
	goto yy2472;
yy2474:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0xBF) goto yy2471;
	goto yy2472;
yy2475:
	yych = *++cursor_;
	if (yych <= 0x8F) goto yy2472;
	if (yych <= 0xBF) goto yy2474;
	goto yy2472;
yy2476:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0xBF) goto yy2474;
	goto yy2472;
yy2477:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0x8F) goto yy2474;
	goto yy2472;
yy2478:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0xBF) goto yy2455;
	goto yy2472;
yy2479:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2472;
	if (yych <= 0xBF) goto yy2478;
	goto yy2472;
/* *********************************** */
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 yy2482;
		}
		if (yych <= 0xE0) {
			if (yych <= '\n') goto yy2485;
			if (yych <= 0xC1) goto yy2487;
			if (yych <= 0xDF) goto yy2489;
			goto yy2490;
		} else {
			if (yych <= 0xF0) {
				if (yych <= 0xEF) goto yy2491;
				goto yy2492;
			} else {
				if (yych <= 0xF3) goto yy2493;
				if (yych <= 0xF4) goto yy2494;
				goto yy2487;
			}
		}
yy2482:
		yyaccept = 0;
		marker_ = ++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yybm[0+yych] & 128) {
			goto yy2482;
		}
		if (yych <= 0xEF) {
			if (yych <= 0xC1) goto yy2484;
			if (yych <= 0xDF) goto yy2495;
			if (yych <= 0xE0) goto yy2497;
			goto yy2498;
		} else {
			if (yych <= 0xF0) goto yy2499;
			if (yych <= 0xF3) goto yy2500;
			if (yych <= 0xF4) goto yy2501;
		}
yy2484:
#line 709 "src/wast-lexer.cc"
		{ continue; }
#line 12242 "src/prebuilt/wast-lexer-gen.cc"
yy2485:
		++cursor_;
		BEGIN(YYCOND_i);
#line 708 "src/wast-lexer.cc"
		{ NEWLINE; continue; }
#line 12248 "src/prebuilt/wast-lexer-gen.cc"
yy2487:
		++cursor_;
yy2488:
#line 723 "src/wast-lexer.cc"
		{ MAYBE_MALFORMED_UTF8(""); }
#line 12254 "src/prebuilt/wast-lexer-gen.cc"
yy2489:
		yych = *++cursor_;
		if (yych <= 0x7F) goto yy2488;
		if (yych <= 0xBF) goto yy2482;
		goto yy2488;
yy2490:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x9F) goto yy2488;
		if (yych <= 0xBF) goto yy2495;
		goto yy2488;
yy2491:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy2488;
		if (yych <= 0xBF) goto yy2495;
		goto yy2488;
yy2492:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x8F) goto yy2488;
		if (yych <= 0xBF) goto yy2498;
		goto yy2488;
yy2493:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy2488;
		if (yych <= 0xBF) goto yy2498;
		goto yy2488;
yy2494:
		yyaccept = 1;
		yych = *(marker_ = ++cursor_);
		if (yych <= 0x7F) goto yy2488;
		if (yych <= 0x8F) goto yy2498;
		goto yy2488;
yy2495:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x7F) goto yy2496;
		if (yych <= 0xBF) goto yy2482;
yy2496:
		cursor_ = marker_;
		if (yyaccept == 0) {
			goto yy2484;
		} else {
			goto yy2488;
		}
yy2497:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x9F) goto yy2496;
		if (yych <= 0xBF) goto yy2495;
		goto yy2496;
yy2498:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x7F) goto yy2496;
		if (yych <= 0xBF) goto yy2495;
		goto yy2496;
yy2499:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x8F) goto yy2496;
		if (yych <= 0xBF) goto yy2498;
		goto yy2496;
yy2500:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x7F) goto yy2496;
		if (yych <= 0xBF) goto yy2498;
		goto yy2496;
yy2501:
		++cursor_;
		if (limit_ <= cursor_) FILL(1);
		yych = *cursor_;
		if (yych <= 0x7F) goto yy2496;
		if (yych <= 0x8F) goto yy2498;
		goto yy2496;
	}
/* *********************************** */
YYCOND_BLOCK_COMMENT:
	if ((limit_ - cursor_) < 4) FILL(4);
	yych = *cursor_;
	if (yych <= 0x7F) {
		if (yych <= '\'') {
			if (yych == '\n') goto yy2506;
		} else {
			if (yych <= '(') goto yy2508;
			if (yych == ';') goto yy2509;
		}
	} else {
		if (yych <= 0xEF) {
			if (yych <= 0xC1) goto yy2510;
			if (yych <= 0xDF) goto yy2512;
			if (yych <= 0xE0) goto yy2513;
			goto yy2514;
		} else {
			if (yych <= 0xF0) goto yy2515;
			if (yych <= 0xF3) goto yy2516;
			if (yych <= 0xF4) goto yy2517;
			goto yy2510;
		}
	}
yy2504:
	++cursor_;
yy2505:
#line 717 "src/wast-lexer.cc"
	{ continue; }
#line 12368 "src/prebuilt/wast-lexer-gen.cc"
yy2506:
	++cursor_;
#line 716 "src/wast-lexer.cc"
	{ NEWLINE; continue; }
#line 12373 "src/prebuilt/wast-lexer-gen.cc"
yy2508:
	yych = *++cursor_;
	if (yych == ';') goto yy2518;
	goto yy2505;
yy2509:
	yych = *++cursor_;
	if (yych == ')') goto yy2520;
	goto yy2505;
yy2510:
	++cursor_;
yy2511:
#line 718 "src/wast-lexer.cc"
	{ MAYBE_MALFORMED_UTF8(" in block comment"); }
#line 12387 "src/prebuilt/wast-lexer-gen.cc"
yy2512:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2511;
	if (yych <= 0xBF) goto yy2504;
	goto yy2511;
yy2513:
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x9F) goto yy2511;
	if (yych <= 0xBF) goto yy2522;
	goto yy2511;
yy2514:
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2511;
	if (yych <= 0xBF) goto yy2522;
	goto yy2511;
yy2515:
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x8F) goto yy2511;
	if (yych <= 0xBF) goto yy2524;
	goto yy2511;
yy2516:
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2511;
	if (yych <= 0xBF) goto yy2524;
	goto yy2511;
yy2517:
	yych = *(marker_ = ++cursor_);
	if (yych <= 0x7F) goto yy2511;
	if (yych <= 0x8F) goto yy2524;
	goto yy2511;
yy2518:
	++cursor_;
#line 711 "src/wast-lexer.cc"
	{ COMMENT_NESTING++; continue; }
#line 12422 "src/prebuilt/wast-lexer-gen.cc"
yy2520:
	++cursor_;
#line 712 "src/wast-lexer.cc"
	{ if (--COMMENT_NESTING == 0) {
                                    BEGIN(YYCOND_i);
                                  }
                                  continue; }
#line 12430 "src/prebuilt/wast-lexer-gen.cc"
yy2522:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2523;
	if (yych <= 0xBF) goto yy2504;
yy2523:
	cursor_ = marker_;
	goto yy2511;
yy2524:
	yych = *++cursor_;
	if (yych <= 0x7F) goto yy2523;
	if (yych <= 0xBF) goto yy2522;
	goto yy2523;
}
#line 724 "src/wast-lexer.cc"

  }
}

}  // namespace wabt
