编译器设计中的嵌套文法

Nested Grammars in Compiler Design

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

S => Eb
E => cA

分离语法:

A => d

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

谢谢。

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

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