跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
GSXAB的知识库
搜索
搜索
外观
登录
个人工具
登录
Advertising:
查看“︁上下文无关文法”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
刷新
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
上下文无关文法
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:形式语言]] {{InfoBox |name=上下文无关语言 |eng_name=context-free language }} {{InfoBox |name=上下文无关文法 |eng_name=context-free grammar |aliases=CSG }} {{InfoBox |name=2型语言 |eng_name=type-2 language }} {{InfoBox |name=2型文法 |eng_name=type-2 grammar }} '''上下文无关文法'''('''context-free grammar''', '''CFG''')指一种[[形式语言]]的[[生成文法]],要求每个符号生成其他符号时,生成规则固定,不依赖于上下文其他符号。是 [[Chomsky 生成语法理论]]中的'''2 型文法'''('''type-2 grammar''')。上下文无关字面意义上地意味着这个语言中任何非终结符被重写为其他符号串时不会受到上下文的其他符号影响。 == 定义 == 若生成文法中,全部文法均有形式: <math>A \rightarrow \alpha</math> 其中, <math>\alpha</math> 为任意终结符和非终结符构成的序列, <math>A</math> 为一个非终结符, 则称该文法为一种'''上下文无关文法'''('''context-free grammar''', '''CFG'''),由这种文法生成的语言称为'''上下文无关语言'''('''context-free language''')。 有些定义中也允许添加 <math>S\rightarrow \epsilon</math> 来允许概念范围中允许任意符号生成空串。 === 说明 === 以上为形式化定义。通俗地说,上下文无关文法的含义是,文法中每个非终结符一定可以被展开生成其他文法符号串,且这一展开规则不受上下文中的其他序列影响。 与[[上下文有关文法]]相比,上下文无关文法的展开方式完全不依赖上下文,每个非终结符总是有固定的展开方式。 上下文无关文法对于非终结符生成后的内容没有要求,如果要求右侧只能是一个终结符或者非终结符加一个终结符, 也就是说每次或者减少一个可展开文法符号,或者只向符号串中增加一个不可展开的文法符号,就得到了更加严格的[[正则文法]]。 == 性质 == 上下文无关语言的: * [[Kleene 闭包]] * [[连接]] * [[并集]] * [[代换、逆代换(语言)|代换、逆代换]] 都仍然是上下文无关的。 == 自动机等价 == 上下文无关文法的表达能力等价于 [[Backus–Naur 范式]]。
返回
上下文无关文法
。
Advertising: