Parsing 编译器设计中的嵌套语法

Parsing 编译器设计中的嵌套语法,parsing,compiler-construction,context-free-grammar,Parsing,Compiler Construction,Context Free Grammar,这似乎是一个简单的问题,但我在任何地方都找不到一个很好的解释。如何处理嵌套语法[cfgs](又称引用其他语法的语法)例如 S => Eb E => cA 单独语法: A => d 这可能吗?如果没有,如何处理这个问题。对于语法,比如变量声明,是否需要简单地重写与主语法相关联的表达式语法,或者可以从主语法引用它们?如果是这样的话,如何将此功能正确地集成到LL(1)解析器中 谢谢。我相信您的问题是关于物理分离,在这种情况下,您可以将所有内容合并在一起,形成完整的主语法 从概念上

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

S => Eb
E => cA
单独语法:

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


谢谢。

我相信您的问题是关于物理分离,在这种情况下,您可以将所有内容合并在一起,形成完整的主语法


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

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