Глава 31 Фронтенд компилятора
В этой главе описан фронтенд 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
- Модуль Ast_mapper: интерфейс переписывателя -ppx
- Модуль Asttypes: вспомогательные типы, используемые Parsetree
- Модуль Location: расположение исходного кода
- Модуль Longident: длинные идентификаторы
- Модуль Parse: разбор синтаксиса OCaml
- Модуль Parsetree: синтаксическое дерево OCaml
- Модуль Pprintast: вывод синтаксиса OCaml
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/parsing.html