Модуль Разбора
module Parsing: sig .. end
Библиотека времени выполнения для парсеров, сгенерированных ocamlyacc.
val symbol_start : unit -> int
symbol_start и Parsing.symbol_end должны вызываться только в части действия правила грамматики. Они возвращают смещение строки, соответствующей левой части правила: symbol_start() возвращает смещение первого символа; symbol_end() возвращает смещение после последнего символа. Первый символ в файле имеет смещение 0.
val symbol_end : unit -> int
См. Parsing.symbol_start.
val rhs_start : int -> int
То же, что и Parsing.symbol_start и Parsing.symbol_end, но возвращают смещение строки, соответствующей n-му элементу в правой части правила, где n — целое число, являющееся параметром для rhs_start и rhs_end. n равно 1 для левого элемента.
val rhs_end : int -> int
См. Parsing.rhs_start.
val symbol_start_pos : unit -> Lexing.position
То же, что и symbol_start, но возвращает position вместо смещения.
val symbol_end_pos : unit -> Lexing.position
То же, что и symbol_end, но возвращает position вместо смещения.
val rhs_start_pos : int -> Lexing.position
То же, что и rhs_start, но возвращает position вместо смещения.
val rhs_end_pos : int -> Lexing.position
То же, что и rhs_end, но возвращает position вместо смещения.
val clear_parser : unit -> unit
Очищает стек парсера. Вызывается сразу после возврата функции парсинга, чтобы удалить все указатели из стека парсера на структуры, которые были созданы семантическими действиями во время парсинга. Это необязательно, но снижает потребность в памяти программ.
exception Parse_error
Возникает, когда парсер встречает синтаксическую ошибку. Также может быть поднято из части действия правила грамматики для начала восстановления от ошибки.
val set_trace : bool -> bool
Управление отладкой поддержки для ocamlyacc-сгенерированных парсеров. После Parsing.set_trace true, автомат с магазинной памятью, который выполняет парсеры, выводит трассировку своих действий (чтение токена, перемещение в состояние, сокращение по правилу) в стандартный вывод. Parsing.set_trace false отключает эту трассировку отладки. Возвращаемый булевый результат — предыдущее состояние флага трассировки.
- Since 3.11.0
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libref/Parsing.html