Глава 30 Фронтенд компилятора
В этой главе описывается фронтенд 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-2024 INRIA.
https://ocaml.org/manual/5.2/parsing.html