/*
 * Copyright 2022 Jeffrey Kegler
 * This file is part of Marpa::R2.  Marpa::R2 is free software: you can
 * redistribute it and/or modify it under the terms of the GNU Lesser
 * General Public License as published by the Free Software Foundation,
 * either version 3 of the License, or (at your option) any later version.
 *
 * Marpa::R2 is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser
 * General Public License along with Marpa::R2.  If not, see
 * http://www.gnu.org/licenses/.
 */


/* Generated automatically by create_ops.pl
 * NOTE: Changes made to this file will be lost: look at create_ops.pl.
 */

#define MARPA_OP_ALTERNATIVE 0
#define MARPA_OP_BLESS 1
#define MARPA_OP_CALLBACK 2
#define MARPA_OP_EARLEME_COMPLETE 3
#define MARPA_OP_END_MARKER 4
#define MARPA_OP_INVALID_CHAR 5
#define MARPA_OP_NOOP 6
#define MARPA_OP_PAUSE 7
#define MARPA_OP_PUSH_CONSTANT 8
#define MARPA_OP_PUSH_G1_LENGTH 9
#define MARPA_OP_PUSH_G1_START 10
#define MARPA_OP_PUSH_LENGTH 11
#define MARPA_OP_PUSH_ONE 12
#define MARPA_OP_PUSH_SEQUENCE 13
#define MARPA_OP_PUSH_START_LOCATION 14
#define MARPA_OP_PUSH_UNDEF 15
#define MARPA_OP_PUSH_VALUES 16
#define MARPA_OP_RESULT_IS_ARRAY 17
#define MARPA_OP_RESULT_IS_CONSTANT 18
#define MARPA_OP_RESULT_IS_N_OF_SEQUENCE 19
#define MARPA_OP_RESULT_IS_RHS_N 20
#define MARPA_OP_RESULT_IS_TOKEN_VALUE 21
#define MARPA_OP_RESULT_IS_UNDEF 22
#define MARPA_OP_RETRY_OR_SET_LEXER 23
#define MARPA_OP_SET_LEXER 24

static struct op_data_s op_by_name_object[] = {
  { "alternative", MARPA_OP_ALTERNATIVE },
  { "bless", MARPA_OP_BLESS },
  { "callback", MARPA_OP_CALLBACK },
  { "earleme_complete", MARPA_OP_EARLEME_COMPLETE },
  { "end_marker", MARPA_OP_END_MARKER },
  { "invalid_char", MARPA_OP_INVALID_CHAR },
  { "noop", MARPA_OP_NOOP },
  { "pause", MARPA_OP_PAUSE },
  { "push_constant", MARPA_OP_PUSH_CONSTANT },
  { "push_g1_length", MARPA_OP_PUSH_G1_LENGTH },
  { "push_g1_start", MARPA_OP_PUSH_G1_START },
  { "push_length", MARPA_OP_PUSH_LENGTH },
  { "push_one", MARPA_OP_PUSH_ONE },
  { "push_sequence", MARPA_OP_PUSH_SEQUENCE },
  { "push_start_location", MARPA_OP_PUSH_START_LOCATION },
  { "push_undef", MARPA_OP_PUSH_UNDEF },
  { "push_values", MARPA_OP_PUSH_VALUES },
  { "result_is_array", MARPA_OP_RESULT_IS_ARRAY },
  { "result_is_constant", MARPA_OP_RESULT_IS_CONSTANT },
  { "result_is_n_of_sequence", MARPA_OP_RESULT_IS_N_OF_SEQUENCE },
  { "result_is_rhs_n", MARPA_OP_RESULT_IS_RHS_N },
  { "result_is_token_value", MARPA_OP_RESULT_IS_TOKEN_VALUE },
  { "result_is_undef", MARPA_OP_RESULT_IS_UNDEF },
  { "retry_or_set_lexer", MARPA_OP_RETRY_OR_SET_LEXER },
  { "set_lexer", MARPA_OP_SET_LEXER },
};

static const char* op_name_by_id_object[] = {
  "alternative",
  "bless",
  "callback",
  "earleme_complete",
  "end_marker",
  "invalid_char",
  "noop",
  "pause",
  "push_constant",
  "push_g1_length",
  "push_g1_start",
  "push_length",
  "push_one",
  "push_sequence",
  "push_start_location",
  "push_undef",
  "push_values",
  "result_is_array",
  "result_is_constant",
  "result_is_n_of_sequence",
  "result_is_rhs_n",
  "result_is_token_value",
  "result_is_undef",
  "retry_or_set_lexer",
  "set_lexer",
};

