【问题标题】:antlr - generate grammar from java source codeantlr - 从 java 源代码生成语法
【发布时间】:2017-04-26 13:01:18
【问题描述】:

我想知道我是否可以从 java 源代码生成 ANTLR 语法。我想做一些研究项目,但我只是在探索不同的开源,看看哪个最好。

对于 ANTLR,我是否总是必须编写语法并将其传递给 ANTLR?

有没有办法从现有的 Java 源代码生成语法?

【问题讨论】:

    标签: antlr antlr4


    【解决方案1】:

    不容易。 ANTLR 从您的语法生成递归下降解析器,将测试编码为过程代码,以及许多其他簿记工作。

    知道代码是如何生成的,您或许可以将其拆开,但您必须深入到生成语句的中间,如果没有生成语言的完整解析器,这并不容易。 (提示:正则表达式不起作用)。

    我看不出这个练习有什么意义。为什么不用原来的语法?

    【讨论】:

    • Antlr 产生的抽象语法树有字符串 displayName/label。通常抽象语法树到解析树的转换需要业务上下文。将字符串显示名称映射到字符串会导致语法信息保存在 2 个位置。 1. dsl 文件 2.dsl 文件语法名称到业务上下文转换器。
    猜你喜欢
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多