Глава 29 Передняя часть компилятора
В этой главе описывается передняя часть компилятора OCaml, которая объявляет абстрактное синтаксическое дерево, используемое компилятором, предоставляет способ парсинга, печати и форматированной печати кода OCaml и, в конечном итоге, позволяет писать препроцессоры абстрактного синтаксического дерева, вызываемые с флагом -ppx (см. главы 13 и 16).
Важно отметить, что интерфейс экспортированной передней части соответствует эволюции языка и реализации OCaml, и поэтому не предоставляет гарантий обратной совместимости.
Передняя часть является частью библиотеки compiler-libs. Программы, использующие библиотеку compiler-libs, должны быть скомпилированы следующим образом:
ocamlfind ocamlc other options -package compiler-libs.common other files
ocamlfind ocamlopt other options -package compiler-libs.common other files
Рекомендуется использовать утилиту ocamlfind. Однако, если это невозможно, можно использовать альтернативный метод:
ocamlc other options -I +compiler-libs ocamlcommon.cma other files
ocamlopt other options -I +compiler-libs ocamlcommon.cmxa other files
Для интерактивного использования библиотеки compiler-libs запустите ocaml и введите
#load "compiler-libs/ocamlcommon.cma";;.
- Модуль Ast_helper: вспомогательные функции для построения АСД
- Модуль Ast_mapper: интерфейс переписывания с помощью -ppx
- Модуль Asttypes: вспомогательные типы, используемые модулем Parsetree
- Модуль Location: расположения в исходном коде
- Модуль Longident: длинные идентификаторы
- Модуль Parse: парсинг синтаксиса OCaml
- Модуль Parsetree: синтаксическое дерево OCaml
- Модуль Pprintast: печать синтаксиса OCaml
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/parsing.html