Module MenhirSdk__Cmly_format
type terminal= inttype nonterminal= inttype production= inttype lr0= inttype lr1= inttype ocamltype= stringtype ocamlexpr= stringtype range={r_start : Stdlib.Lexing.position;r_end : Stdlib.Lexing.position;}type attribute={a_label : string;a_payload : string;a_position : range;}type attributes= attribute listtype terminal_def={t_name : string;t_kind : [ `REGULAR | `ERROR | `EOF | `PSEUDO ];t_type : ocamltype option;t_attributes : attributes;}type nonterminal_def={n_name : string;n_kind : [ `REGULAR | `START ];n_mangled_name : string;n_type : ocamltype option;n_positions : range list;n_nullable : bool;n_first : terminal list;n_attributes : attributes;}type symbol=|T of terminal|N of nonterminaltype identifier= stringtype action={a_expr : ocamlexpr;a_keywords : MenhirSdk.Keyword.keyword list;}type producer_def= symbol * identifier * attributestype production_def={p_kind : [ `REGULAR | `START ];p_lhs : nonterminal;p_rhs : producer_def array;p_positions : range list;p_action : action option;p_attributes : attributes;}type lr0_state_def={lr0_incoming : symbol option;lr0_items : (production * int) list;}type lr1_state_def={lr1_lr0 : lr0;lr1_transitions : (symbol * lr1) list;lr1_reductions : (terminal * production list) list;}type grammar={g_basename : string;g_preludes : string list;g_postludes : string list;g_terminals : terminal_def array;g_nonterminals : nonterminal_def array;g_productions : production_def array;g_lr0_states : lr0_state_def array;g_lr1_states : lr1_state_def array;g_entry_points : (nonterminal * production * lr1) list;g_attributes : attributes;g_parameters : string list;}