Module Djot_kernel.Reparse

type piece = {
  1. piece_lines : string list;
  2. piece_blocks : Ast.blocks;
}
val pieces_text : piece list -> string list
val pieces_tree : piece list -> Ast.blocks
type pending = {
  1. pend_lines : string list;
  2. pend_blocks : Ast.blocks;
  3. pend_state : Step.pstate;
  4. pend_count : int;
}
val fresh : pending
val cut : (int -> string -> Step.pstate -> Ast.blocks * Step.pstate) -> string list -> pending -> piece list * pending
val close : (Step.pstate -> Ast.blocks) -> pending -> piece list
val pieces : (int -> string -> Step.pstate -> Ast.blocks * Step.pstate) -> (Step.pstate -> Ast.blocks) -> string list -> piece list
val settle : (int -> string -> Step.pstate -> Ast.blocks * Step.pstate) -> (Step.pstate -> Ast.blocks) -> pending -> piece list -> piece list
val replace : (int -> string -> Step.pstate -> Ast.blocks * Step.pstate) -> (Step.pstate -> Ast.blocks) -> piece list -> string list -> piece list -> piece list
val splice : (int -> string -> Step.pstate -> Ast.blocks * Step.pstate) -> (Step.pstate -> Ast.blocks) -> piece list -> int -> int -> string list -> piece list
val sem_step : InlineTable.dtable -> Step.bconfig -> int -> string -> Step.pstate -> Ast.blocks * Step.pstate
val loc_step : InlineTable.dtable -> Step.bconfig -> int -> string -> Step.pstate -> Ast.blocks * Step.pstate
val loc_pieces : InlineTable.dtable -> Step.bconfig -> string list -> piece list
val assemble : int -> piece list -> Ast.blocks
val parse_blocks_located : InlineTable.dtable -> Step.bconfig -> string -> Ast.blocks