如何获得Erlang预处理器的输出?

nmi*_*els 7 erlang preprocessor

我有一个奇怪的宏,我正在调试,我似乎无法弄清楚如何获得预处理器的输出.我正在寻找相当于GCC的-save-temps.我试图传递dppcompile:file/2,但它似乎产生一个解析树,而不是预处理二郎.

compile:file("t.erl", 'E').正如Anton所提到的那样很好,但对导致语法错误的宏没有帮助.由于缺乏调试复杂宏的方法,我倾向于通过编写生成代码的程序来进行元编程.

ala*_*rik 6

尝试以下方法之一:

   compile:file("t.erl", 'P').
   compile:file("t.erl", 'E').
Run Code Online (Sandbox Code Playgroud)

  • 那些返回`error`并且不生成任何输出(使用我的错误宏;如果我没有任何错误,`E`会做很好的事情). (2认同)