编译原理----0型,1型,2型,3型文法

简介: 编译原理----0型,1型,2型,3型文法

0型文法:

解释: (左部)可以包含非终结符和终结符, (右部)可以包含非终结符和终结符,但是 (左部)中至少包含1个非终结符

符合:Ab-->b,B-->Bb

不符合:a-->b,ab-->BA,a-->bA

1型文法(上下文有关文法):

在0型文法的基础上,还需符号

 

解释:左部符号串长度必须小于右部符号串长度


符合:A--->bB        Aa--->abc        --->(特例)        aB--->


不符合:Ab-->c        Ba--->c        


2型文法(上下型无关文法):


在1型文法的基础上

符合:A--->aB        B--->BB        B-->ab

不符合:Ab--->aB        AA--->Ba        bb--->AB

3型文法(正规文法):

在2型文法的基础上

解释:产生式规则的右侧只能包含一个终结符后跟一个非终结符,或者只包含一个终结符,或者是空串。


右线性文法就是后半部分中非终结符在右侧,例如:A--->bA


左线性文法就是后半部分中非终结符在左侧,例如:B--->Ab


符合:A--->bA        B---->Ba        B---->BBa       A-->b


不符合:A--->AbB


从0型到3型文法描述能力是越来越小的:

即描述能力:0型>1型>2型>3型

从0型到3型文法的限制是越来越大的:

目录
相关文章
|
4月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c7、计算型c8a、计算型c8i、计算型c8y实例区别及选择参考
阿里云服务器计算型c7、计算型c8a、计算型c8i、计算型c8y是目前计算型实例规格中的热门实例规格,他们都同属于计算型实例,但是计算型c7属于第七代云服务器,而计算型c8a、计算型c8i、计算型c8y属于第八代云服务器,是最新一代的云服务器实例。本文将为大家展示这些实例规格之间的区别,以供参考和选择。
阿里云服务器计算型c7、计算型c8a、计算型c8i、计算型c8y实例区别及选择参考
|
5月前
|
C语言 C++
C++对C的改进和拓展\string类型
C++对C的改进和拓展\string类型
29 1
|
6月前
|
存储 编解码 网络协议
阿里云服务器计算型c7、计算型c7a、计算型c8a、计算型c8y实例区别及选择参考
在阿里云的活动中,属于计算型实例规格的云服务器一般会有计算型c7、计算型c7a、计算型c8a、计算型c8y这几个实例规格,与经济型e实例相比,这些实例均属于企业级实例,与通用算力u1实例相比的话这些实例规格等性能更强,这些计算型实例主要适用于网站应用、批量计算、视频编码等各种类型和规模的企业级应用,本文为大家介绍计算型c7、c7a、c8a、c8y实例区别,以供参考。
阿里云服务器计算型c7、计算型c7a、计算型c8a、计算型c8y实例区别及选择参考
|
6月前
|
存储 自然语言处理 编译器
C++新特性详细介绍 -----新基础类型
C++新特性详细介绍 -----新基础类型
|
6月前
|
C语言
循环类型
循环类型。
37 0
|
12月前
|
存储 安全 网络协议
阿里云服务器计算型c7、计算型c8a、计算型c8i实例区别及选择参考
阿里云服务器计算型c7、计算型c8a、计算型c8i是目前阿里云的活动中可选的计算型实例规格,他们都同属于计算型实例,但是计算型c7属于第七代云服务器,而计算型c8a、计算型c8i属于第八代云服务器,是最新一代的云服务器实例。那么它们之间具体有哪些区别呢?作为用户的我们应该如何选择呢?
312 0
阿里云服务器计算型c7、计算型c8a、计算型c8i实例区别及选择参考
5.3.2.2 操作字符串类型数据
5.3.2.2 操作字符串类型数据
54 0
|
存储 JSON 前端开发
【MySQL笔记】数字类型、时间和日期类型、字符串类型
在数据库中,经常需要存储一些数字,适合用数字类型来保存。数字类型包括整数类型、浮点数类型、定点数类型、BIT(位)类型。
33498 1
【MySQL笔记】数字类型、时间和日期类型、字符串类型
|
Java 容器
Java容器类型以及使用方法(1)
Java容器类型以及使用方法(1)