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

相关推荐
wanhengidc3 小时前
云手机 巨 椰 三角洲行动
运维·服务器·科技·游戏·智能手机
武子康3 小时前
Java-181 OSS 实战指南:Bucket/外链/防盗链/计费与常见坑
java·大数据·分布式·oss·云存储·fastdfs·ali
聆风吟º3 小时前
【Spring Boot 报错已解决】告别“Whitelabel Error Page”:Spring Boot 404报错的排查指南
java·spring boot·后端
w10463672p3 小时前
java解析CSV文件(一)——Java使用Apache.Commons.CSV解析CSV文件应用实践
java·apache·springboot·csv
weixin_307779133 小时前
Jenkins Gson API插件:统一JSON处理的基础库
java·运维·开发语言·架构·jenkins
踢球的打工仔3 小时前
前端html(1)
前端·算法·html
yinmaisoft3 小时前
6 大数据库一键连!JNPF 数据中心数据源链接,表单数据互通无压力
前端·数据库·低代码·信息可视化
黛色正浓3 小时前
【React】极客园案例实践-发布文章模块
前端·react.js·前端框架
开发者小天3 小时前
react的组件库antd design表格多选,删除的基础示例
前端·javascript·react.js