Spec-Zone.ru › OCaml

Синтаксический анализ модулей

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 отключает эту трассировку отладки. Возвращаемое логическое значение — предыдущее состояние флага трассировки.

  • Начиная с версии 3.11

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/Parsing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API