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

相关推荐
小村儿9 分钟前
(译文)重温:Karpathy 的 4 条 CLAUDE.md 规则将 Claude 错误率从 41% 降至 11%——历经 30 个代码库后,我又加了 8 条
前端·后端·ai编程
前端那点事11 分钟前
Vite+Vue3环境判断终极解法!区分开发/生产环境,告别环境报错
前端·vue.js
源码集结号13 分钟前
基于 Spring Boot + JPA + MySQL的上门家政系统代码示例
java·前端·后端
爱喝铁观音的谷力景辉16 分钟前
web端实现音频波形分析以及音频截取
前端
前端那点事21 分钟前
别再乱用Vue3路由!useRoute/useRouter传参、跳转、避坑最全实战指南
前端
程序员老邢1 小时前
【技术底稿 32】Nginx 经典大坑复盘:本机公网域名自环代理,导致接口返回首页 / 404 实战排障
java·运维·nginx·前后端分离·技术底稿·后端部署
сокол1 小时前
【网安-Web渗透测试-内网渗透】局域网ARP攻击与DNS劫持
服务器·网络·网络安全
LIO1 小时前
深度解析 localStorage 与 sessionStorage:用法、区别与最佳实践
前端
Amy_yang1 小时前
uni-app 中 web-view 的使用与 App 端全屏问题处理
前端·javascript·vue.js
闲坐含香咀翠1 小时前
Electron 加载原生模块总崩溃?搞懂这两行配置就够了
前端·electron·客户端