【问题标题】:Nested Grammars in Compiler Design编译器设计中的嵌套语法
【发布时间】:2017-10-04 05:33:10
【问题描述】:

这似乎是一个简单的问题,但我在任何地方都找不到很好的解释。你如何处理嵌套语法 [cfgs](也就是引用其他语法的语法。)例如,

S => Eb
E => cA

分离语法:

A => d

这可能吗?如果没有,一种方法如何处理这个问题。对于像变量声明这样的语法,是否需要简单地重写与主语法相关的表达式语法,或者可以从中引用它们?如果是这样,如何将此功能正确集成到 LL(1) 解析器中。

谢谢。

【问题讨论】:

  • A => d 不是“单独的语法”。从逻辑上讲,它是第一个语法的一部分,否则它是不完整的。

标签: parsing compiler-construction context-free-grammar


【解决方案1】:

我相信你的问题是关于物理分离,在这种情况下你可以合并在一起形成一个完整的主要语法。

从概念上讲,缺少规则的语法将被视为不连贯且无效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2011-06-11
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多