上下文无关文法(CFG):一种形式文法,用规则来生成语言;其产生式(重写规则)左边只有一个非终结符,因此替换不依赖该符号所处的“上下文”。常用于描述编程语言语法、括号匹配结构,以及自然语言的部分句法现象。(也常简称 CFG)
/ˈkɑːntekst friː ˈɡræmər/
A context-free grammar can describe balanced parentheses.
上下文无关文法可以描述成对匹配的括号结构。
In compiler design, engineers use a context-free grammar to specify the syntax of a programming language before building a parser.
在编译器设计中,工程师会先用上下文无关文法来规定编程语言的语法,再据此构建语法分析器。
context-free 由 context(上下文)+ free(不受……限制)构成,表示“与上下文无关”;grammar 原指“语法/文法”。该术语在20世纪形式语言与自动机理论发展中被系统化,尤其与乔姆斯基(Noam Chomsky)的文法层级体系密切相关,用来区分不同表达能力的语言描述方式。