Начиная с OCaml 4.02.1, можно использовать инструменты PPX, написанные Аленом Фришем , чтобы точно сделать это.Пример:
% ocamlfind ppx_tools/dumpast -e "1 + 2"
1 + 2
==>
{pexp_desc =
Pexp_apply ({pexp_desc = Pexp_ident {txt = Lident "+"}},
[("", {pexp_desc = Pexp_constant (Const_int 1)});
("", {pexp_desc = Pexp_constant (Const_int 2)})])}
=========
Эту программу также можно использовать для вывода AST из файла нормального кода, а различные параметры контролируют степень точности дампа.Например, в приведенном выше примере параметры местоположения AST скрыты.