Module Parsing
structure Parsing = struct ... end
The run-time library for parsers generated by nyacc
and ocamlyacc
.
val symbol_start : unit -> int
val symbol_end : unit -> int
symbol_start
and
Parsing.symbol_end
are to be called in the action part
of a grammar rule only. They return the position of the string that
matches the left-hand side of the rule:
symbol_start()
returns
the position of the first character;
symbol_end()
returns the
position of the last character, plus one. The first character
in a file is at position 0.
val rhs_start : int -> int
val rhs_end : int -> int
Same as
Parsing.symbol_start
and
Parsing.symbol_end
, but return the
position of the string matching the
n
th item on the
right-hand side of the rule, where
n
is the integer parameter
to
lhs_start
and
lhs_end
.
n
is 1 for the leftmost item.
val clear_parser : unit -> unit
Empty the parser stack. Call it just after a parsing function
has returned, to remove all pointers from the parser stack
to structures that were built by semantic actions during parsing.
This is optional, but lowers the memory requirements of the
programs.
exception Parse_error
Raised when a parser encounters a syntax error.
Can also be raised from the action part of a grammar rule,
to initiate error recovery.