上下文无关文法(context-free grammar)是一种句子生成的规则。
S → a S → aS S → bS
之所以为上下文无关是因为位于左侧的非终结符必定只有一个,能稳定推出右侧的结构。而不是像下面这样:
S → a S → aSc aS → cc S → bS
在计算机领域使用巴科斯范式(Backus–Naur form)定义编程语言的语法,例如:
<literal> ::= '"' <text1> '"' | "'" <text2> "'" <text1> ::= "" | <character1> <text1> <text2> ::= '' | <character2> <text2> <character> ::= <letter> | <digit> | <symbol>
ECMA 262 也使用此方法定义语法。