Глава 27 Передняя часть компилятора
В этой главе описывается передняя часть компилятора OCaml, которая объявляет абстрактное синтаксическое дерево, используемое компилятором, предоставляет способ парсить, печатать и красиво печатать код OCaml, и, в конечном счёте, позволяет писать препроцессоры абстрактного синтаксического дерева, вызываемые через флаг -ppx (см. главы 11 и 14).
Важно отметить, что экспортированный интерфейс передней части компилятора следует за эволюцией языка и реализации 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/4.14/htmlman/parsing.html