Как использовать диализатор с модулями синтаксического анализа

Я пытаюсь использовать диализатор в своем приложении 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 Мет. с выражениями

Другие вопросы по тегам