NAME¶
Parsing - The run-time library for parsers generated by ocamlyacc.
Module¶
Module Parsing
Documentation¶
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