上下文无关文法 上下文无关文法英語contextfree grammar縮寫為CFG在计算机科学中若一个形式文法 G  V Σ P S 的产生式规则都取如下的形式A  α則謂之其中 AV αVΣ 上下文无关文法取名为上下文无关的原因就是因为字符 A 总可以被字串 α 自由替换而无需考虑字符 A 出现的上下文如果一个形式语言是由上下文无关文法生成的那么可以说这个形式语言是上下文无关的条目上下文无关语言 上下文无关文法重要的原因在于它们拥有足够强的表达力来表示大多数程序设计语言的语法实际上几乎所有程序设计语言都是通过上下文无关文法来定义的另一方面上下文无关文法又足够简单使得我们可以构造有效的分析算法来检验一个给定字串是否是由某个上下文无关文法产生的例子可以参见LR分析器和LL分析器 BNF巴克斯诺尔范式经常用来表达上下文无关文法