【问题标题】:LL(1) table-driven compilers with ANTLR or ANTLR3具有 ANTLR 或 ANTLR3 的 LL(1) 表驱动编译器
【发布时间】:2012-03-27 15:50:14
【问题描述】:

是否可以使用 ANTLR 或 ANTLR3 创建 LL(1) 表驱动(非递归)编译器?

【问题讨论】:

    标签: compiler-construction antlr antlr3 ll non-recursive


    【解决方案1】:

    没有。

    但是,由于 ANTLR 是开源的,您可以修改 ANTLR 的一个分支来实现它。

    ANTLR 将词法分析器和解析器构建为递归下降源代码。这就是 ANTLR 易于使用和流行的原因,因为人们可以查看源代码并了解词法分析器和解析器的工作原理,而不是查看表条目。因为是源代码,所以也可以使用工具来调试源代码。如果 ANTLR 使用表格而不是源代码输出,那么对于那些自学词法分析和解析的人来说,它将失去其易于理解和实用性。

    【讨论】:

    • 你能告诉我一个 LL(1) 表驱动生成器(词法分析器、解析器、中间代码、源代码)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多