Below is the API for the OCaml standard library. It's directly copied over from the OCaml Manual, formatted to the Reason syntax and styled accordingly. The API docs are work-in-progress; we'll be polishing these gradually!
If you're targeting JavaScript, the API docs for BuckleScript includes all of below, plus JS-specific APIs.
module Parsing: sig .. end
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
Parsing.symbol_start
.val rhs_start : int -> int
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
Parsing.rhs_start
.val symbol_start_pos : unit -> Lexing.position
symbol_start
, but return a position
instead of an offset.val symbol_end_pos : unit -> Lexing.position
symbol_end
, but return a position
instead of an offset.val rhs_start_pos : int -> Lexing.position
rhs_start
, but return a position
instead of an offset.val rhs_end_pos : int -> Lexing.position
rhs_end
, but return a position
instead of an offset.val clear_parser : unit -> unit
exception Parse_error
val set_trace : bool -> bool
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.