package diffast-langs-python-parsing

  1. Overview
  2. Docs
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 _ nonterminal =
  1. | N_yield_stmt : Ast.simplestmt_desc nonterminal
  2. | N_yield_expr : Ast.testlist nonterminal
  3. | N_xor_expr : Ast.target nonterminal
  4. | N_with_stmt : Ast.statement_desc nonterminal
  5. | N_with_item_list : (Ast.target * Ast.target option) list nonterminal
  6. | N_with_item : (Ast.target * Ast.target option) nonterminal
  7. | N_wildcard_pattern : Ast.pattern nonterminal
  8. | N_while_stmt : Ast.statement_desc nonterminal
  9. | N_varargslist : Ast.parameters nonterminal
  10. | N_varargs_ : Ast.vararg list nonterminal
  11. | N_vararg : Ast.vararg nonterminal
  12. | N_value_pattern : Ast.pattern nonterminal
  13. | N_typedargslist : (Ast.loc * Ast.vararg list) nonterminal
  14. | N_typedargs_ : Ast.vararg list nonterminal
  15. | N_typedarg : Ast.vararg nonterminal
  16. | N_try_stmt : Ast.statement_desc nonterminal
  17. | N_try_except : (Ast.suite * (Ast.except * Ast.suite) list) nonterminal
  18. | N_trailer : Ast.trailer nonterminal
  19. | N_tfpdef : Ast.fpdef nonterminal
  20. | N_testlist_star_expr : Ast.testlist nonterminal
  21. | N_testlist_or_yield_expr : Ast.testlist nonterminal
  22. | N_testlist_comp : Ast.primary_desc nonterminal
  23. | N_testlist_ : Ast.testlist nonterminal
  24. | N_testlist1_star_expr : Ast.target list nonterminal
  25. | N_testlist1_ : Ast.target list nonterminal
  26. | N_testlist1 : Ast.target list nonterminal
  27. | N_testlist : Ast.testlist nonterminal
  28. | N_test : Ast.target nonterminal
  29. | N_term : Ast.target nonterminal
  30. | N_sync_comp_for : (Ast.target list * Ast.target * Ast.compiter option) nonterminal
  31. | N_suite : Ast.suite nonterminal
  32. | N_subscripts : Ast.sliceitem list nonterminal
  33. | N_subscriptlist : Ast.sliceitem list nonterminal
  34. | N_subscript : Ast.sliceitem nonterminal
  35. | N_subject_expr : Ast.subject_expr nonterminal
  36. | N_strings : Ast.pystring list nonterminal
  37. | N_stringliteral : Ast.pystring nonterminal
  38. | N_stmts : Ast.statement list nonterminal
  39. | N_stmt : Ast.statement nonterminal
  40. | N_star_pattern : Ast.pattern nonterminal
  41. | N_star_expr : Ast.target nonterminal
  42. | N_small_stmts : Ast.simplestmt list nonterminal
  43. | N_small_stmt_ : Ast.simplestmt_desc nonterminal
  44. | N_small_stmt : Ast.simplestmt nonterminal
  45. | N_sliceop : Ast.target option nonterminal
  46. | N_simple_stmt_ : Ast.statement nonterminal
  47. | N_simple_stmt : Ast.statement nonterminal
  48. | N_signed_number : Ast.literal_expr nonterminal
  49. | N_shift_expr : Ast.target nonterminal
  50. | N_sequence_pattern : Ast.pattern nonterminal
  51. | N_separated_nonempty_list_PIPE_closed_pattern_ : Ast.pattern list nonterminal
  52. | N_return_stmt : Ast.simplestmt_desc nonterminal
  53. | N_ret_annot : Ast.target nonterminal
  54. | N_raise_stmt : Ast.simplestmt_desc nonterminal
  55. | N_print_stmt : Ast.simplestmt_desc nonterminal
  56. | N_primary : Ast.primary nonterminal
  57. | N_power : Ast.target nonterminal
  58. | N_patterns : Ast.pattern nonterminal
  59. | N_pattern_capture_target : Ast.pattern nonterminal
  60. | N_pattern : Ast.pattern nonterminal
  61. | N_pass_stmt : Ast.simplestmt_desc nonterminal
  62. | N_parameters : Ast.parameters nonterminal
  63. | N_or_test : Ast.target nonterminal
  64. | N_or_pattern : Ast.pattern nonterminal
  65. | N_option_open_sequence_pattern_ : Ast.pattern option nonterminal
  66. | N_option_maybe_sequence_pattern_ : Ast.pattern option nonterminal
  67. | N_option_guard_ : Ast.guard option nonterminal
  68. | N_option_COMMA_ : unit option nonterminal
  69. | N_open_sequence_pattern : Ast.pattern nonterminal
  70. | N_old_test : Ast.target nonterminal
  71. | N_old_lambdef : Ast.expr_desc nonterminal
  72. | N_number : Ast.literal nonterminal
  73. | N_not_test : Ast.target nonterminal
  74. | N_nonlocal_stmt : Ast.simplestmt_desc nonterminal
  75. | N_nonempty_list_dot_or_ellipsis_ : int list nonterminal
  76. | N_nonempty_list_case_block_ : Ast.case_block list nonterminal
  77. | N_names : Ast.name list nonterminal
  78. | N_namedexpr_test : Ast.target nonterminal
  79. | N_name : Ast.name nonterminal
  80. | N_mop : Ast.bop nonterminal
  81. | N_maybe_star_pattern : Ast.pattern nonterminal
  82. | N_maybe_sequence_pattern : Ast.pattern nonterminal
  83. | N_match_stmt : Ast.statement_desc nonterminal
  84. | N_mapping_pattern : Ast.pattern nonterminal
  85. | N_main : Ast.fileinput nonterminal
  86. | N_literal_expr : Ast.literal_expr nonterminal
  87. | N_literal : Ast.literal nonterminal
  88. | N_lambdef : Ast.expr_desc nonterminal
  89. | N_keyword_pattern : Ast.pattern nonterminal
  90. | N_key_value_pattern : Ast.pattern nonterminal
  91. | N_imports : Ast.name_as_name list nonterminal
  92. | N_import_stmt : Ast.simplestmt_desc nonterminal
  93. | N_import_name : Ast.simplestmt_desc nonterminal
  94. | N_import_from : Ast.simplestmt_desc nonterminal
  95. | N_import_as_names_list : Ast.name_as_name list nonterminal
  96. | N_import_as_names : Ast.name_as_name list nonterminal
  97. | N_import_as_name : Ast.name_as_name nonterminal
  98. | N_if_stmt : Ast.statement_desc nonterminal
  99. | N_guard : Ast.guard nonterminal
  100. | N_group_pattern : Ast.pattern nonterminal
  101. | N_global_stmt : Ast.simplestmt_desc nonterminal
  102. | N_funcdef : Ast.statement_desc nonterminal
  103. | N_fplist : Ast.fpdef list nonterminal
  104. | N_fpdefs : Ast.fpdef list nonterminal
  105. | N_fpdef : Ast.fpdef nonterminal
  106. | N_for_stmt : Ast.statement_desc nonterminal
  107. | N_flow_stmt : Ast.simplestmt_desc nonterminal
  108. | N_finally : (Ast.loc * Ast.suite) nonterminal
  109. | N_file_input_ : Ast.statement list nonterminal
  110. | N_file_input : Ast.statement list nonterminal
  111. | N_factor : Ast.target nonterminal
  112. | N_exprlist : Ast.target list nonterminal
  113. | N_expr_stmt : Ast.simplestmt_desc nonterminal
  114. | N_expr : Ast.target nonterminal
  115. | N_exec_stmt : Ast.simplestmt_desc nonterminal
  116. | N_except_clause_suites : (Ast.except * Ast.suite) list nonterminal
  117. | N_except_clause : Ast.except nonterminal
  118. | N_eq_testlists : Ast.testlist list nonterminal
  119. | N_els : (Ast.loc * Ast.suite) nonterminal
  120. | N_elifs : (Ast.loc * Ast.target * Ast.suite) list nonterminal
  121. | N_elif : (Ast.loc * Ast.target * Ast.suite) nonterminal
  122. | N_double_star_pattern : Ast.pattern nonterminal
  123. | N_dotted_name_ : Ast.dottedname nonterminal
  124. | N_dotted_name : Ast.dottedname nonterminal
  125. | N_dotted_as_names : Ast.dottedname_as_name list nonterminal
  126. | N_dotted_as_name : Ast.dottedname_as_name nonterminal
  127. | N_dot_or_ellipsis_seq : Ast.dots nonterminal
  128. | N_dictorsetmaker : Ast.dictorsetmaker nonterminal
  129. | N_dictelems : Ast.dictelem list nonterminal
  130. | N_dictelem : Ast.dictelem nonterminal
  131. | N_del_stmt : Ast.simplestmt_desc nonterminal
  132. | N_decorators : Ast.decorator list nonterminal
  133. | N_decorator : Ast.decorator nonterminal
  134. | N_decorated : Ast.statement_desc nonterminal
  135. | N_continue_stmt : Ast.simplestmt_desc nonterminal
  136. | N_compound_stmt_ : Ast.statement_desc nonterminal
  137. | N_compound_stmt : Ast.statement nonterminal
  138. | N_complex_number : Ast.literal_expr nonterminal
  139. | N_comparison : Ast.target nonterminal
  140. | N_comp_op : Ast.bop nonterminal
  141. | N_comp_iter : Ast.compiter nonterminal
  142. | N_comp_if : Ast.compif nonterminal
  143. | N_comp_for : Ast.compfor nonterminal
  144. | N_closed_pattern : Ast.pattern nonterminal
  145. | N_classdef : Ast.statement_desc nonterminal
  146. | N_class_pattern : Ast.pattern nonterminal
  147. | N_case_block : Ast.case_block nonterminal
  148. | N_break_stmt : Ast.simplestmt_desc nonterminal
  149. | N_augassign : Ast.augop nonterminal
  150. | N_atom : Ast.primary_desc nonterminal
  151. | N_async_stmt : Ast.statement_desc nonterminal
  152. | N_async_funcdef : Ast.statement_desc nonterminal
  153. | N_assert_stmt : Ast.simplestmt_desc nonterminal
  154. | N_as_pattern : Ast.pattern nonterminal
  155. | N_arith_expr : Ast.target nonterminal
  156. | N_argument : Ast.argument nonterminal
  157. | N_arglist : Ast.arglist nonterminal
  158. | N_arg_comma_list_ : Ast.argument list nonterminal
  159. | N_annot : (Ast.loc * Ast.target) nonterminal
  160. | N_annassign : ((Ast.loc * Ast.target) * Ast.testlist option) nonterminal
  161. | N_and_test : Ast.target nonterminal
  162. | N_and_expr : Ast.target nonterminal
  163. | N__star_exprs : Ast.target list nonterminal
  164. | N__primary : Ast.primary nonterminal
  165. | N__positional_patterns : Ast.pattern list nonterminal
  166. | N__maybe_star_patterns : Ast.pattern list nonterminal
  167. | N__keyword_patterns : Ast.pattern list nonterminal
  168. | N__items_pattern : Ast.pattern list nonterminal
  169. | N__exprs : Ast.target list 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.