File positions. A position within a file is defined by:
source - Name of the file or other kind of source such as a URL.
line - Line number within the source. The first line is
numbered 1. Set to None for binary files where the concept of a
line isn't applicable.
offset - If a line number is given, this is the position from
the start of the line. The first position is 1. If no line number
is given, this is the offset from the beginning of source. The
exact semantics of offset depends on the type of source. For
example, for Unicode text files, the offset might be the character
position instead of a byte position.
It is valid to omit any field. Omitting all fields denotes a dummy
or unknown position. Omitting source while providing line or
offset is probably not sensible but isn't disallowed. Even if
the source is an unnamed entity, some descriptive text should be
provided, e.g. "stdin" is better than saying None. Negative values
for line and offset also shouldn't be used, but we do not
bother disallowing it.
module Biocaml_pos: sigtype t = {
source : string option;
line : int option;
offset : int option;
val incr_line : ?n:int -> t -> t incr_line ?n pos increments the line number of pos by
n. Default: n = 1. If pos.line = None, it is treated as
zero, i.e. the returned line number is set to n.val to_string : t -> stringincr_line ?n pos increments the line number of pos by
n. Default: n = 1. If pos.line = None, it is treated as
zero, i.e. the returned line number is set to n.end