Модуль Разбора
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
© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/Parsing.html