1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type 'state res =
| Go of { state : 'state; handle_line : [ `Keep | `Discard ] }
| Stop of { state : 'state; handle_line : [ `Keep | `Discard | `Left ] }
| Die
type trans_f = {
trans_spans : string -> Typ.span list;
trans_spans_from_lines : string list -> Typ.span list;
trans_blocks : string list -> Typ.block list;
}
module type S = sig
val is_safe : bool
val first_char : FirstChar.t
type state
val start : string -> state res
val continue : state -> string -> state res
val construct : trans_f -> state -> string list -> Typ.block
val force_construct : bool
end