package reason

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
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
val acceptable : 'a checkpoint -> token -> MenhirLib.IncrementalEngine.position -> bool
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_SWITCH : unit terminal
  16. | T_STRUCT : unit terminal
  17. | T_STRING : (string * string option * string option) terminal
  18. | T_STAR : unit terminal
  19. | T_SLASHGREATER : unit terminal
  20. | T_SIG : unit terminal
  21. | T_SHARPOP : string terminal
  22. | T_SHARPEQUAL : unit terminal
  23. | T_SHARP : unit terminal
  24. | T_SEMISEMI : unit terminal
  25. | T_SEMI : unit terminal
  26. | T_RPAREN : unit terminal
  27. | T_REC : unit terminal
  28. | T_RBRACKET : unit terminal
  29. | T_RBRACE : unit terminal
  30. | T_QUOTE : unit terminal
  31. | T_QUESTION : unit terminal
  32. | T_PUB : unit terminal
  33. | T_PRI : unit terminal
  34. | T_PREFIXOP : string terminal
  35. | T_POSTFIXOP : string terminal
  36. | T_PLUSEQ : unit terminal
  37. | T_PLUSDOT : unit terminal
  38. | T_PLUS : unit terminal
  39. | T_PERCENT : unit terminal
  40. | T_OR : unit terminal
  41. | T_OPEN : unit terminal
  42. | T_OF : unit terminal
  43. | T_OBJECT : unit terminal
  44. | T_NONREC : unit terminal
  45. | T_NEW : unit terminal
  46. | T_NATIVEINT : nativeint terminal
  47. | T_MUTABLE : unit terminal
  48. | T_MODULE : unit terminal
  49. | T_MINUSGREATER : unit terminal
  50. | T_MINUSDOT : unit terminal
  51. | T_MINUS : unit terminal
  52. | T_LPAREN : unit terminal
  53. | T_LIDENT : string terminal
  54. | T_LETOP : string terminal
  55. | T_LET : unit terminal
  56. | T_LESSUIDENT : string terminal
  57. | T_LESSSLASHIDENTGREATER : string terminal
  58. | T_LESSSLASHGREATER : unit terminal
  59. | T_LESSIDENT : string terminal
  60. | T_LESSGREATER : unit terminal
  61. | T_LESSDOTDOTGREATER : 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_LBRACKETBAR : unit terminal
  68. | T_LBRACKETAT : unit terminal
  69. | T_LBRACKET : unit terminal
  70. | T_LBRACELESS : unit terminal
  71. | T_LBRACE : unit terminal
  72. | T_LAZY : unit terminal
  73. | T_INT : (string * char option) terminal
  74. | T_INITIALIZER : unit terminal
  75. | T_INHERIT : unit terminal
  76. | T_INFIXOP4 : string terminal
  77. | T_INFIXOP3 : string terminal
  78. | T_INFIXOP2 : string terminal
  79. | T_INFIXOP1 : string terminal
  80. | T_INFIXOP0 : string terminal
  81. | T_INCLUDE : unit terminal
  82. | T_IN : unit terminal
  83. | T_IF : unit terminal
  84. | T_GREATERRBRACE : unit terminal
  85. | T_GREATERDOTDOTDOT : unit terminal
  86. | T_GREATER : unit terminal
  87. | T_FUNCTOR : unit terminal
  88. | T_FUNCTION : unit terminal
  89. | T_FUN : unit terminal
  90. | T_FOR : unit terminal
  91. | T_FLOAT : (string * char option) terminal
  92. | T_FALSE : unit terminal
  93. | T_EXTERNAL : unit terminal
  94. | T_EXCEPTION : unit terminal
  95. | T_ES6_FUN : unit terminal
  96. | T_EQUALGREATER : unit terminal
  97. | T_EQUAL : unit terminal
  98. | T_EOL : unit terminal
  99. | T_EOF : unit terminal
  100. | T_END : unit terminal
  101. | T_ELSE : unit terminal
  102. | T_DOWNTO : unit terminal
  103. | T_DOTDOTDOT : unit terminal
  104. | T_DOTDOT : unit terminal
  105. | T_DOT : unit terminal
  106. | T_DONE : unit terminal
  107. | T_DOCSTRING : string terminal
  108. | T_DO : unit terminal
  109. | T_CONSTRAINT : unit terminal
  110. | T_COMMENT : (string * Location.t) terminal
  111. | T_COMMA : unit terminal
  112. | T_COLONGREATER : unit terminal
  113. | T_COLONEQUAL : unit terminal
  114. | T_COLONCOLON : unit terminal
  115. | T_COLON : unit terminal
  116. | T_CLASS : unit terminal
  117. | T_CHAR : char terminal
  118. | T_BEGIN : unit terminal
  119. | T_BARRBRACKET : unit terminal
  120. | T_BARBAR : unit terminal
  121. | T_BAR : unit terminal
  122. | T_BANG : unit terminal
  123. | T_BACKQUOTE : unit terminal
  124. | T_ASSERT : unit terminal
  125. | T_AS : unit terminal
  126. | T_ANDOP : string terminal
  127. | T_AND : unit terminal
  128. | T_AMPERSAND : unit terminal
  129. | T_AMPERAMPER : unit terminal
type _ nonterminal =
  1. | N_with_constraint : Ppxlib.with_constraint nonterminal
  2. | N_virtual_flag : Ppxlib.virtual_flag nonterminal
  3. | N_value_type : (string Location.loc * Ppxlib.mutable_flag * Ppxlib.virtual_flag * Ppxlib.core_type) nonterminal
  4. | N_value : (string Location.loc * Ppxlib.mutable_flag * Ppxlib.class_field_kind) nonterminal
  5. | N_val_longident : Longident.t nonterminal
  6. | N_val_ident : string nonterminal
  7. | N_use_file_no_mapper : Ppxlib.toplevel_phrase list nonterminal
  8. | N_use_file : Ppxlib.toplevel_phrase list nonterminal
  9. | N_unattributed_expr : Ppxlib.expression nonterminal
  10. | N_unattributed_core_type : Ppxlib.core_type nonterminal
  11. | N_type_variance : Ppxlib.variance nonterminal
  12. | N_type_variables_with_variance_comma_list : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  13. | N_type_variables_with_variance : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  14. | N_type_variable_with_variance : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) nonterminal
  15. | N_type_variable : Ppxlib.core_type nonterminal
  16. | N_type_subst_other_kind : (Ppxlib.type_kind * Ppxlib.private_flag * Ppxlib.core_type option) nonterminal
  17. | N_type_subst_kind : ((Ppxlib.type_kind * Ppxlib.private_flag * Ppxlib.core_type option) * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  18. | N_type_subst_declarations : Ppxlib.type_declaration list nonterminal
  19. | N_type_subst_constructor_declarations_aux : (Ppxlib.constructor_declaration list * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  20. | N_type_subst_constructor_declarations : (Ppxlib.constructor_declaration list * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  21. | N_type_parameters : Ppxlib.core_type list nonterminal
  22. | N_type_parameter : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) nonterminal
  23. | N_type_other_kind : (Ppxlib.type_kind * Ppxlib.private_flag * Ppxlib.core_type option) nonterminal
  24. | N_type_longident : Astlib.Longident.t Astlib.Location.loc nonterminal
  25. | N_type_declarations : (Ppxlib.rec_flag * Ppxlib.type_declaration list) nonterminal
  26. | N_type_declaration_kind : ((Ppxlib.type_kind * Ppxlib.private_flag * Ppxlib.core_type option) * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  27. | N_type_declaration_details : ((string Astlib.Location.loc * (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Ppxlib.type_kind * Ppxlib.private_flag * Ppxlib.core_type option) * Lexing.position * Ppxlib.type_declaration list) nonterminal
  28. | N_type_constraint : (Ppxlib.core_type option * Ppxlib.core_type option) nonterminal
  29. | N_toplevel_phrase : Ppxlib.toplevel_phrase nonterminal
  30. | N_toplevel_directive : Ppxlib.toplevel_phrase nonterminal
  31. | N_tag_field : Ppxlib.row_field nonterminal
  32. | N_structure_item : Ppxlib.Parsetree.structure nonterminal
  33. | N_structure : Ppxlib.Parsetree.structure nonterminal
  34. | N_string_literal_labels : Ppxlib.object_field list nonterminal
  35. | N_string_literal_label : Ppxlib.object_field nonterminal
  36. | N_string_literal_exprs_maybe_punned : (Longident.t Location.loc * Ppxlib.expression) list nonterminal
  37. | N_string_literal_expr_maybe_punned_with_comma : (Longident.t Location.loc * Ppxlib.expression) nonterminal
  38. | N_string_literal_expr_maybe_punned : (Longident.t Location.loc * Ppxlib.expression) nonterminal
  39. | N_str_type_extension : Ppxlib.type_extension nonterminal
  40. | N_str_exception_declaration : Ppxlib.extension_constructor nonterminal
  41. | N_single_attr_id : string nonterminal
  42. | N_simple_pattern_not_ident_ : Ppxlib.pattern nonterminal
  43. | N_simple_pattern_not_ident : Ppxlib.pattern nonterminal
  44. | N_simple_pattern_ident : Ppxlib.pattern nonterminal
  45. | N_simple_pattern_direct_argument : Ppxlib.pattern nonterminal
  46. | N_simple_pattern : Ppxlib.pattern nonterminal
  47. | N_simple_module_type : Ppxlib.module_type nonterminal
  48. | N_simple_expr_template_constructor : Ppxlib.expression nonterminal
  49. | N_simple_expr_no_constructor : Ppxlib.expression nonterminal
  50. | N_simple_expr_no_call : Ppxlib.expression nonterminal
  51. | N_simple_expr_direct_argument : Ppxlib.expression nonterminal
  52. | N_simple_expr_call : (Ppxlib.expression * (Ppxlib.arg_label * Ppxlib.expression) list) nonterminal
  53. | N_signed_constant : (Astlib.Ast_500.Parsetree.attribute list * Ppxlib.constant) nonterminal
  54. | N_signature_items : Ppxlib.Parsetree.signature nonterminal
  55. | N_signature_item : Ppxlib.signature_item_desc nonterminal
  56. | N_signature : Ppxlib.Parsetree.signature nonterminal
  57. | N_sig_type_extension : Ppxlib.type_extension nonterminal
  58. | N_sig_exception_declaration : Ppxlib.type_exception nonterminal
  59. | N_seq_expr_no_seq : Ppxlib.expression nonterminal
  60. | N_seq_expr : Ppxlib.expression nonterminal
  61. | N_separated_nonempty_list_AMPERSAND_non_arrowed_simple_core_types_ : Ppxlib.core_type list nonterminal
  62. | N_row_field_list : Ppxlib.row_field list nonterminal
  63. | N_row_field : Ppxlib.row_field nonterminal
  64. | N_record_label_declaration : Ppxlib.label_declaration nonterminal
  65. | N_record_expr_with_string_keys : (Ppxlib.expression option * (Longident.t Location.loc * Ppxlib.expression) list) nonterminal
  66. | N_record_expr : (Ppxlib.expression option * (Longident.t Location.loc * Ppxlib.expression) list) nonterminal
  67. | N_record_declaration : Ppxlib.label_declaration list nonterminal
  68. | N_rec_flag : Ppxlib.rec_flag nonterminal
  69. | N_protected_type : Ppxlib.core_type nonterminal
  70. | N_primitive_declaration : string list nonterminal
  71. | N_poly_type : Ppxlib.core_type nonterminal
  72. | N_payload : Ppxlib.payload nonterminal
  73. | N_pattern_without_or : Ppxlib.pattern nonterminal
  74. | N_pattern_optional_constraint : Ppxlib.pattern nonterminal
  75. | N_pattern_constructor_argument : Ppxlib.pattern list nonterminal
  76. | N_pattern_comma_list_extension : (Ppxlib.pattern list * Ppxlib.pattern option) nonterminal
  77. | N_pattern : Ppxlib.pattern nonterminal
  78. | N_parse_pattern : Ppxlib.pattern nonterminal
  79. | N_parse_expression : Ppxlib.expression nonterminal
  80. | N_parse_core_type : Ppxlib.core_type nonterminal
  81. | N_parenthesized_expr : Ppxlib.expression nonterminal
  82. | N_package_type : Ppxlib.core_type nonterminal
  83. | N_override_flag : Ppxlib.override_flag nonterminal
  84. | N_optional_expr_extension : (Ppxlib.expression -> Ppxlib.expression) nonterminal
  85. | N_optional : (string -> Ppxlib.arg_label) nonterminal
  86. | N_option_type_constraint_ : (Ppxlib.core_type option * Ppxlib.core_type option) option nonterminal
  87. | N_option_preceded_WHEN_expr__ : Ppxlib.expression option nonterminal
  88. | N_option_preceded_COLONGREATER_core_type__ : Ppxlib.core_type option nonterminal
  89. | N_option_preceded_COLON_simple_module_type__ : Ppxlib.module_type option nonterminal
  90. | N_option_preceded_COLON_poly_type__ : Ppxlib.core_type option nonterminal
  91. | N_option_preceded_COLON_non_arrowed_core_type__ : Ppxlib.core_type option nonterminal
  92. | N_option_preceded_COLON_expr__ : Ppxlib.expression option nonterminal
  93. | N_option_preceded_COLON_core_type__ : Ppxlib.core_type option nonterminal
  94. | N_option_preceded_COLON_class_constructor_type__ : Ppxlib.class_type option nonterminal
  95. | N_option_item_extension_sugar_ : (Astlib.Ast_500.Parsetree.attribute list * string Location.loc) option nonterminal
  96. | N_option_constructor_arguments_ : Ppxlib.constructor_arguments option nonterminal
  97. | N_option_as_loc_preceded_AS_LIDENT___ : string Location.loc option nonterminal
  98. | N_option_SEMI_ : unit option nonterminal
  99. | N_option_OF_ : unit option nonterminal
  100. | N_option_MODULE_ : unit option nonterminal
  101. | N_option_LET_ : unit option nonterminal
  102. | N_option_DOTDOTDOT_ : unit option nonterminal
  103. | N_option_DOT_ : unit option nonterminal
  104. | N_option_COMMA_ : unit option nonterminal
  105. | N_opt_LET_MODULE_ident : string option Astlib.Location.loc nonterminal
  106. | N_opt_LET_MODULE_REC_ident : string option Astlib.Location.loc nonterminal
  107. | N_opt_LET_MODULE : unit nonterminal
  108. | N_operator : string nonterminal
  109. | N_open_description : Ppxlib.Parsetree.open_description nonterminal
  110. | N_open_declaration : Ppxlib.module_expr Ppxlib.open_infos nonterminal
  111. | N_object_record_type : Ppxlib.core_type nonterminal
  112. | N_object_label_declarations : Ppxlib.object_field list nonterminal
  113. | N_object_label_declaration : Ppxlib.object_field nonterminal
  114. | N_object_body_class_fields : Ppxlib.class_field list nonterminal
  115. | N_object_body : Ppxlib.class_structure nonterminal
  116. | N_nonrec_flag : Ppxlib.rec_flag nonterminal
  117. | N_nonempty_list_preceded_CONSTRAINT_constrain__ : (Ppxlib.core_type * Ppxlib.core_type * Location.t) list nonterminal
  118. | N_nonempty_list_name_tag_ : string list nonterminal
  119. | N_nonempty_list_attributed_ext_constructor_extension_constructor_declaration__ : Ppxlib.extension_constructor list nonterminal
  120. | N_nonempty_list_attributed_ext_constructor_either_extension_constructor_declaration_extension_constructor_rebind___ : Ppxlib.extension_constructor list nonterminal
  121. | N_nonempty_list_as_loc_preceded_QUOTE_ident___ : string Location.loc list nonterminal
  122. | N_nonempty_list_as_loc_attribute__ : Ppxlib.attribute Location.loc list nonterminal
  123. | N_nonempty_list_as_loc_LIDENT__ : string Location.loc list nonterminal
  124. | N_nonempty_list___anonymous_31_ : string list nonterminal
  125. | N_non_labeled_argument_list : Ppxlib.expression list nonterminal
  126. | N_non_arrowed_simple_core_types : Ppxlib.core_type nonterminal
  127. | N_non_arrowed_simple_core_type : Ppxlib.core_type nonterminal
  128. | N_non_arrowed_core_type : Ppxlib.core_type nonterminal
  129. | N_mutable_or_virtual_flags : (Ppxlib.mutable_flag * Ppxlib.virtual_flag) nonterminal
  130. | N_mutable_flag : Ppxlib.mutable_flag nonterminal
  131. | N_mty_longident : Longident.t nonterminal
  132. | N_module_type_signature : Ppxlib.module_type nonterminal
  133. | N_module_type_body_EQUAL_ : Ppxlib.module_type nonterminal
  134. | N_module_type_body_COLON_ : Ppxlib.module_type nonterminal
  135. | N_module_type : Ppxlib.module_type nonterminal
  136. | N_module_parameter : Ppxlib.functor_parameter Location.loc nonterminal
  137. | N_module_expr_structure : Ppxlib.module_expr nonterminal
  138. | N_module_expr_body : Ppxlib.module_expr nonterminal
  139. | N_module_expr : Ppxlib.module_expr nonterminal
  140. | N_module_declaration : Ppxlib.module_type nonterminal
  141. | N_module_complex_expr : Ppxlib.module_expr nonterminal
  142. | N_module_binding_body : Ppxlib.module_expr nonterminal
  143. | N_module_arguments_comma_list : Ppxlib.module_expr list nonterminal
  144. | N_module_arguments : Ppxlib.module_expr list nonterminal
  145. | N_mod_longident : Longident.t nonterminal
  146. | N_mod_ident : string option nonterminal
  147. | N_mod_ext_longident : Longident.t nonterminal
  148. | N_mod_ext_lesslongident : Longident.t nonterminal
  149. | N_mod_ext_less_apply : Longident.t nonterminal
  150. | N_mod_ext_apply : Longident.t nonterminal
  151. | N_method_ : (string Location.loc * Ppxlib.class_field_kind) nonterminal
  152. | N_match_case_seq_expr_ : Ppxlib.case nonterminal
  153. | N_match_case_expr_ : Ppxlib.case nonterminal
  154. | N_lseparated_nonempty_list_aux_SEMI_class_sig_field_ : Ppxlib.class_type_field list list nonterminal
  155. | N_lseparated_nonempty_list_aux_SEMI_class_field_ : Ppxlib.class_field list list nonterminal
  156. | N_lseparated_nonempty_list_aux_COMMA_uncurried_labeled_expr_ : (Ppxlib.arg_label * Ppxlib.expression) list nonterminal
  157. | N_lseparated_nonempty_list_aux_COMMA_uncurried_arrow_type_parameter_ : ((Ppxlib.arg_label * Ppxlib.core_type) Location.loc * bool) list nonterminal
  158. | N_lseparated_nonempty_list_aux_COMMA_type_variable_with_variance_ : (Ppxlib.core_type * ( Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  159. | N_lseparated_nonempty_list_aux_COMMA_type_parameter_ : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  160. | N_lseparated_nonempty_list_aux_COMMA_string_literal_label_ : Ppxlib.object_field list nonterminal
  161. | N_lseparated_nonempty_list_aux_COMMA_string_literal_expr_maybe_punned_ : (Longident.t Location.loc * Ppxlib.expression) list nonterminal
  162. | N_lseparated_nonempty_list_aux_COMMA_record_label_declaration_ : Ppxlib.label_declaration list nonterminal
  163. | N_lseparated_nonempty_list_aux_COMMA_protected_type_ : Ppxlib.core_type list nonterminal
  164. | N_lseparated_nonempty_list_aux_COMMA_pattern_optional_constraint_ : Ppxlib.pattern list nonterminal
  165. | N_lseparated_nonempty_list_aux_COMMA_opt_spread_pattern__ : (Location.t option * Ppxlib.pattern) list nonterminal
  166. | N_lseparated_nonempty_list_aux_COMMA_opt_spread_lbl_expr__ : (Location.t option * (Longident.t Location.loc * Ppxlib.expression)) list nonterminal
  167. | N_lseparated_nonempty_list_aux_COMMA_opt_spread_expr_optional_constraint__ : (Location.t option * Ppxlib.expression) list nonterminal
  168. | N_lseparated_nonempty_list_aux_COMMA_object_label_declaration_ : Ppxlib.object_field list nonterminal
  169. | N_lseparated_nonempty_list_aux_COMMA_module_parameter_ : Ppxlib.functor_parameter Location.loc list nonterminal
  170. | N_lseparated_nonempty_list_aux_COMMA_module_complex_expr_ : Ppxlib.module_expr list nonterminal
  171. | N_lseparated_nonempty_list_aux_COMMA_mod_ext_longident_ : Longident.t list nonterminal
  172. | N_lseparated_nonempty_list_aux_COMMA_labeled_pattern_ : Reason_parser_def.labelled_parameter Location.loc list nonterminal
  173. | N_lseparated_nonempty_list_aux_COMMA_field_expr_ : (string Location.loc * Ppxlib.expression) list nonterminal
  174. | N_lseparated_nonempty_list_aux_COMMA_expr_optional_constraint_ : Ppxlib.expression list nonterminal
  175. | N_lseparated_nonempty_list_aux_COMMA_expr_ : Ppxlib.expression list nonterminal
  176. | N_lseparated_nonempty_list_aux_COMMA_core_type_ : Ppxlib.core_type list nonterminal
  177. | N_lseparated_nonempty_list_aux_AND_with_constraint_ : Ppxlib.with_constraint list nonterminal
  178. | N_loption_type_parameters_ : Ppxlib.core_type list nonterminal
  179. | N_loption_terminated_pattern_comma_list_option_COMMA___ : Ppxlib.pattern list nonterminal
  180. | N_loption_row_field_list_ : Ppxlib.row_field list nonterminal
  181. | N_loption_preceded_GREATER_nonempty_list_name_tag___ : string list nonterminal
  182. | N_loption_parenthesized_type_variables_with_variance_comma_list__ : (Ppxlib.core_type * ( Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  183. | N_loption_parenthesized_class_type_arguments_comma_list__ : Ppxlib.core_type list nonterminal
  184. | N_loption_object_label_declarations_ : Ppxlib.object_field list nonterminal
  185. | N_loption_located_attributes_ : Ppxlib.attribute Location.loc list nonterminal
  186. | N_loption_functor_parameters_ : Ppxlib.functor_parameter Location.loc list nonterminal
  187. | N_loption_class_type_parameters_ : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list nonterminal
  188. | N_longident_type_constraint : (Longident.t Location.loc * (Ppxlib.core_type option * Ppxlib.core_type option) option) nonterminal
  189. | N_llist_aux_preceded_COMMA_opt_spread_lbl_expr___ : (Location.t option * (Longident.t Location.loc * Ppxlib.expression)) list nonterminal
  190. | N_llist_aux_match_case_seq_expr__ : Ppxlib.case list nonterminal
  191. | N_llist_aux_match_case_expr__ : Ppxlib.case list nonterminal
  192. | N_list_simple_expr_no_call_ : Ppxlib.expression list nonterminal
  193. | N_list_bar_row_field_ : Ppxlib.row_field list nonterminal
  194. | N_list_attributed_ext_constructor_extension_constructor_declaration__ : Ppxlib.extension_constructor list nonterminal
  195. | N_list_attributed_ext_constructor_either_extension_constructor_declaration_extension_constructor_rebind___ : Ppxlib.extension_constructor list nonterminal
  196. | N_list_and_module_rec_declaration_ : Ppxlib.module_declaration list nonterminal
  197. | N_list_and_module_bindings_ : Ppxlib.module_binding list nonterminal
  198. | N_list_and_let_binding_ : Ppxlib.value_binding list nonterminal
  199. | N_list_and_class_type_declaration_ : Ppxlib.Parsetree.class_type_declaration list nonterminal
  200. | N_list_and_class_description_ : Ppxlib.Parsetree.class_description list nonterminal
  201. | N_list_and_class_declaration_ : Astlib.Ast_500.Parsetree.class_declaration list nonterminal
  202. | N_letop_bindings : (Ppxlib.pattern * Ppxlib.expression * Ppxlib.binding_op list) nonterminal
  203. | N_letop_binding_body : (Ppxlib.pattern * Ppxlib.expression) nonterminal
  204. | N_let_bindings : Reason_parser_def.let_bindings nonterminal
  205. | N_let_binding_body : (Ppxlib.pattern * Ppxlib.expression) nonterminal
  206. | N_let_binding : Reason_parser_def.let_bindings nonterminal
  207. | N_lbl_pattern : (Longident.t Location.loc * Ppxlib.pattern) nonterminal
  208. | N_labelled_arrow_type_parameter_optional : (Ppxlib.arg_label * Ppxlib.core_type) nonterminal
  209. | N_labeled_pattern_constraint : (string Location.loc -> Ppxlib.pattern) nonterminal
  210. | N_labeled_pattern : Reason_parser_def.labelled_parameter Location.loc nonterminal
  211. | N_labeled_expr_constraint : (Longident.t Location.loc -> Ppxlib.expression) nonterminal
  212. | N_labeled_expr : (Ppxlib.arg_label * Ppxlib.expression) nonterminal
  213. | N_labeled_arguments : (Ppxlib.arg_label * Ppxlib.expression) list nonterminal
  214. | N_label_longident : Longident.t nonterminal
  215. | N_jsx_without_leading_less : Ppxlib.expression nonterminal
  216. | N_jsx_start_tag_and_args_without_leading_less : (((Ppxlib.arg_label * Ppxlib.expression) list -> Location.t -> Ppxlib.expression) * Longident.t) nonterminal
  217. | N_jsx_start_tag_and_args : (((Ppxlib.arg_label * Ppxlib.expression) list -> Location.t -> Ppxlib.expression) * Longident.t) nonterminal
  218. | N_jsx_arguments : (Ppxlib.arg_label * Ppxlib.expression) list nonterminal
  219. | N_jsx : Ppxlib.expression nonterminal
  220. | N_item_extension_sugar : (Astlib.Ast_500.Parsetree.attribute list * string Location.loc) nonterminal
  221. | N_item_extension : Ppxlib_ast.Parsetree.extension nonterminal
  222. | N_interface : Ppxlib.Parsetree.signature nonterminal
  223. | N_implementation : Ppxlib.Parsetree.structure nonterminal
  224. | N_ident : string nonterminal
  225. | N_greater_spread : string nonterminal
  226. | N_generalized_constructor_arguments : (Ppxlib.constructor_arguments * Ppxlib.core_type option) nonterminal
  227. | N_functor_parameters : Ppxlib.functor_parameter Location.loc list nonterminal
  228. | N_fun_def_EQUALGREATER_non_arrowed_core_type_ : Ppxlib.expression nonterminal
  229. | N_fun_def_EQUAL_core_type_ : Ppxlib.expression nonterminal
  230. | N_field_expr : (string Location.loc * Ppxlib.expression) nonterminal
  231. | N_extension_constructor_rebind : Ppxlib.extension_constructor nonterminal
  232. | N_extension_constructor_declaration : Ppxlib.extension_constructor nonterminal
  233. | N_extension : Astlib.Ast_500.Parsetree.extension nonterminal
  234. | N_expr_optional_constraint : Ppxlib.expression nonterminal
  235. | N_expr_list : Ppxlib.expression list nonterminal
  236. | N_expr_comma_seq_extension : (Ppxlib.expression list * Ppxlib.expression option) nonterminal
  237. | N_expr : Ppxlib.expression nonterminal
  238. | N_es6_parameters : (Reason_parser_def.labelled_parameter Location.loc list * bool) nonterminal
  239. | N_embedded_private_flag_ : Ppxlib.private_flag nonterminal
  240. | N_embedded___anonymous_39_ : Ppxlib.directive_argument_desc option nonterminal
  241. | N_embedded___anonymous_32_ : (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) nonterminal
  242. | N_embedded___anonymous_1_ : Ppxlib.toplevel_phrase list nonterminal
  243. | N_embedded___anonymous_0_ : Ppxlib.toplevel_phrase nonterminal
  244. | N_either_preceded_EQUALGREATER_expr__braced_expr_ : Ppxlib.expression nonterminal
  245. | N_either_preceded_EQUAL_expr__braced_expr_ : Ppxlib.expression nonterminal
  246. | N_either_preceded_EQUAL_class_instance_type__class_type_body_ : Ppxlib.class_type nonterminal
  247. | N_either_preceded_EQUAL_class_expr__class_body_expr_ : Ppxlib.class_expr nonterminal
  248. | N_either_parenthesized_longident_type_constraint__longident_type_constraint_ : (Longident.t Location.loc * (Ppxlib.core_type option * Ppxlib.core_type option) option) nonterminal
  249. | N_either_extension_constructor_declaration_extension_constructor_rebind_ : Ppxlib.extension_constructor nonterminal
  250. | N_either_constructor_declaration_bar_constructor_declaration_ : Ppxlib.constructor_declaration nonterminal
  251. | N_either___anonymous_11___anonymous_12_ : Ppxlib.private_flag nonterminal
  252. | N_either_ES6_FUN_FUN_ : unit nonterminal
  253. | N_direction_flag : Ppxlib.direction_flag nonterminal
  254. | N_core_type2 : Ppxlib.core_type nonterminal
  255. | N_core_type : Ppxlib.core_type nonterminal
  256. | N_constructor_declarations_aux : (Ppxlib.constructor_declaration list * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  257. | N_constructor_declarations : (Ppxlib.constructor_declaration list * (Ppxlib.core_type * Ppxlib.core_type * Location.t) list * Lexing.position * Ppxlib.type_declaration list) nonterminal
  258. | N_constructor_declaration : Ppxlib.constructor_declaration nonterminal
  259. | N_constructor_arguments_comma_list : Ppxlib.core_type list nonterminal
  260. | N_constructor_arguments : Ppxlib.constructor_arguments nonterminal
  261. | N_constrain_field : (Ppxlib.core_type * Ppxlib.core_type) nonterminal
  262. | N_constrain : (Ppxlib.core_type * Ppxlib.core_type * Location.t) nonterminal
  263. | N_constr_longident : Longident.t nonterminal
  264. | N_constant : (Astlib.Ast_500.Parsetree.attribute list * Ppxlib.constant) nonterminal
  265. | N_clty_longident : Longident.t nonterminal
  266. | N_class_type_declarations : Astlib.Ast_500.Parsetree.class_type_declaration list nonterminal
  267. | N_class_type_declaration_details : (string Astlib.Location.loc * Ppxlib.class_type * Ppxlib.virtual_flag * (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list) nonterminal
  268. | N_class_type_body : Ppxlib.class_type nonterminal
  269. | N_class_type_arguments_comma_list : Ppxlib.core_type list nonterminal
  270. | N_class_simple_expr : Ppxlib.class_expr nonterminal
  271. | N_class_sig_field : Ppxlib.class_type_field list nonterminal
  272. | N_class_sig_body_fields : Ppxlib.class_type_field list nonterminal
  273. | N_class_sig_body_cty : Ppxlib.class_type_desc nonterminal
  274. | N_class_sig_body : Ppxlib.class_signature nonterminal
  275. | N_class_self_type : Ppxlib.core_type nonterminal
  276. | N_class_self_expr : Ppxlib.pattern nonterminal
  277. | N_class_longident : Longident.t nonterminal
  278. | N_class_instance_type : Ppxlib.class_type nonterminal
  279. | N_class_field : Ppxlib.class_field list nonterminal
  280. | N_class_expr_lets_and_rest : Ppxlib.class_expr nonterminal
  281. | N_class_expr : Ppxlib.class_expr nonterminal
  282. | N_class_descriptions : Ppxlib.Parsetree.class_description list nonterminal
  283. | N_class_description_details : (string Astlib.Location.loc * Ppxlib.class_type * Ppxlib.virtual_flag * (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list) nonterminal
  284. | N_class_declaration_details : (string Astlib.Location.loc * Ppxlib.class_expr * Ppxlib.virtual_flag * (Ppxlib.core_type * (Ppxlib.variance * Ppxlib.injectivity)) list) nonterminal
  285. | N_class_declaration_body : Ppxlib.class_expr nonterminal
  286. | N_class_constructor_type : Ppxlib.class_type nonterminal
  287. | N_braced_expr : Ppxlib.expression nonterminal
  288. | N_boption_AMPERSAND_ : bool nonterminal
  289. | N_basic_core_type : Ppxlib.core_type nonterminal
  290. | N_bar_row_field : Ppxlib.row_field nonterminal
  291. | N_bar_constructor_declaration : Ppxlib.constructor_declaration nonterminal
  292. | N_attributed_ext_constructors_extension_constructor_declaration_ : Ppxlib.extension_constructor list nonterminal
  293. | N_attributed_ext_constructors_either_extension_constructor_declaration_extension_constructor_rebind__ : Ppxlib.extension_constructor list nonterminal
  294. | N_attribute : Ppxlib.attribute nonterminal
  295. | N_attr_id : string Location.loc nonterminal
  296. | N_arrowed_simple_core_type : Ppxlib.core_type nonterminal
  297. | N_arrow_type_parameters : ((Ppxlib.arg_label * Ppxlib.core_type) Location.loc * bool) list nonterminal
  298. | N_arrow_type_parameter : (Ppxlib.arg_label * Ppxlib.core_type) nonterminal
  299. | N_and_type_subst_declaration : Ppxlib.type_declaration list nonterminal
  300. | N_and_type_declaration : Ppxlib.type_declaration list nonterminal
  301. | N_and_module_rec_declaration : Ppxlib.module_declaration nonterminal
  302. | N_and_module_bindings : Ppxlib.module_binding nonterminal
  303. | N_and_class_type_declaration : Ppxlib.Parsetree.class_type_declaration nonterminal
  304. | N_and_class_description : Ppxlib.Parsetree.class_description nonterminal
  305. | N_and_class_declaration : Ppxlib.class_expr Ppxlib.class_infos nonterminal
  306. | N__lbl_pattern_list : ((Location.t option * (Longident.t Location.loc * Ppxlib.pattern)) list * Ppxlib.closed_flag) 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 MenhirLib.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
OCaml

Innovation. Community. Security.