Erlang 模块名称前的问号

Erlang 模块名称前的问号,erlang,elixir,Erlang,Elixir,遵循本指南: 根据指南,此代码在Erlang中生成一个名为?LEX的模块。长生不老药叫什么名字 如果调用文件lexer.xrl,leex将生成一个名为lexer.erl的Erlang文件,该文件定义了一个名为lexer的模块。然后,您可以从Elixir使用它作为:lexer.。要查看本文中的示例,请搜索selector\u lexer.xrl 它与parser.yrl的工作原理类似–您将获得名为parser的Erlang模块,您可以在Elixir中调用它作为:parser.。它在哪里说的?Thi

遵循本指南:


根据指南,此代码在Erlang中生成一个名为
?LEX
的模块。长生不老药叫什么名字

如果调用文件
lexer.xrl
leex
将生成一个名为
lexer.erl
的Erlang文件,该文件定义了一个名为
lexer
的模块。然后,您可以从Elixir使用它作为
:lexer.
。要查看本文中的示例,请搜索
selector\u lexer.xrl


它与
parser.yrl
的工作原理类似–您将获得名为
parser
的Erlang模块,您可以在Elixir中调用它作为
:parser.

它在哪里说的<代码>?Thing是Erlang中的宏替换。必须有一个相应的
-定义(东西)
。我可能误解了这篇文章。“其中?LEXER和?PARSER分别是leex和yecc生成的模块名。”这对我来说还不清楚,但它非常简单地描述了我引用的代码的作用:“这已将lexer语法转换为同名但结尾为.erl的Erlang模块。这可以编译为一个普通的Erlang模块。如果您使用项目源代码中提供的Makefile,那么整个步骤就完成了。”对于Erlang和Elixir来说,这仍然是新的,并且可能略过了这篇文章。
leex:file('lex')