Я обнаружил, что Menhir предоставляет опции --dump и --explain, и это помогает отлаживать много. Но как включить эти параметры в ocamlbuild, чтобы Menhir всегда генерировал файлы дампа во время компиляции?Создайте файлы дампа/объяснения Menhir при использовании ocamlbuild
Я попытался написать myocamlbuild файл обработки пользовательских тегов menhir_dump
как ниже:
... snip ...
(* OASIS_STOP *)
Ocamlbuild_plugin.dispatch (
MyOCamlbuildBase.dispatch_combine [
(function
| After_rules ->
flag ["menhir_dump"] (S [A "--dump"; A "--explain"])
| _ ->()
);
dispatch_default
]
)
Но при компиляции, параметры вставляются в подкомандой и компиляция терпит неудачу во ocamlc
стадии.
menhir --dump --explain --raw-depend --ocamldep 'ocamlfind ocamldep -modules' src/parser.mly > src/parser.mly.depends
menhir --ocamlc 'ocamlfind ocamlc -g -annot -bin-annot --dump --explain -I src -package cmdliner -package menhirLib -I src' --dump --explain --infer src/parser.mly
+ menhir --ocamlc 'ocamlfind ocamlc -g -annot -bin-annot --dump --explain -I src -package cmdliner -package menhirLib -I src' --dump --explain --infer src/parser.mly
^^^^^^^^^^^^^^^^
ocamlc: unknown option '--dump'.
...snip...
Любые предложения?
Иногда мне интересно, как ocamlbuild может быть настолько плохой в документации, но настолько богат деталями. Кроме того, как модули сообщества myocamlbuild не достигли цели ... Это может быть лучшее место для размещения такого документа –