【问题标题】:Erlang and AntlrErlang 和 Antlr
【发布时间】:2010-12-28 11:16:08
【问题描述】:

是否可以为 Erlang 编写 Antlr 代码生成目标?

【问题讨论】:

  • 当然,您可以使用 ANTLR 编写任何编译器,但您需要该语言的语法
  • 如果您的意思是要生成 Erlang 代码以使用 Antlr 解析某些内容,那么可以,您可以编写一些内容来生成您想要的任何代码。

标签: erlang code-generation parsing antlr


【解决方案1】:

Erlang 带有自己的parse tools。但是它们使用自己的语法,因此您不能从 antlr 获取语法文件。

【讨论】:

    【解决方案2】:

    当然,ANTLR 是通用的。如果你真的想这样做,你应该看看Core Erlang language specification。请注意,它已经很老了,但对于初学者来说应该没问题。

    【讨论】:

    • 生成 Core erlang 比生成普通 erlang 更好,因为它是一种更小更简单的语言。我是为 LFE 做的。主要问题是它不像 erlang 那样稳定,因为他们倾向于将其视为内部编译器传递。不过,我正试图让他们改变这一点。
    【解决方案3】:

    这取决于你的意思。如果您的意思是要在 Erlang 中生成解析器和词法分析器源文件,那么不,这是不可能的(至少,不是开箱即用的*)。查看 ANTLR 的当前目标列表:http://www.antlr.org/wiki/display/ANTLR3/Code+Generation+Targets

    * 当然,您可能是实现它的人。但这绝非易事!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-09
      • 2011-04-01
      • 2011-10-24
      • 1970-01-01
      • 2017-12-20
      • 2011-03-28
      • 2011-07-01
      • 2019-05-26
      相关资源
      最近更新 更多