Grammar 创建上下文无关语法并平衡括号

Grammar 创建上下文无关语法并平衡括号,grammar,context-free-grammar,Grammar,Context Free Grammar,我需要为带有平衡圆括号的字母表{a,),(}构造一个上下文无关语法 我不确定平衡括号到底意味着什么,以及我如何为它构建上下文无关语法。如果有人能写下这方面的步骤,我将不胜感激。要给出一个粗略的递归解释,括号平衡通常意味着任何单词,如果限制在括号内,也可以 以开口括号开始,以尽可能多的闭合括号结束 是这些词的串联 通过在前面放一个开始的括号,在后面放一个结束的括号,从这些词中获得 这个想法可以形式化为上下文无关语法,如下所示 starting symbol: E terminal symbols:

我需要为带有平衡圆括号的字母表{a,),(}构造一个上下文无关语法


我不确定平衡括号到底意味着什么,以及我如何为它构建上下文无关语法。如果有人能写下这方面的步骤,我将不胜感激。

要给出一个粗略的递归解释,括号平衡通常意味着任何单词,如果限制在括号内,也可以

  • 以开口括号开始,以尽可能多的闭合括号结束
  • 是这些词的串联
  • 通过在前面放一个开始的括号,在后面放一个结束的括号,从这些词中获得
  • 这个想法可以形式化为上下文无关语法,如下所示

    starting symbol: E
    terminal symbols: a,(,)
    E => a
    E => Ea
    E => (E)
    E => EE
    

    根据解释,这里的上下文无关意味着产生式规则的左侧不包含终端符号,而只包含一个非终端符号。

    为了给出一个粗略的递归解释,括号的平衡通常意味着任何单词,如果限制为括号,则

  • 以开口括号开始,以尽可能多的闭合括号结束
  • 是这些词的串联
  • 通过在前面放一个开始的括号,在后面放一个结束的括号,从这些词中获得
  • 这个想法可以形式化为上下文无关语法,如下所示

    starting symbol: E
    terminal symbols: a,(,)
    E => a
    E => Ea
    E => (E)
    E => EE
    

    根据解释,这里的上下文无关意味着产生式规则的左侧不包含终端符号,而只包含一个非终端符号。

    您可以将最后一条规则简化为
    E=>EE
    。无需用括号括住
    E
    s。@blazs感谢您的提示。您可以将最后一条规则简化为
    >E=>EE
    。不需要用括号括住
    E
    s。@blazs谢谢你的提示。