package archetype

  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 : (Stdlib.Lexing.lexbuf -> token) -> Stdlib.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_XOR : unit terminal
  3. | T_VSTRING : string terminal
  4. | T_VOTING_POWER : unit terminal
  5. | T_UPDATE : unit terminal
  6. | T_UNPAIR : unit terminal
  7. | T_UNPACK : unit terminal
  8. | T_UNIT : unit terminal
  9. | T_TUNIT : unit terminal
  10. | T_TTIMESTAMP : unit terminal
  11. | T_TSTRING : unit terminal
  12. | T_TSIGNATURE : unit terminal
  13. | T_TSET : unit terminal
  14. | T_TSAPLING_TRANSACTION : unit terminal
  15. | T_TSAPLING_STATE : unit terminal
  16. | T_TRANSFER_TOKENS : unit terminal
  17. | T_TPVSS_KEY : unit terminal
  18. | T_TPAIR : unit terminal
  19. | T_TOTAL_VOTING_POWER : unit terminal
  20. | T_TOR : unit terminal
  21. | T_TOPTION : unit terminal
  22. | T_TOPERATION : unit terminal
  23. | T_TOGGLE_BAKER_DELEGATIONS : unit terminal
  24. | T_TNEVER : unit terminal
  25. | T_TNAT : unit terminal
  26. | T_TMUTEZ : unit terminal
  27. | T_TMAP : unit terminal
  28. | T_TLIST : unit terminal
  29. | T_TLAMBDA : unit terminal
  30. | T_TKEY_HASH : unit terminal
  31. | T_TKEY : unit terminal
  32. | T_TINT : unit terminal
  33. | T_TCONTRACT : unit terminal
  34. | T_TCHAIN_ID : unit terminal
  35. | T_TBYTES : unit terminal
  36. | T_TBOOL : unit terminal
  37. | T_TBLS12_381_G2 : unit terminal
  38. | T_TBLS12_381_G1 : unit terminal
  39. | T_TBLS12_381_FR : unit terminal
  40. | T_TBIG_MAP : unit terminal
  41. | T_TBAKER_OPERATION : unit terminal
  42. | T_TBAKER_HASH : unit terminal
  43. | T_TADDRESS : unit terminal
  44. | T_SWAP : unit terminal
  45. | T_SUBMIT_PROPOSALS : unit terminal
  46. | T_SUBMIT_BALLOT : unit terminal
  47. | T_SUB : unit terminal
  48. | T_STORAGE : unit terminal
  49. | T_STEPS_TO_QUOTA : unit terminal
  50. | T_SOURCE : unit terminal
  51. | T_SOME : unit terminal
  52. | T_SLICE : unit terminal
  53. | T_SIZE : unit terminal
  54. | T_SHA512 : unit terminal
  55. | T_SHA3 : unit terminal
  56. | T_SHA256 : unit terminal
  57. | T_SET_DELEGATE : unit terminal
  58. | T_SET_BAKER_PVSS_KEY : unit terminal
  59. | T_SET_BAKER_CONSENSUS_KEY : unit terminal
  60. | T_SET_BAKER_ACTIVE : unit terminal
  61. | T_SENDER : unit terminal
  62. | T_SEMI_COLON : unit terminal
  63. | T_SELF_ADDRESS : unit terminal
  64. | T_SELF : unit terminal
  65. | T_SAPLING_VERIFY_UPDATE : unit terminal
  66. | T_SAPLING_EMPTY_STATE : unit terminal
  67. | T_RPAREN : unit terminal
  68. | T_RIGHT : unit terminal
  69. | T_RENAME : unit terminal
  70. | T_RBRACKET : unit terminal
  71. | T_RBRACE : unit terminal
  72. | T_PUSH : unit terminal
  73. | T_PARAMETER : unit terminal
  74. | T_PAIRING_CHECK : unit terminal
  75. | T_PAIR : unit terminal
  76. | T_PACK : unit terminal
  77. | T_OR : unit terminal
  78. | T_NUMBER : Big_int.big_int terminal
  79. | T_NOW : unit terminal
  80. | T_NOT : unit terminal
  81. | T_NONE : unit terminal
  82. | T_NIL : unit terminal
  83. | T_NEVER : unit terminal
  84. | T_NEQ : unit terminal
  85. | T_NEG : unit terminal
  86. | T_MUL : unit terminal
  87. | T_MEM : unit terminal
  88. | T_MAP : unit terminal
  89. | T_LT : unit terminal
  90. | T_LSR : unit terminal
  91. | T_LSL : unit terminal
  92. | T_LPAREN : unit terminal
  93. | T_LOOP_LEFT : unit terminal
  94. | T_LOOP : unit terminal
  95. | T_LEVEL : unit terminal
  96. | T_LEFT : unit terminal
  97. | T_LE : unit terminal
  98. | T_LBRACKET : unit terminal
  99. | T_LBRACE : unit terminal
  100. | T_LAMBDA : unit terminal
  101. | T_KECCAK : unit terminal
  102. | T_ITER : unit terminal
  103. | T_ISNAT : unit terminal
  104. | T_INT : unit terminal
  105. | T_IMPLICIT_ACCOUNT : unit terminal
  106. | T_IF_NONE : unit terminal
  107. | T_IF_LEFT : unit terminal
  108. | T_IF_CONS : unit terminal
  109. | T_IF : unit terminal
  110. | T_HASH_KEY : unit terminal
  111. | T_GT : unit terminal
  112. | T_GET : unit terminal
  113. | T_GE : unit terminal
  114. | T_FAILWITH : unit terminal
  115. | T_EXEC : unit terminal
  116. | T_EQ : unit terminal
  117. | T_EOF : unit terminal
  118. | T_EMPTY_SET : unit terminal
  119. | T_EMPTY_MAP : unit terminal
  120. | T_EMPTY_BIG_MAP : unit terminal
  121. | T_EDIV : unit terminal
  122. | T_DUP : unit terminal
  123. | T_DUNIT : unit terminal
  124. | T_DUG : unit terminal
  125. | T_DTRUE : unit terminal
  126. | T_DSOME : unit terminal
  127. | T_DROP : unit terminal
  128. | T_DRIGHT : unit terminal
  129. | T_DPAIR : unit terminal
  130. | T_DNONE : unit terminal
  131. | T_DLEFT : unit terminal
  132. | T_DIP : unit terminal
  133. | T_DIG : unit terminal
  134. | T_DFALSE : unit terminal
  135. | T_DELT : unit terminal
  136. | T_CREATE_CONTRACT : unit terminal
  137. | T_CREATE_ACCOUNT : unit terminal
  138. | T_CONTRACT : unit terminal
  139. | T_CONS : unit terminal
  140. | T_CONCAT : unit terminal
  141. | T_COMPARE : unit terminal
  142. | T_CODE : unit terminal
  143. | T_CHECK_SIGNATURE : unit terminal
  144. | T_CHAIN_ID : unit terminal
  145. | T_CDR : unit terminal
  146. | T_CAST : unit terminal
  147. | T_CAR : unit terminal
  148. | T_BYTES : string terminal
  149. | T_BLAKE2B : unit terminal
  150. | T_BALANCE : unit terminal
  151. | T_APPLY : unit terminal
  152. | T_ANNOTATION : string terminal
  153. | T_AND : unit terminal
  154. | T_AMOUNT : unit terminal
  155. | T_ADDRESS : unit terminal
  156. | T_ADD : unit terminal
  157. | T_ABS : unit terminal
type _ nonterminal =
  1. | N_type_ : Michelson.type_ nonterminal
  2. | N_storage : Michelson.type_ nonterminal
  3. | N_seq : Michelson.code list nonterminal
  4. | N_separated_nonempty_list_SEMI_COLON_instruction_ : Michelson.code list nonterminal
  5. | N_separated_nonempty_list_SEMI_COLON_data_ : Michelson.data list nonterminal
  6. | N_parameter : Michelson.type_ nonterminal
  7. | N_option_SEMI_COLON_ : unit option nonterminal
  8. | N_neo : int nonterminal
  9. | N_main : Michelson.michelson nonterminal
  10. | N_loption_separated_nonempty_list_SEMI_COLON_instruction__ : Michelson.code list nonterminal
  11. | N_loption_separated_nonempty_list_SEMI_COLON_data__ : Michelson.data list nonterminal
  12. | N_instruction : Michelson.code nonterminal
  13. | N_data : Michelson.data nonterminal
  14. | N_code : Michelson.code nonterminal
  15. | N_annot : string option 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