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

相关推荐
sjmaysee5 分钟前
Java框架SpringBoot(一)
java·开发语言·spring boot
寒秋花开曾相惜8 分钟前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)
java·开发语言·笔记·学习·算法
想唱rap15 分钟前
Linux线程
java·linux·运维·服务器·开发语言·mysql
golang学习记25 分钟前
IDEA 2026.1官宣:AI 建议免费了!
java·ide·intellij-idea
JFSJFX32 分钟前
手机短信误删怎么办?这4种恢复办法亲测有效,轻松找回短信
运维·服务器
猩猩程序员44 分钟前
Pretext:一个绕过 DOM 的纯 JavaScript 排版引擎
前端
竹林81844 分钟前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑实录
前端·javascript
cccccc语言我来了1 小时前
Linux(9)操作系统
android·java·linux
神舟之光1 小时前
jwt权限控制简单总结(乡村意见簿-vue-express-mongdb)
前端·vue.js·express
东离与糖宝1 小时前
金三银四Java校招面经:从双非到大厂Offer,我只准备了这些
java·面试