Parsing (3)
NAME
Parsing - The run-time library for parsers generated by ocamlyacc.Module
Module ParsingDocumentation
Module
Parsing
:
sig end
The run-time library for parsers generated by
ocamlyacc
.
val symbol_start
:
unit -> int
symbol_start
and
Parsing.symbol_end
are to be called in the
action part of a grammar rule only. They return the offset of the
string that matches the left-hand side of the rule:
symbol_start()
returns the offset of the first character;
symbol_end()
returns the
offset after the last character. The first character in a file is at
offset 0.
val symbol_end
:
unit -> int
See
Parsing.symbol_start
.
val rhs_start
:
int -> int
Same as
Parsing.symbol_start
and
Parsing.symbol_end
, but
return the offset of the string matching the
n
th item on the
right-hand side of the rule, where
n
is the integer parameter
to
rhs_start
and
rhs_end
.
n
is 1 for the leftmost item.
val rhs_end
:
int -> int
See
Parsing.rhs_start
.
val symbol_start_pos
:
unit -> Lexing.position
Same as
symbol_start
, but return a
position
instead of an offset.
val symbol_end_pos
:
unit -> Lexing.position
Same as
symbol_end
, but return a
position
instead of an offset.
val rhs_start_pos
:
int -> Lexing.position
Same as
rhs_start
, but return a
position
instead of an offset.
val rhs_end_pos
:
int -> Lexing.position
Same as
rhs_end
, but return a
position
instead of an offset.
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.
val set_trace
:
bool -> bool
Control debugging support for
ocamlyacc
-generated parsers.
After
Parsing.set_trace true
, the pushdown automaton that
executes the parsers prints a trace of its actions (reading a token,
shifting a state, reducing by a rule) on standard output.
Parsing.set_trace false
turns this debugging trace off.
The boolean returned is the previous state of the trace flag.
Since
3.11.0