用户工具

站点工具


上下文无关文法

上下文无关文法(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 也使用此方法定义语法。

参考

/opt/bitnami/dokuwiki/data/pages/技术/上下文无关文法.txt · 最后更改: 2019/12/30 04:10 由 superuser