Как использовать диализатор с модулями синтаксического анализа
Я пытаюсь использовать диализатор в своем приложении erlang, но вот вывод:
dialyzer \
--src -r src \
-pa /home/niahoo/src/popos \
-pa /home/niahoo/src/popos/deps/parse_trans \
--verbose
Checking whether the PLT c:/MinGW/msys/1.0/home/niahoo/.dialyzer_plt is up-to-date... yes
Proceeding with analysis...
dialyzer: Analysis failed with error:
Could not scan the following file(s): [{"c:/MinGW/msys/1.0/home/niahoo/src/popos/src/tools/r.erl",
["c:/MinGW/msys/1.0/home/niahoo/src/popos/src/tools/r.erl:none: undefined parse transform 'exprecs'\n"]},
{"c:/MinGW/msys/1.0/home/niahoo/src/popos/src/game/party2.erl",
["c:/MinGW/msys/1.0/home/niahoo/src/popos/src/game/party2.erl:none: undefined parse transform 'playerdupli'\n"]}]
Last messages in the log cache:
Reading files and computing callgraph...
Я пытался поставить playerdupli.erl
в том же каталоге, что и party2.erl
, но вывод такой же. exprecs.erl
находится в отделе: deps/parse_trans/src
,
Код компилируется и запускается без ошибок, в том числе parse_transform. Я на MinGW (Windows 8 64). Любая идея?
Спасибо
2 ответа
Альтернативой, которая всегда проще, является компиляция с +debug_info
и пусть диализатор проанализирует полученную .beam
файлы.
Итак, я должен был что-то пропустить в документе. Есть команда, которая работает:
dialyzer \
--src -r src \
-pa /home/niahoo/src/popos \
-pa ebin \
-pa deps/parse_trans/ebin \
--raw \
--statistics \
-pa /home/niahoo/src/popos
Позволяет дилайзеру найти включенный.hrl, используемый с include_lib-pa ebin
позволяет найти мой модуль parse_transform (playerdupli)-pa deps/parse_trans/ebin
Мет. с выражениями