jon.recoil.org

Module Parser.MenhirInterpreter

include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type token = token
type token = token
type production
type 'a env
type 'a checkpoint = private
  1. | InputNeeded of 'a env
  2. | Shifting of 'a env * 'a env * bool
  3. | AboutToReduce of 'a env * production
  4. | HandlingError of 'a env
  5. | Accepted of 'a
  6. | Rejected
type strategy = [
  1. | `Legacy
  2. | `Simplified
]
val resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpoint
val lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier
val loop : ?strategy:strategy -> supplier -> 'a checkpoint -> 'a
val loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val shifts : 'a checkpoint -> 'a env option
type 'a lr1state
val number : _ lr1state -> int
val production_index : production -> int
val find_production : int -> production
val stack : 'a env -> stack
val top : 'a env -> element option
val pop_many : int -> 'a env -> 'a env option
val get : int -> 'a env -> element option
val current_state_number : 'a env -> int
val equal : 'a env -> 'a env -> bool
val env_has_default_reduction : 'a env -> bool
val state_has_default_reduction : _ lr1state -> bool
val pop : 'a env -> 'a env option
val force_reduction : production -> 'a env -> 'a env
val input_needed : 'a env -> 'a checkpoint
type _ terminal =
  1. | T_error : unit terminal
  2. | T_WITH : unit terminal
  3. | T_WHILE : unit terminal
  4. | T_WHEN : unit terminal
  5. | T_VIRTUAL : unit terminal
  6. | T_VAL : unit terminal
  7. | T_UNDERSCORE : unit terminal
  8. | T_UIDENT : string terminal
  9. | T_TYPE : unit terminal
  10. | T_TRY : unit terminal
  11. | T_TRUE : unit terminal
  12. | T_TO : unit terminal
  13. | T_TILDE : unit terminal
  14. | T_THEN : unit terminal
  15. | T_STRUCT : unit terminal
  16. | T_STRING : (string * Location.t * string option) terminal
  17. | T_STAR : unit terminal
  18. | T_STACK : unit terminal
  19. | T_SIG : unit terminal
  20. | T_SEMISEMI : unit terminal
  21. | T_SEMI : unit terminal
  22. | T_RPAREN : unit terminal
  23. | T_REPR : unit terminal
  24. | T_REC : unit terminal
  25. | T_RBRACKETGREATER : unit terminal
  26. | T_RBRACKET : unit terminal
  27. | T_RBRACE : unit terminal
  28. | T_QUOTED_STRING_ITEM : (string * Location.t * string * Location.t * string option) terminal
  29. | T_QUOTED_STRING_EXPR : (string * Location.t * string * Location.t * string option) terminal
  30. | T_QUOTE : unit terminal
  31. | T_QUESTION : unit terminal
  32. | T_PRIVATE : unit terminal
  33. | T_PREFIXOP : string terminal
  34. | T_POLY : unit terminal
  35. | T_PLUSEQ : unit terminal
  36. | T_PLUSDOT : unit terminal
  37. | T_PLUS : unit terminal
  38. | T_PERCENT : unit terminal
  39. | T_OVERWRITE : unit terminal
  40. | T_OR : unit terminal
  41. | T_OPTLABEL : string terminal
  42. | T_OPEN : unit terminal
  43. | T_OF : unit terminal
  44. | T_OBJECT : unit terminal
  45. | T_NONREC : unit terminal
  46. | T_NEW : unit terminal
  47. | T_MUTABLE : unit terminal
  48. | T_MODULE : unit terminal
  49. | T_MOD : unit terminal
  50. | T_MINUSGREATER : unit terminal
  51. | T_MINUSDOT : unit terminal
  52. | T_MINUS : unit terminal
  53. | T_METHOD : unit terminal
  54. | T_MATCH : unit terminal
  55. | T_LPAREN : unit terminal
  56. | T_LOCAL : unit terminal
  57. | T_LIDENT : string terminal
  58. | T_LETOP : string terminal
  59. | T_LET : unit terminal
  60. | T_LESSMINUS : unit terminal
  61. | T_LESSLBRACKET : unit terminal
  62. | T_LESS : unit terminal
  63. | T_LBRACKETPERCENTPERCENT : unit terminal
  64. | T_LBRACKETPERCENT : unit terminal
  65. | T_LBRACKETLESS : unit terminal
  66. | T_LBRACKETGREATER : unit terminal
  67. | T_LBRACKETCOLON : unit terminal
  68. | T_LBRACKETBAR : unit terminal
  69. | T_LBRACKETATATAT : unit terminal
  70. | T_LBRACKETATAT : unit terminal
  71. | T_LBRACKETAT : unit terminal
  72. | T_LBRACKET : unit terminal
  73. | T_LBRACELESS : unit terminal
  74. | T_LBRACE : unit terminal
  75. | T_LAZY : unit terminal
  76. | T_LAYOUT : unit terminal
  77. | T_LABEL : string terminal
  78. | T_KIND_OF : unit terminal
  79. | T_KIND : unit terminal
  80. | T_INT : (string * char option) terminal
  81. | T_INITIALIZER : unit terminal
  82. | T_INHERIT : unit terminal
  83. | T_INFIXOP4 : string terminal
  84. | T_INFIXOP3 : string terminal
  85. | T_INFIXOP2 : string terminal
  86. | T_INFIXOP1 : string terminal
  87. | T_INFIXOP0 : string terminal
  88. | T_INCLUDE : unit terminal
  89. | T_IN : unit terminal
  90. | T_IF : unit terminal
  91. | T_HASH_SUFFIX : unit terminal
  92. | T_HASH_INT : (string * char option) terminal
  93. | T_HASH_FLOAT : (string * char option) terminal
  94. | T_HASH_CHAR : char terminal
  95. | T_HASHTRUE : unit terminal
  96. | T_HASHOP : string terminal
  97. | T_HASHLPAREN : unit terminal
  98. | T_HASHLBRACE : unit terminal
  99. | T_HASHFALSE : unit terminal
  100. | T_HASH : unit terminal
  101. | T_GREATERRBRACKET : unit terminal
  102. | T_GREATERRBRACE : unit terminal
  103. | T_GREATER : unit terminal
  104. | T_GLOBAL : unit terminal
  105. | T_FUNCTOR : unit terminal
  106. | T_FUNCTION : unit terminal
  107. | T_FUN : unit terminal
  108. | T_FOR : unit terminal
  109. | T_FLOAT : (string * char option) terminal
  110. | T_FALSE : unit terminal
  111. | T_EXTERNAL : unit terminal
  112. | T_EXCLAVE : unit terminal
  113. | T_EXCEPTION : unit terminal
  114. | T_EQUAL : unit terminal
  115. | T_EOL : unit terminal
  116. | T_EOF : unit terminal
  117. | T_END : unit terminal
  118. | T_ELSE : unit terminal
  119. | T_DOWNTO : unit terminal
  120. | T_DOTOP : string terminal
  121. | T_DOTHASH : unit terminal
  122. | T_DOTDOT : unit terminal
  123. | T_DOT : unit terminal
  124. | T_DONE : unit terminal
  125. | T_DOLLAR : unit terminal
  126. | T_DOCSTRING : Docstrings.docstring terminal
  127. | T_DO : unit terminal
  128. | T_CONSTRAINT : unit terminal
  129. | T_COMMENT : (string * Location.t) terminal
  130. | T_COMMA : unit terminal
  131. | T_COLONRBRACKET : unit terminal
  132. | T_COLONGREATER : unit terminal
  133. | T_COLONEQUAL : unit terminal
  134. | T_COLONCOLON : unit terminal
  135. | T_COLON : unit terminal
  136. | T_CLASS : unit terminal
  137. | T_CHAR : char terminal
  138. | T_BORROW : unit terminal
  139. | T_BEGIN : unit terminal
  140. | T_BARRBRACKET : unit terminal
  141. | T_BARBAR : unit terminal
  142. | T_BAR : unit terminal
  143. | T_BANG : unit terminal
  144. | T_BACKQUOTE : unit terminal
  145. | T_ATAT : unit terminal
  146. | T_AT : unit terminal
  147. | T_ASSERT : unit terminal
  148. | T_AS : unit terminal
  149. | T_ANDOP : string terminal
  150. | T_AND : unit terminal
  151. | T_AMPERSAND : unit terminal
  152. | T_AMPERAMPER : unit terminal
type _ nonterminal =
  1. | N_with_type_binder : Asttypes.private_flag nonterminal
  2. | N_with_constraint : Parsetree.with_constraint nonterminal
  3. | N_virtual_with_private_flag : Asttypes.private_flag nonterminal
  4. | N_virtual_with_mutable_flag : Asttypes.mutable_flag nonterminal
  5. | N_virtual_flag : Asttypes.virtual_flag nonterminal
  6. | N_value_description : (Parsetree.value_description * string Location.loc option) nonterminal
  7. | N_value_constant : Parsetree.constant nonterminal
  8. | N_value : ((string Location.loc * Asttypes.mutable_flag * Parsetree.class_field_kind) * Parsetree.attributes) nonterminal
  9. | N_val_longident : Longident.t nonterminal
  10. | N_val_ident : string nonterminal
  11. | N_val_extra_ident : string nonterminal
  12. | N_use_file : Parsetree.toplevel_phrase list nonterminal
  13. | N_unboxed_constant : Parsetree.constant nonterminal
  14. | N_unboxed_access : Parsetree.unboxed_access nonterminal
  15. | N_type_variance : (Asttypes.variance * Asttypes.injectivity) nonterminal
  16. | N_type_unboxed_longident : Longident.t nonterminal
  17. | N_type_trailing_no_hash : string nonterminal
  18. | N_type_trailing_hash : string nonterminal
  19. | N_type_parameters : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list nonterminal
  20. | N_type_parameter : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) nonterminal
  21. | N_type_longident : Longident.t nonterminal
  22. | N_type_kind : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) nonterminal
  23. | N_type_constraint : Parsetree.type_constraint nonterminal
  24. | N_tuple_type : Parsetree.core_type nonterminal
  25. | N_toplevel_phrase : Parsetree.toplevel_phrase nonterminal
  26. | N_toplevel_directive : Parsetree.toplevel_phrase nonterminal
  27. | N_tag_field : Parsetree.row_field nonterminal
  28. | N_subtractive : string nonterminal
  29. | N_structure_item : Parsetree.structure_item nonterminal
  30. | N_structure : Parsetree.structure nonterminal
  31. | N_strict_function_or_labeled_tuple_type : Parsetree.core_type nonterminal
  32. | N_strict_binding_modes : (Parsetree.modes -> Parsetree.expression) nonterminal
  33. | N_str_exception_declaration : (Parsetree.type_exception * string Location.loc option) nonterminal
  34. | N_spliceable_type : Parsetree.core_type nonterminal
  35. | N_spliceable_expr : Parsetree.expression nonterminal
  36. | N_single_attr_id : string nonterminal
  37. | N_simple_pattern_not_ident : Parsetree.pattern nonterminal
  38. | N_simple_pattern_extend_modes_or_poly : Parsetree.pattern nonterminal
  39. | N_simple_pattern : Parsetree.pattern nonterminal
  40. | N_simple_expr : Parsetree.expression nonterminal
  41. | N_simple_delimited_pattern : Parsetree.pattern nonterminal
  42. | N_signed_value_constant : Parsetree.constant nonterminal
  43. | N_signed_constant : Parsetree.constant nonterminal
  44. | N_signature_item : Parsetree.signature_item nonterminal
  45. | N_signature : Parsetree.signature nonterminal
  46. | N_sig_exception_declaration : (Parsetree.type_exception * string Location.loc option) nonterminal
  47. | N_seq_expr : Parsetree.expression nonterminal
  48. | N_separated_or_terminated_nonempty_list_SEMI_record_expr_field_ : (Longident.t Location.loc * Parsetree.expression) list nonterminal
  49. | N_separated_or_terminated_nonempty_list_SEMI_pattern_ : Parsetree.pattern list nonterminal
  50. | N_separated_or_terminated_nonempty_list_SEMI_object_expr_field_ : (string Location.loc * Parsetree.expression) list nonterminal
  51. | N_separated_or_terminated_nonempty_list_SEMI_expr_ : Parsetree.expression list nonterminal
  52. | N_row_field : Parsetree.row_field nonterminal
  53. | N_reversed_separated_nontrivial_llist_COMMA_one_type_parameter_of_several_ : Parsetree.core_type list nonterminal
  54. | N_reversed_separated_nonempty_llist_STAR_labeled_tuple_typ_element_ : (string option * Parsetree.core_type) list nonterminal
  55. | N_reversed_separated_nonempty_llist_STAR_constructor_argument_ : Parsetree.constructor_argument list nonterminal
  56. | N_reversed_separated_nonempty_llist_COMMA_type_parameter_ : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list nonterminal
  57. | N_reversed_separated_nonempty_llist_COMMA_parenthesized_type_parameter_ : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list nonterminal
  58. | N_reversed_separated_nonempty_llist_COMMA_core_type_ : Parsetree.core_type list nonterminal
  59. | N_reversed_separated_nonempty_llist_BAR_row_field_ : Parsetree.row_field list nonterminal
  60. | N_reversed_separated_nonempty_llist_AND_with_constraint_ : Parsetree.with_constraint list nonterminal
  61. | N_reversed_separated_nonempty_llist_AND_comprehension_clause_binding_ : Parsetree.comprehension_clause_binding list nonterminal
  62. | N_reversed_separated_nonempty_llist_AMPERSAND_core_type_no_attr_ : Parsetree.core_type list nonterminal
  63. | N_reversed_preceded_or_separated_nonempty_llist_BAR_match_case_ : Parsetree.case list nonterminal
  64. | N_reversed_nonempty_llist_typevar_repr_ : string Location.loc list nonterminal
  65. | N_reversed_nonempty_llist_typevar_ : (string Location.loc * Parsetree.jkind_annotation option) list nonterminal
  66. | N_reversed_nonempty_llist_name_tag_ : string list nonterminal
  67. | N_reversed_nonempty_llist_mkrhs_ident__ : string Location.loc list nonterminal
  68. | N_reversed_nonempty_llist_labeled_simple_expr_ : (Asttypes.arg_label * Parsetree.expression) list nonterminal
  69. | N_reversed_nonempty_llist_functor_arg_ : (lexing_position * Parsetree.functor_parameter) list nonterminal
  70. | N_reversed_nonempty_llist_comprehension_clause_ : Parsetree.comprehension_clause list nonterminal
  71. | N_reversed_nonempty_concat_fun_param_as_list_ : Parsetree.function_param list nonterminal
  72. | N_reversed_llist_unboxed_access_ : Parsetree.unboxed_access list nonterminal
  73. | N_reversed_llist_preceded_CONSTRAINT_constrain__ : (Parsetree.core_type * Parsetree.core_type * Warnings.loc) list nonterminal
  74. | N_reversed_labeled_tuple_pattern_pattern_no_exn_ : (Asttypes.closed_flag * (string option * Parsetree.pattern) list) nonterminal
  75. | N_reversed_labeled_tuple_pattern_pattern_ : (Asttypes.closed_flag * (string option * Parsetree.pattern) list) nonterminal
  76. | N_reversed_labeled_tuple_body : (string option * Parsetree.expression) list nonterminal
  77. | N_reversed_bar_llist_extension_constructor_declaration_ : Parsetree.extension_constructor list nonterminal
  78. | N_reversed_bar_llist_extension_constructor_ : Parsetree.extension_constructor list nonterminal
  79. | N_reversed_bar_llist_constructor_declaration_ : Parsetree.constructor_declaration list nonterminal
  80. | N_reverse_product_jkind_gen_jkind_desc_no_with_kinds_ : Parsetree.jkind_annotation list nonterminal
  81. | N_reverse_product_jkind_gen_jkind_desc_ : Parsetree.jkind_annotation list nonterminal
  82. | N_record_expr_content : (Parsetree.expression option * (Longident.t Location.loc * Parsetree.expression) list) nonterminal
  83. | N_rec_flag : Asttypes.rec_flag nonterminal
  84. | N_private_virtual_flags : (Asttypes.private_flag * Asttypes.virtual_flag) nonterminal
  85. | N_private_flag : Asttypes.private_flag nonterminal
  86. | N_primitive_declaration : (Parsetree.value_description * string Location.loc option) nonterminal
  87. | N_post_item_attribute : Parsetree.attribute nonterminal
  88. | N_possibly_poly_core_type_no_attr_ : Parsetree.core_type nonterminal
  89. | N_possibly_poly_core_type_ : Parsetree.core_type nonterminal
  90. | N_poly_flag : bool nonterminal
  91. | N_payload : Parsetree.payload nonterminal
  92. | N_pattern_with_modes_or_poly : Parsetree.pattern nonterminal
  93. | N_pattern_var : Parsetree.pattern nonterminal
  94. | N_pattern_no_exn : Parsetree.pattern nonterminal
  95. | N_pattern_gen : Parsetree.pattern nonterminal
  96. | N_pattern : Parsetree.pattern nonterminal
  97. | N_parse_val_longident : Longident.t nonterminal
  98. | N_parse_pattern : Parsetree.pattern nonterminal
  99. | N_parse_mty_longident : Longident.t nonterminal
  100. | N_parse_module_type : Parsetree.module_type nonterminal
  101. | N_parse_module_expr : Parsetree.module_expr nonterminal
  102. | N_parse_mod_longident : Longident.t nonterminal
  103. | N_parse_mod_ext_longident : Longident.t nonterminal
  104. | N_parse_expression : Parsetree.expression nonterminal
  105. | N_parse_core_type : Parsetree.core_type nonterminal
  106. | N_parse_constr_longident : Longident.t nonterminal
  107. | N_parse_any_longident : Longident.t nonterminal
  108. | N_parenthesized_type_parameter : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) nonterminal
  109. | N_paren_module_expr : Parsetree.module_expr nonterminal
  110. | N_optlabel : string nonterminal
  111. | N_optional_poly_type_and_modes : (Parsetree.core_type option * Parsetree.modes) nonterminal
  112. | N_optional_atomic_constraint_ : Parsetree.function_constraint nonterminal
  113. | N_optional_atat_modalities_expr : Parsetree.modalities nonterminal
  114. | N_option_type_constraint_ : Parsetree.type_constraint option nonterminal
  115. | N_option_preceded_EQUAL_seq_expr__ : Parsetree.expression option nonterminal
  116. | N_option_preceded_EQUAL_pattern__ : Parsetree.pattern option nonterminal
  117. | N_option_preceded_EQUAL_module_type__ : Parsetree.module_type option nonterminal
  118. | N_option_preceded_EQUAL_expr__ : Parsetree.expression option nonterminal
  119. | N_option_preceded_COLON_core_type__ : Parsetree.core_type option nonterminal
  120. | N_option_preceded_AS_mkrhs_LIDENT___ : string Location.loc option nonterminal
  121. | N_option_jkind_constraint_ : Parsetree.jkind_annotation option nonterminal
  122. | N_option_constraint__ : (Parsetree.type_constraint option * Parsetree.modes) option nonterminal
  123. | N_option_SEMI_ : unit option nonterminal
  124. | N_option_BAR_ : unit option nonterminal
  125. | N_opt_ampersand : bool nonterminal
  126. | N_operator : string nonterminal
  127. | N_open_description : (Parsetree.open_description * string Location.loc option) nonterminal
  128. | N_open_declaration : (Parsetree.open_declaration * string Location.loc option) nonterminal
  129. | N_object_type : Parsetree.core_type nonterminal
  130. | N_nonempty_type_kind : (Parsetree.type_kind * Asttypes.private_flag * Parsetree.core_type option) nonterminal
  131. | N_nonempty_list_raw_string_ : string list nonterminal
  132. | N_nonempty_list_newtype_ : (string Location.loc * Parsetree.jkind_annotation option) list nonterminal
  133. | N_nonempty_list_mode_legacy_ : Parsetree.modes nonterminal
  134. | N_nonempty_list_mode_ : Parsetree.modes nonterminal
  135. | N_nonempty_list_modality_ : Parsetree.modalities nonterminal
  136. | N_nonempty_list_mkrhs_LIDENT__ : string Location.loc list nonterminal
  137. | N_newtypes : (string Location.loc * Parsetree.jkind_annotation option) list nonterminal
  138. | N_newtype : (string Location.loc * Parsetree.jkind_annotation option) nonterminal
  139. | N_name_tag : string nonterminal
  140. | N_mutable_virtual_flags : (Asttypes.mutable_flag * Asttypes.virtual_flag) nonterminal
  141. | N_mutable_or_global_flag : (Asttypes.mutable_flag * Parsetree.modality Location.loc list) nonterminal
  142. | N_mutable_flag : Asttypes.mutable_flag nonterminal
  143. | N_mty_longident : Longident.t nonterminal
  144. | N_module_type_subst : (Parsetree.module_type_declaration * string Location.loc option) nonterminal
  145. | N_module_type_declaration : (Parsetree.module_type_declaration * string Location.loc option) nonterminal
  146. | N_module_type_atomic : Parsetree.module_type nonterminal
  147. | N_module_type : Parsetree.module_type nonterminal
  148. | N_module_subst : (Parsetree.module_substitution * string Location.loc option) nonterminal
  149. | N_module_name_modal_atat_modalities_expr_ : (string option Location.loc * Parsetree.modalities) nonterminal
  150. | N_module_name_modal_at_mode_expr_ : (Ast_helper.str_opt * Parsetree.modes) nonterminal
  151. | N_module_name : string option nonterminal
  152. | N_module_expr : Parsetree.module_expr nonterminal
  153. | N_module_declaration_body_module_type_with_optional_modes_ : (Parsetree.module_type * Parsetree.modes) nonterminal
  154. | N_module_declaration_body___anonymous_8_ : (Parsetree.module_type * Parsetree.modalities) nonterminal
  155. | N_module_binding_body : Parsetree.module_expr nonterminal
  156. | N_mod_longident : Longident.t nonterminal
  157. | N_mod_ext_longident : Longident.t nonterminal
  158. | N_mk_longident_mod_longident_val_ident_ : Longident.t nonterminal
  159. | N_mk_longident_mod_longident_UIDENT_ : Longident.t nonterminal
  160. | N_mk_longident_mod_longident_LIDENT_ : Longident.t nonterminal
  161. | N_mk_longident_mod_ext_longident_type_trailing_no_hash_ : Longident.t nonterminal
  162. | N_mk_longident_mod_ext_longident_type_trailing_hash_ : Longident.t nonterminal
  163. | N_mk_longident_mod_ext_longident_ident_ : Longident.t nonterminal
  164. | N_mk_longident_mod_ext_longident___anonymous_53_ : Longident.t nonterminal
  165. | N_mk_longident_mod_ext_longident_UIDENT_ : Longident.t nonterminal
  166. | N_mk_longident_mod_ext_longident_LIDENT_ : Longident.t nonterminal
  167. | N_method_ : ((string Location.loc * Asttypes.private_flag * Parsetree.class_field_kind) * Parsetree.attributes) nonterminal
  168. | N_meth_list : (Parsetree.object_field list * Asttypes.closed_flag) nonterminal
  169. | N_match_case : Parsetree.case nonterminal
  170. | N_listx_SEMI_record_pat_field_UNDERSCORE_ : ((Longident.t Location.loc * Parsetree.pattern) list * unit option) nonterminal
  171. | N_list_use_file_element_ : Parsetree.toplevel_phrase list list nonterminal
  172. | N_list_text_str_structure_item__ : Parsetree.structure_item list list nonterminal
  173. | N_list_text_cstr_class_field__ : Parsetree.class_field list list nonterminal
  174. | N_list_text_csig_class_sig_field__ : Parsetree.class_type_field list list nonterminal
  175. | N_list_structure_element_ : Parsetree.structure_item list list nonterminal
  176. | N_list_signature_element_ : Parsetree.signature_item list list nonterminal
  177. | N_list_post_item_attribute_ : Parsetree.attributes nonterminal
  178. | N_list_mkrhs_LIDENT__ : string Location.loc list nonterminal
  179. | N_list_generic_and_type_declaration_type_subst_kind__ : Parsetree.type_declaration list nonterminal
  180. | N_list_generic_and_type_declaration_type_kind__ : Parsetree.type_declaration list nonterminal
  181. | N_list_attribute_ : Parsetree.attributes nonterminal
  182. | N_list_and_module_declaration_ : Parsetree.module_declaration list nonterminal
  183. | N_list_and_module_binding_ : Parsetree.module_binding list nonterminal
  184. | N_list_and_class_type_declaration_ : Parsetree.class_type_declaration list nonterminal
  185. | N_list_and_class_description_ : Parsetree.class_description list nonterminal
  186. | N_list_and_class_declaration_ : Parsetree.class_declaration list nonterminal
  187. | N_letop_bindings : (Parsetree.pattern * Parsetree.expression * Parsetree.binding_op list) nonterminal
  188. | N_letop_binding_body : (Parsetree.pattern * Parsetree.expression) nonterminal
  189. | N_let_pattern : Parsetree.pattern nonterminal
  190. | N_let_bindings_no_ext_ : Parser_types.let_bindings nonterminal
  191. | N_let_bindings_ext_ : Parser_types.let_bindings nonterminal
  192. | N_let_binding_body_no_punning : (Parsetree.pattern * Parsetree.expression * Parsetree.value_constraint option * Parsetree.modes) nonterminal
  193. | N_let_binding_body : (Parsetree.pattern * Parsetree.expression * Parsetree.value_constraint option * Parsetree.modes * bool * bool) nonterminal
  194. | N_labeled_tuple_pat_element_list_pattern_no_exn_ : (string option * Parsetree.pattern) list nonterminal
  195. | N_labeled_tuple_pat_element_list_pattern_ : (string option * Parsetree.pattern) list nonterminal
  196. | N_labeled_simple_pattern : (Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern) nonterminal
  197. | N_labeled_simple_expr : (Asttypes.arg_label * Parsetree.expression) nonterminal
  198. | N_label_longident : Longident.t nonterminal
  199. | N_label_let_pattern : (string * Parsetree.pattern) nonterminal
  200. | N_label_declarations : Parsetree.label_declaration list nonterminal
  201. | N_label_declaration_semi : Parsetree.label_declaration nonterminal
  202. | N_label_declaration : Parsetree.label_declaration nonterminal
  203. | N_jkind_desc_no_with_kinds : Parsetree.jkind_annotation_desc nonterminal
  204. | N_jkind_desc_gen_jkind_desc_no_with_kinds_ : Parsetree.jkind_annotation_desc nonterminal
  205. | N_jkind_desc_gen_jkind_desc_ : Parsetree.jkind_annotation_desc nonterminal
  206. | N_jkind_desc : Parsetree.jkind_annotation_desc nonterminal
  207. | N_jkind_decl : Parsetree.jkind_declaration nonterminal
  208. | N_jkind_constraint : Parsetree.jkind_annotation nonterminal
  209. | N_jkind_annotation_no_with_kinds : Parsetree.jkind_annotation nonterminal
  210. | N_jkind_annotation_gen_jkind_desc_no_with_kinds_ : Parsetree.jkind_annotation nonterminal
  211. | N_jkind_annotation_gen_jkind_desc_ : Parsetree.jkind_annotation nonterminal
  212. | N_jkind_annotation : Parsetree.jkind_annotation nonterminal
  213. | N_item_extension : Parsetree.extension nonterminal
  214. | N_interface : Parsetree.signature nonterminal
  215. | N_index_mod : string nonterminal
  216. | N_include_kind : Parsetree.include_kind nonterminal
  217. | N_implementation : Parsetree.structure nonterminal
  218. | N_ident : string nonterminal
  219. | N_generic_type_declaration_nonrec_flag_type_kind_ : ((Asttypes.rec_flag * string Location.loc option) * Parsetree.type_declaration) nonterminal
  220. | N_generic_type_declaration_no_nonrec_flag_type_subst_kind_ : ((Asttypes.rec_flag * string Location.loc option) * Parsetree.type_declaration) nonterminal
  221. | N_generic_constructor_declaration_epsilon_ : (Ast_helper.str * (string Location.loc * Parsetree.jkind_annotation option) list * Parsetree.constructor_arguments * Parsetree.core_type option * Parsetree.attributes * Warnings.loc * Docstrings.info) nonterminal
  222. | N_generic_constructor_declaration_BAR_ : (Ast_helper.str * (string Location.loc * Parsetree.jkind_annotation option) list * Parsetree.constructor_arguments * Parsetree.core_type option * Parsetree.attributes * Warnings.loc * Docstrings.info) nonterminal
  223. | N_generalized_constructor_arguments : ((string Location.loc * Parsetree.jkind_annotation option) list * Parsetree.constructor_arguments * Parsetree.core_type option) nonterminal
  224. | N_functor_arg : (lexing_position * Parsetree.functor_parameter) nonterminal
  225. | N_function_type : Parsetree.core_type nonterminal
  226. | N_fun_seq_expr : Parsetree.expression nonterminal
  227. | N_fun_params : Parsetree.function_param list nonterminal
  228. | N_fun_param_as_list : Parsetree.function_param list nonterminal
  229. | N_fun_expr : Parsetree.expression nonterminal
  230. | N_fun_body : Parsetree.function_body nonterminal
  231. | N_fun_ : Parsetree.expression nonterminal
  232. | N_formal_class_parameters : (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list nonterminal
  233. | N_floating_attribute : Parsetree.attribute nonterminal
  234. | N_extension_type : Parsetree.core_type nonterminal
  235. | N_extension_constructor_rebind_epsilon_ : Parsetree.extension_constructor nonterminal
  236. | N_extension_constructor_rebind_BAR_ : Parsetree.extension_constructor nonterminal
  237. | N_extension : Parsetree.extension nonterminal
  238. | N_ext : string Location.loc option nonterminal
  239. | N_direction_flag : Asttypes.direction_flag nonterminal
  240. | N_delimited_type_supporting_local_open : Parsetree.core_type nonterminal
  241. | N_delimited_type : Parsetree.core_type nonterminal
  242. | N_core_type : Parsetree.core_type nonterminal
  243. | N_constructor_declarations : Parsetree.constructor_declaration list nonterminal
  244. | N_constructor_arguments : Parsetree.constructor_arguments nonterminal
  245. | N_constrain_field : (Parsetree.core_type * Parsetree.core_type) nonterminal
  246. | N_constr_longident : Longident.t nonterminal
  247. | N_constr_ident : string nonterminal
  248. | N_constr_extra_nonprefix_ident : string nonterminal
  249. | N_constant : Parsetree.constant nonterminal
  250. | N_comprehension_iterator : Parsetree.comprehension_iterator nonterminal
  251. | N_comprehension_clause_binding : Parsetree.comprehension_clause_binding nonterminal
  252. | N_comprehension_clause : Parsetree.comprehension_clause nonterminal
  253. | N_clty_longident : Longident.t nonterminal
  254. | N_class_type_declarations : (string Location.loc option * Parsetree.class_type_declaration list) nonterminal
  255. | N_class_type : Parsetree.class_type nonterminal
  256. | N_class_simple_expr : Parsetree.class_expr nonterminal
  257. | N_class_signature : Parsetree.class_type nonterminal
  258. | N_class_sig_field : Parsetree.class_type_field nonterminal
  259. | N_class_self_type : Parsetree.core_type nonterminal
  260. | N_class_self_pattern : Parsetree.pattern nonterminal
  261. | N_class_longident : Longident.t nonterminal
  262. | N_class_fun_def : Parsetree.class_expr nonterminal
  263. | N_class_fun_binding : Parsetree.class_expr nonterminal
  264. | N_class_field : Parsetree.class_field nonterminal
  265. | N_class_expr : Parsetree.class_expr nonterminal
  266. | N_block_access : Parsetree.block_access nonterminal
  267. | N_attribute : Parsetree.attribute nonterminal
  268. | N_attr_payload : Parsetree.payload nonterminal
  269. | N_attr_id : Ast_helper.str nonterminal
  270. | N_atomic_type : Parsetree.core_type nonterminal
  271. | N_atat_modalities_expr : Parsetree.modalities nonterminal
  272. | N_at_mode_expr : Parsetree.modes nonterminal
  273. | N_any_longident : Longident.t nonterminal
  274. | N_and_let_binding : Parser_types.let_binding nonterminal
  275. | N_alias_type : Parsetree.core_type nonterminal
  276. | N_additive : string nonterminal
include MenhirLib.IncrementalEngine.INSPECTION with type 'a lr1state := 'a lr1state with type production := production with type 'a terminal := 'a terminal with type 'a nonterminal := 'a nonterminal with type 'a env := 'a env
include CamlinternalMenhirLib.IncrementalEngine.SYMBOLS with type 'a terminal := 'a terminal with type 'a nonterminal := 'a nonterminal
type 'a symbol =
  1. | T : 'a terminal -> 'a symbol
  2. | N : 'a nonterminal -> 'a symbol
type xsymbol =
  1. | X : 'a symbol -> xsymbol
type item = production * int
val compare_terminals : _ terminal -> _ terminal -> int
val compare_nonterminals : _ nonterminal -> _ nonterminal -> int
val compare_symbols : xsymbol -> xsymbol -> int
val compare_productions : production -> production -> int
val compare_items : item -> item -> int
val incoming_symbol : 'a lr1state -> 'a symbol
val items : _ lr1state -> item list
val lhs : production -> xsymbol
val rhs : production -> xsymbol list
val nullable : _ nonterminal -> bool
val first : _ nonterminal -> _ terminal -> bool
val xfirst : xsymbol -> _ terminal -> bool
val foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'a
val foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'a