【问题标题】:Role of empty string in ambiguous grammar?空字符串在歧义语法中的作用?
【发布时间】:2021-12-26 07:18:10
【问题描述】:

我对空字符串在这种模棱两可的语法中的作用有点困惑:

A' -> A
A -> if A B
A -> null
B -> empty string
B -> else S

那么 B -> 空字符串是什么意思/做什么?这是否意味着B可以过渡到A?而“if”、“else”、“null”都是终结符,那么空字符串是什么?

【问题讨论】:

    标签: context-free-grammar context-free-language


    【解决方案1】:

    这意味着B 可以替换为空。 B 的另一个产生式允许将其替换为 else S (尽管我怀疑这是一个错字,因为 S 没有在任何地方定义)。换句话说,在if 语句中,“else”子句是可选的。

    请注意,上下文无关文法中的产生式不是状态转换。如果语法是规则的,那么有一种相当简单的方法可以创建状态机,但是您的语法不规则;在常规语法中,没有产生式有两个非终结符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多