Sstt_parsing.Position
Extension of standard library's positions.
type position = t
type 'a located = 'a * t
Decoration of a value with a position.
val value : 'a located -> 'a
value dv
returns the raw value that underlies the decorated value dv
.
position dv
returns the position that decorates the decorated value dv
.
destruct dv
returns the couple of position and value of a decorated value dv
.
val located : ('a -> 'b) -> 'a located -> 'b
located f x
applies f
to the value of x
.
val with_cpos : Stdlib.Lexing.lexbuf -> 'a -> 'a located
with_cpos p v
decorates v
with a lexical position p
.
val with_poss :
Stdlib.Lexing.position ->
Stdlib.Lexing.position ->
'a ->
'a located
with_poss start stop v
decorates v
with a position (start, stop)
.
val unknown_pos : 'a -> 'a located
unknown_pos x
decorates v
with an unknown position.
val dummy : t
This value is used when an object does not come from a particular input location.
val iter : ('a -> unit) -> 'a located -> unit
iter f dv
applies f
to the value inside dv
.
mapd f v
extends the decoration from v
to both members of the pair f v
.
column p
returns the number of characters from the beginning of the line of the Lexing.position p
.
column p
returns the line number of to the Lexing.position p
.
column p
returns the offset from the beginning of the Lexing.position p
.
characters p1 p2
returns the character interval between p1
and p2
assuming they are located in the same line.
val start_of_position : t -> Stdlib.Lexing.position
start_of_position p
returns the beginning of a position p
.
val end_of_position : t -> Stdlib.Lexing.position
end_of_position p
returns the end of a position p
.
val filename_of_position : t -> string
filename_of_position p
returns the filename of a position p
.
join p1 p2
returns a position that starts where p1
starts and stops where p2
stops.
val lex_join : Stdlib.Lexing.position -> Stdlib.Lexing.position -> t
lex_join l1 l2
returns a position that starts at l1
and stops at l2
.
string_of_lex_pos p
returns a string representation for the lexing position p
.
val string_of_pos : t -> string
string_of_pos p
returns the standard (Emacs-like) representation of the position p
.
pos_or_undef po
is the identity function except if po = None, in that case, it returns undefined_position
.
val cpos : Stdlib.Lexing.lexbuf -> t
cpos lexbuf
returns the current position of the lexer.