Up

module Syntax

: sig
#
type location = {
# loc_file
: string;
# start_pos
: int;
# end_pos
: int;
# start_line
: int;
# start_col
: int;
}
#
type regular_expression =
# | Epsilon
# | Characters of Cset.t
# | Eof
# | Repetition of regular_expression
# | Bind of regular_expression * (string * location)
#
type ('arg, 'action) entry = {
# name
: string;
# shortest
: bool;
# args
: 'arg;
# clauses
: (regular_expression * 'action) list;
}
#
type lexer_definition = {
# header
: location;
# entrypoints
: (string list, location) entry list;
# trailer
: location;
# refill_handler
: location option;
}
end