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

目录
相关文章
|
Rust 算法 Go
【密码学】一文读懂FNV Hash
FNV哈希全名为Fowler-Noll-Vo算法,是以三位发明人Glenn Fowler,Landon Curt Noll,Phong Vo的名字来命名的,最早在1991年提出。它可以快速hash大量的数据并保持较小的冲突概率,适合hash一些相近的字符串比如IP地址、URL、文件名等等。目前FNV算法有三个版本,分别是: FNV-0(已废弃)、FNV-1以及FNV-1a。这三个算法的结构非常相似,因此呢,在这里就一块说了。
5182 0
【密码学】一文读懂FNV Hash
【编译原理】语法分析:从顶向下、最左推导
【编译原理】语法分析:从顶向下、最左推导
|
Linux 虚拟化
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
|
Web App开发 开发工具 git
如何下载Github上的单个文件或者指定目录?
如何下载Github上的单个文件或者指定目录?
5525 0
如何下载Github上的单个文件或者指定目录?
|
7月前
|
JavaScript Shell API
阿里云百炼 API 调用教程:准备 API-Key、配置环境变量和调用 API 流程
在使用阿里云百炼平台的大模型能力时,API 调用是核心环节 —— 无论是开发 AI 应用、测试模型效果,还是搭建智能服务,都需要通过 API 将大模型能力集成到自己的系统中。不过对很多开发者来说,从准备密钥到实际调用的流程可能存在疑问,比如 “API-Key 怎么获取”“环境变量配置有什么用”“不同语言怎么写调用代码”。本文结合最新的实操细节,用通俗的语言把整个流程拆解开,从账号准备到多语言调用,每一步都附具体操作和代码示例,帮大家快速上手。
16949 113
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
62275 0
|
编译器
区分LR(0),SLR(1),LR(1)和LALR(1)
区分LR(0),SLR(1),LR(1)和LALR(1)
2859 1
|
5月前
|
存储 人工智能 弹性计算
阿里云服务器学生免费领取指南:2026年最新0元获得一台学生机教程
阿里云学生可免费领300元无门槛代金券,认证后用于购云服务器即0元入手!教程涵盖申请、认证及使用全流程。非学生亦享权益中心特惠机型,低至38元/年。详情见阿里云高校用云计划。
11635 18
|
Java 编译器 数据安全/隐私保护
Java 大学期末考试真题与答案 含知识点总结 重难点归纳及题库汇总 Java 期末备考资料
本文汇总了Java大学期末考试相关资料,包含真题与答案、知识点总结、重难点归纳及题库,涵盖Java基础、面向对象编程、异常处理、IO流等内容,并提供完整代码示例与技术方案,助你高效复习备考。
1292 3