编译原理第三章

编译原理第三章

  • 3.1_正规文法和状态转换图
    • (1)构造状态转换图
    • (2)状态矩阵
  • 3.2_有限自动机
    • 3.2.1_确定的有限自动机DFA
    • 3.2.2_非确定的有限自动机NFA
  • 3.3_NFA转换为DFA(NFA确定化)
    • 3.3.1_无ε动作的NFA确定化
    • 3.3.2_有ε动作的NFA确定化
  • 3.4_DFA最小化
  • 3.5_正规表达式和正规集

3.1_正规文法和状态转换图

(1)构造状态转换图

1、对于G中每一个形如A——>aB的产生式,从结点A引一条矢线到结点B,并用符号a标记这条矢线
即A—a—>B
在这里插入图片描述

2、对于G中每一个形如A——>a的产生式,从结点A引一条矢线到结点F,并用符号a标记这条矢线
即A—a—>F
在这里插入图片描述

(2)状态矩阵

状态矩阵:Bij=B[Si,aj],其中Si为状态图中各状态,aj为各输入符号,总元素个数=|VN|×|VT|

3.2_有限自动机

3.2.1_确定的有限自动机DFA

在这里插入图片描述

3.2.2_非确定的有限自动机NFA

在这里插入图片描述

3.3_NFA转换为DFA(NFA确定化)

3.3.1_无ε动作的NFA确定化

在这里插入图片描述

3.3.2_有ε动作的NFA确定化

在这里插入图片描述

3.4_DFA最小化

DFA状态数最小化算法:
(1)将状态集K划分为终态子集Z和非终态子集K-Z, 记为π={Z, K-Z}
(2)对当前中的每个子集,检查其中每个状态对识别相同字符是否具有同样的映射(即是否能够映射到π中的同一个集合),将映射到不同状态子集的称为可以区分的,将其按映射关系进行分裂,产生新的状态子集集合,记为πnew。 .
(3)若πnew <> π, 重复(2),直至各子集都不能继续划分。
(4)对最终划分II的每个状态子集,取其中任一状态作为该子集的代表状态,将原来射入该子集的所有矢线改为射入此代表状态。取含有原任一终态的子集作为新的终态。
在这里插入图片描述

3.5_正规表达式和正规集

在这里插入图片描述

(1)正规式:将文法的终结符号用以上三种运算符连接起来组成的正规文法的表达式,是另- -种用于描述正规文法的直观表示。
例如语法范畴<标识符>的正规表达式为:字母(字母|数字) *
(2)正规集:正规式所描述的字符串的集合。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ftp上传和下载命令

2019独角兽企业重金招聘Python工程师标准>>> 假设有一目标FTP服务器&#xff0c;IP&#xff1a;123.123.123.123&#xff0c;用户名&#xff1a;ftpname 密码&#xff1a;ftppwd。当前要通过命令行将D:\ftpin目录下的file.doc上传到目标服务器&#xff0c;从服务器下…

《算法导论》学习笔记——快速排序

快速排序 1.快速排序原理 快速排序是一种应用很广泛的排序算法&#xff0c;与归并排序类似&#xff0c;快速排序也采用了分治策略。对于一个待排序的数组A[p...r]进行快速排序&#xff0c;根据分治思想&#xff0c;可以分为如下三个步骤&#xff1a;   - 分解&#xff1a;数组…

JavaTCP连接

输入输出操作 可以这样理解&#xff1a; BufferedReader/BufferedWriter使用三部曲&#xff1a; 服务器操作 import java.io.*; import java.net.ServerSocket; import java.net.Socket;public class Server {private static int port 8002;//设置端口号public static v…

Java API概述及应用

Java API概述及应用5.1_Scanner和Random的使用&#xff08;1&#xff09;Scanner&#xff08;2&#xff09;Random生成随机数5.2_ArrayList集合的使用&#xff08;1&#xff09;ArrayList的定义及限制&#xff08;2&#xff09;函数调用&#xff08;3&#xff09;字符串字符串加…

有重复数字的组合问题_带数字重复的组合和问题

有重复数字的组合问题Description: 描述&#xff1a; This is a standard interview problem to make some combination of the numbers whose sum equals to a given number using backtracking. 这是一个标准的面试问题&#xff0c;它使用回溯功能将总和等于给定数字的数字进…

第四章语法分析和语法分析程序

第四章语法分析和语法分析程序4.1_自顶向下的语法分析4.1.1_自顶向下分析过程的基本特点①消除文法直接左递归②回溯的消除及LL(1)文法4.1.2_递归下降法4.1.3_预测分析法&#xff08;也叫LL1法&#xff0c;注意分析过程中非终结符号逆序入栈&#xff09;4.2_自底向上的语法分析…

实战:RediSearch 高性能的全文搜索引擎

RediSearch 是一个高性能的全文搜索引擎,它可以作为一个 Redis Module(扩展模块)运行在 Redis 服务器上。 RediSearch 主要特性如下: 基于文档的多个字段全文索引高性能增量索引文档排序(由用户在索引时手动提供)在子查询之间使用 AND 或 NOT 操作符的复杂布尔查询可选的…

智能优化算法应用:基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.法医调查算法4.实验参数设定5.算法结果6.…

java线程的5个使用技巧

Java线程的5个使用技巧 Published: 21 Jan 2015 Category: java Java线程有哪些不太为人所知的技巧与用法&#xff1f; 萝卜白菜各有所爱。像我就喜欢Java。学无止境&#xff0c;这也是我喜欢它的一个原因。日常工作中你所用到的工具&#xff0c;通常都有些你从来没有了解过的东…

算法复习第五章贪心法

算法复习第五章贪心法概述TSP最近邻点策略最短连接策略图着色问题最小生成树&#xff08;Prim算法、Kruskal&#xff09;0-1bag问题活动安排问题多机调度概述 TSP 最近邻点策略 最短连接策略 图着色问题 最小生成树&#xff08;Prim算法、Kruskal&#xff09; 0-1bag问题 活动…

c语言putchar函数_C语言中的putchar()函数与示例

c语言putchar函数C语言中的putchar()函数 (putchar() function in C) The putchar() function is defined in the <stdio.h> header file. putchar()函数在<stdio.h>头文件中定义。 Prototype: 原型&#xff1a; int putchar(const char *string);Parameters: co…

算法复习第六章第七章

算法复习第六章第七章第六章回溯法TSP问题0-1bag问题图着色问题八皇后问题第七章分支限界法0-1bag问题TSP问题第六章回溯法 TSP问题 0-1bag问题 图着色问题 八皇后问题 第七章分支限界法 0-1bag问题 TSP问题

扫描识别系统

扫描识别系统&#xff0c;是指能够利用扫描仪进行扫描的相关文件&#xff0c;比方普通文档&#xff0c;政府公文&#xff0c;二代身份证&#xff0c;条码……等等。通过扫描仪扫描后不单单生成常见的JPG&#xff0c;PDF等格式的图像。而是利用先进的OCR技术&#xff0c;进行相关…

Python正则表达式指南上半部

本文介绍了Python对于正则表达式的支持&#xff0c;包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式&#xff0c;这些主题请查看其他教程。注意&#xff1a;本文基于Python2.4完成&#xff…

算法复习第三章分治法

算法复习第三章分治法循环日程表最近点对快速排序&#xff1a; 循环日程表 最近点对

算法复习第四章动态规划

算法复习第四章动态规划动态规划TSP问题0-1bag动态规划 TSP问题 0-1bag 最长公共子序列不考&#xff1a;

操作系统Ubuntu(实验三四)

实验三四3._实验三&#xff1a;Linux进程/线程的异步并发执行3.1_fork()函数创建子进程3.2_创建线程pthread_create();4._实验四&#xff1a;使用信号量进行互斥与同步4.1_信号量初使用&#xff08;1&#xff09;信号量简单介绍&#xff08;2&#xff09;信号量以及P、V操作的使…

实战:Redis哨兵模式(上)

上一篇我们讲了主从复制模式,它是属于 Redis 多机运行的基础,但这种模式本身存在一个致命的问题,当主节点奔溃之后,需要人工干预才能恢复 Redis 的正常使用。 例如,我们有 3 台服务器做了主从复制,一个主服务器 A 和两个从服务器 B、C,当 A 发生故障之后,需要人工把 B…

计算机网络(第四章网络层)

第四章网络层4.1_网络层提供的两种服务&#xff08;1&#xff09;虚电路服务&#xff08;2&#xff09;数据报服务4.2_网络协议4.2.1_虚拟互连网络4.2.2_分类的IP地址&#xff08;1&#xff09;分类IP地址三种分类方法IP 地址的一些重要特点4.2.3_IP地址与硬件地址4.2.4_地址解…

实战:Redis 主从同步

主从同步(主从复制)是 Redis 高可用服务的基石,也是多机运行中最基础的一个。我们把主要存储数据的节点叫做主节点 (master),把其他通过复制主节点数据的副本节点叫做从节点 (slave),如下图所示: 在 Redis 中一个主节点可以拥有多个从节点,一个从节点也可以是其他服务…