一,文法的定义
G=(VN,VT, P, S)
VT:终结符

a)字母表中排在前面的小写字母
b)运算符
c)标点符号
d)数字0到9
e)粗体字符串

VN:非终结符

a)字母表中排在前面的大写字母
b)字母S
c)小写斜体的名字
d)代表程序构造的大写字母,如E(表达式)T(项)F(因子)

VT并VN:表文法符号集
VT与VN不相交
P:产生式的集合(文法规则)

字母表中排在后面的大写字母(X,Y,Z)表示文法符号
字母表排在后面的小写字母(u,v ……z)表示终结符号串,包括空串)

α——>β
α属于(VN∪VT)+(并) ,β 属于(VN∪VT)*
S:开始符号,属于有VN
二,文法的分类
1.)0型文法

若文法G=(VN,VT, P, S)中的每条规则 α——>β 是这样一种结构:
α属于(VN∪VT)+ ,β 属于(VN∪VT)*
而且α中至少含一个非终结符, 则称G是0型文法。

0型文法没有加任何限制条件,又称为无限制性文法,相应的语言称为无限制性语言

型语言由图灵机识别
0型文法描述的语言是0型语言
2.)1型文法

若文法G=(VN,VT, P, S)中的每一条规则的形式为 αAβ 属于αμβ , 其中:
A属于VN ,α, β属于VN∪VT)* ,μ属于(VN∪VT)+
则称G是1型文法
要求:α中的个数不大于β中的个数

一般形式:α1Aα2——>α1βα2(β不包含空串)

1型文法也称为上下文有关文法, 相应的语言又称为上下文有关语言。
1型语言由线性界限自动机识别

3.)2型文法

若文法G=(VN,VT, P, S)中的每一条规则的
形式为 A -->β , 其中:
A属于VN ,β属于(VN∪VT)*
则称G是2型文法2型文法又称上下文无关文法,其产生的语言又称为上下文无关的语言

一般式:A–>β
要求:产生式的左部为非终结符
2型文法描述的语言是2型语言
2型语言由下推自动机识别
文法的定义与分类
4.)三型文法

若文法G=(VN,VT, P, S)中的每一条规形式
为:A ——>aB 或 A ——>a ,
其中: A , B属于VN, a 属于VT*, 则称G是右线性文法。(在终结符号串的右部增加一个非终结符)
若文法G=(VN,VT, P, S)中的每一条规则的形式
为A——> Ba 或 A ——>a ,
其中:A , B属于VN , a 属于VT*, 则称G是左线性文法

右线性文法和左线性文法都称为3型文法(正则文法)
3型文法也称正规文法。正规文法产生的语言称为正规语言。
三型文法是在二型文法的基础上要求产生式右边至少有一个终结符。

文法的定义与分类
文法的定义与分类
四种文法之间的关系
逐级限制

相关文章:

  • 2022-01-10
  • 2021-11-23
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
  • 2021-06-08
  • 2021-12-30
  • 2022-12-23
猜你喜欢
  • 2021-12-11
  • 2021-06-30
  • 2022-12-23
  • 2021-11-21
  • 2021-07-08
  • 2021-10-01
  • 2021-05-21
相关资源
相似解决方案