Up
Module
Annotated
Signature
include
Annot
type
pos = {
line
: int
;
col
: int
;
offset
: int
;
}
type
range = {
start_pos
:
pos
;
end_pos
:
pos
;
}
type
t =
| Atom
of
range
*
Type.t
| List
of
range
*
t
list *
Type.t
type
'a conv = [
| `Result
of
'a
| `Error
of
exn *
t
]
exception
Conv_exn
of
string * exn
type
stack = {
mutable
positions
:
pos
list
;
mutable
stack
:
t
list list
;
}
val
get_sexp :
t
->
Type.t
val
get_range :
t
->
range
exception
Annot_sexp
of
t
val
find_sexp :
t
->
Type.t
->
t
option
val
parse : ?parse_pos:
Parse_pos.t
-> ?len:int -> bytes -> (bytes,
Annot.t
)
parse_result
val
parse_bigstring : ?parse_pos:
Parse_pos.t
-> ?len:int ->
bigstring
-> (
bigstring
,
Annot.t
)
parse_result
val
input_rev_sexps : ?parse_pos:
Parse_pos.t
-> ?buf:bytes -> Pervasives.in_channel ->
Annot.t
list
val
input_sexp : ?parse_pos:
Parse_pos.t
-> Pervasives.in_channel ->
Annot.t
val
input_sexps : ?parse_pos:
Parse_pos.t
-> ?buf:bytes -> Pervasives.in_channel ->
Annot.t
list
val
of_string : bytes ->
Annot.t
val
of_bigstring :
bigstring
->
Annot.t
val
load_rev_sexps : ?buf:bytes -> string ->
Annot.t
list
val
load_sexps : ?buf:bytes -> string ->
Annot.t
list
val
load_sexp : ?strict:bool -> ?buf:bytes -> string ->
Annot.t
val
conv : (
Type.t
-> 'a) ->
t
-> [>
| `Error
of
exn *
t
| `Result
of
'a
]
val
get_conv_exn : file:string -> exc:exn ->
t
-> exn