Я знаю, что ocamlc может компилировать исходный файл ocaml .ml и .mli
Я читаю исходный код компилятора 4.07, в файле driver / pparse.ml, функция file_aux будет использовать ocamlyacc для получения ast Parsetree.
в строке 169:
File: d:\src\ocaml-4.07.0\driver\pparse.ml
169: let (ic, is_ast_file) = open_and_check_magic inputfile ast_magic in
проверит, является ли файл файлом ast. Я хочу знать, какой файл будет файлом astfile?
Я могу написать этот код для проверки:
Printf.printf "%b" is_ast_file
но когда я использую оба файла .ml и .mli, все они получают false. Это означает, что astfile означает файл .cmt?
Я думаю, что astfile здесь - это файл .cmt. Я могу использовать опцию ocamlc -bin-annot для получения файла .cmt. Это файл .cmt? Но я не могу использовать ocamlc для компиляции файла .cmt .THANKS!