第三章 文法和语言

文法通常用G表示,语言通常用L表示。

字母表和符号串
字母表和符号串是构成文法和语言必不可少的要素。
字母表是元素的非空有穷集合,字母表中的元素称为符号,字母表也叫符号集。
我第一次把字母表理解成为了26个英文字母
但是不同的语言可以有不同的字母表
所以字母表可以是数字、字母、符号、保留字等。
并非局限于字母。
符号串是字母表中的符号组成的任何有穷序列

规则
也称重写规则、产生式、生成式,形如a->b,读作“a定义成b”。

文法G定义为四元组(VN、VT、P、S)
VN:非终结符集
VT:终结符集
P:规则的集合
S:识别符或者开始符

直接推导和规约
形如a->b是文法G的生成式,v=yad,w=ybd
v直接推导出w,w直接规约到v,记作v=>w

正闭包与闭包
一个集合的闭包比正闭包多一个空串
正闭包用A+表示,闭包用A表示
所以有:A
=A(A+)=(A+)A

句型和句子
句子是句型的特殊形式
设G[s]是一文法,如果符号串x是从识别符号推导出来的,即有S=>*x,称x为文法G[s]的句型
若x仅由终结符组成,则为句子。

文法和语言的关系
给定文法,可以确定唯一的语言
给定语言,可以有不同的文法

文法的等价
文法的递归
文法的二义性

文法和语言的分类
设G=(VN、VT、P、S),产生式a->b
0型文法: 每个产生式,a属于(VN并VT)* 且至少含有一个非终结符,b属于(VN并VT)*
1型文法(上下文有关文法): |b|>=|a|,仅仅S->空串除外
2型文法(上下文无关文法): a是一个非终结符,b属于(VN并VT)*
3型文法(正规文法): ,每个产生式都是A->aB或A->a,其中AB都是非终结符

上一篇:解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题


下一篇:HDU 1009 FatMouse' Trade题解