编译原理----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型文法的限制是越来越大的:

相关推荐
徐*红7 分钟前
java 线程池
java·开发语言
尚学教辅学习资料7 分钟前
基于SSM的养老院管理系统+LW示例参考
java·开发语言·java毕设·养老院
2401_857636397 分钟前
计算机课程管理平台:Spring Boot与工程认证的结合
java·spring boot·后端
1 9 J9 分钟前
Java 上机实践4(类与对象)
java·开发语言·算法
Code apprenticeship10 分钟前
Java面试题(2)
java·开发语言
也无晴也无风雨1 小时前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
憨子周1 小时前
2M的带宽怎么怎么设置tcp滑动窗口以及连接池
java·网络·网络协议·tcp/ip
Martin -Tang2 小时前
Vue 3 中,ref 和 reactive的区别
前端·javascript·vue.js
霖雨3 小时前
使用Visual Studio Code 快速新建Net项目
java·ide·windows·vscode·编辑器
SRY122404193 小时前
javaSE面试题
java·开发语言·面试