当一种语言被认为上下文免费时?
此外,上下文无关语言和上下文无关语法之间有什么区别?
答案 0 :(得分:4)
Context Free Language是一种语言(即可能是无限的字符串集),可以由Context Free Grammar生成。通常,也可以使用非上下文无关语法生成完全相同的语言,但这是无关紧要的:如果存在生成语言的单个无上下文语法,则语言无上下文。
无上下文语法是一种语法,其中每个产品在左侧都有一个非终端。它是无上下文的,因为生产中的非终端可以扩展而不考虑它出现的上下文。上下文相关语法可能在作品的左侧有多个符号,因此包括非终端只有在正确的上下文中才能展开的情况。
答案 1 :(得分:0)
有pumping lemma for context-free languages的概念。这是一个引理,它提供了所有无上下文语言共享的属性。
如果存在CFG
wiki说: -
在形式语言理论中,无上下文语言(CFL)是一种语言 由一些无上下文语法(CFG)生成。不同的CF语法 可以生成相同的CF语言,或相反,生成给定的CF语言 可以由不同的CF语法生成。重要的是要 区分语言的属性(内在属性) 特定语法的属性(外在属性)。
所有无上下文语言的集合与集合相同 由下推自动机接受的语言,这些语言就是这些语言 适合解析。实际上,鉴于CFG,有一种直接的方法 为语法产生一个下推自动机(和相应的 语言),虽然走另一条路(产生一个语法给出一个 自动机)并不直接。