编译原理期末总结

news2024/10/2 20:32:43

思维导图:
在这里插入图片描述

引论

编译程序的过程:

词法分析——>语法分析——>语义分析——>中间代码生成——>代码优化——>目标代码生成

其中中间代码生成和代码优化不是必要的。

文法和语言

1.巨型和句子的区别
句型>句子,句子是终结符串,句型可以包含非终结符

2.文法等价:语言等价

3.什么样的文法是二义的

4.推导和规约
推到是自顶向下,右边代替左边;规约是自底向上,左边代替右边

5.文法的分类和对应的自动机
在这里插入图片描述

6.语法树
概念:句子,句型,句柄,短语
给出语言写文法,给出文法写语言

词法分析

1.知道二者表示的意义不一样
2.正规式的等级等于正规集的等价
3.DFA和NFA的区别:DFA初态唯一
4.初态双箭头表示,终态双括号表示
5.DFA的最小化,NFA的确定化
6.正规式,正规文法,自动机
7.每个
8.自动机到正规式的时候只要形成循环就是闭包
9.正规式到自动机的时候想要表示闭包不仅要形成循环,还有前后两条空弧
10.正规文法到自动机需要新增一个终态

自顶向下的语法分析

自底向上的语法分析

语义分析

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

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

相关文章

两周内创作纪念日——stay hungry stay foolish

📫作者简介:咸鱼爱搞机 📫 热衷分享,喜欢原创~ 关注我会给你带来一些不一样的认知和成长 🔥如果觉得此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主 机缘 说来也巧&…

LeetCode 1769. 移动所有球到每个盒子所需的最小操作数

【LetMeFly】1769.移动所有球到每个盒子所需的最小操作数 力扣题目链接:https://leetcode.cn/problems/minimum-number-of-operations-to-move-all-balls-to-each-box/ 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 0 表…

D. Vupsen, Pupsen and 0(思维 + 从小部分入手(由小推大))

Problem - 1582D - Codeforces Vupsen和Pupsen被赠予一个整数数组。由于Vupsen不喜欢数字0,他把数组中所有等于0的数字都扔掉了。结果,他得到一个长度为n的数组a。 相反,Pupsen喜欢数字0,当他看到没有0的数组时,他很…

【Linux系统】第三篇:Linux中软件包管理器yum的使用

文章目录一、yum1、 什么是软件包和软件包管理器2、 什么是yum3、 Linux下软件安装的几种方式4、 使用yum的注意事项5、 yum的使用二、Linux / Windows下的数据互传1、 lrzsz的安装2、rzsz工具3、将Windows的数据传到Linux中4、将Linux的数据传到Windows中三、yum源配置文件1、…

linux下命令操作

grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索 eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件 14. kill 可以杀死某个正在进行或者已经是dest状态的进程 eg; ps ax 15. passwd 可以设置口令 16. history 用户用过的命令 eg: …

光源基础(1)——常见光源性能比对和好图像评价指标

机器视觉系统的核心部分是:(1)图像的采集 (如何得到一幅好的图片)和(2)图像的处理(如何找到最有效率、最准确的算法) 所有的信息均来源于图像,图像质量对整个视觉系统极为关键。 目前视觉行业中用于图像处理…

nltk报错punkt 缺失 Error Loading Error11004

问题描述 在运行NLTK的时候报错了,找不到punkt 文件,运行代码nltk.dowload(punkt也是没有用。 后面手动安装好了punkt后又缺了averaged_percentage_tragger _ 最后还是手动下载最可行 ,报错截图如下, punkt Error 报错截图 averaged_percen…

小米8 SE刷机安卓13

警告:这些说明仅在您精确遵循每个部分和步骤时才有效。 失败后不要继续!基本要求 在实际遵循说明之前,请至少通读一次说明,以避免因错过任何步骤而导致的任何问题!确保您的计算机具有 adb 和fastboot。可以找到设置说明…

SpringSecurity(二十一)--OAuth2:实现资源服务器(中)实现带有JdbcTokenStore的黑板模式

一、前言 本章将实现授权服务器和资源服务器使用共享数据库的应用程序。这一架构方式被称为黑板模式。这一架构方式被称为黑板模式。为什么叫黑板模式呢?因为可以将其视为使用黑板管理令牌的授权服务器和资源服务器。这种颁发和验证令牌的方法的优点是消除了资源服…

_Linux (ipc命令)

ipcs 查看进程间通信资源/ipcrm 删除进程间通信资源 -m 针对共享内存的操作 ipcs -mipcrm -m shmid(例如下图的5) -q 针对消息队列的操作 -s 针对信号量的操作 -a 针对所有资源的操作 key 唯一值(共享内存名字)shmid 共享内存标识owner 共享内存拥有者名字perms 拥有者对共…

ISP-ASF

1. 概述 1.1 高频与低频区分: 如何区分图像的高频信息和低频信息,所谓高频就是该像素点与周围像素差异较大,常见于一副图像的边缘细节和噪声等;而低频就是该像素点与周围像素差异变化不大,一般体现为图像的平坦区&am…

关于使用pytorch-lightning版本过低的一些问题

今天run了一下这篇Aspect Sentiment Quad Prediction as Paraphrase Generation论文的代码,遇到的都是pytorch-lightning版本问题。 首先是安装pytorch-lightning pip3 install pytorch-lightning -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.…

HTML简单的个人博客网站 DIV学生网页设计作品 dreamweaver作业静态HTML网页设计模板 个人网页作业制作

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

卷起来了!熬夜学习阿里P8全彩版并发编程图册,涨薪就在眼前

并发编程可以总结为三个核心问题:分工、同步、互斥。 并发编程可以总结为三个核心问题:分工、同步、互斥。所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共…

一种基于物理信息极限学习机的PDE求解方法

**作者|**PINN山里娃,作者主页 **研究方向|**物理信息驱动深度学习 不确定性 人工智能 偏微分方程 极限学习机 该作者聚焦深度学习模型与物理信息结合前沿研究,提供了一系列AI for science研究进展报告及代码实现,旨在实现物理信息驱动深度学…

动态规划PTA总结

0动态规划 最优子结构&&最值问题&&重叠子问题 ---> 动态规划 引用别人的文章 1数字三角形 1.1题目 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下)&am…

HTML+CSS美食静态网页设计——简单牛排美食餐饮(9个页面)公司网站模板企业网站实现

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策

SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策 业务人员创建好了UB类型的转储单据后,试图执行事务代码VL10B,未能成功,报错如下: 报错信息:4500000246 00…

【数据结构】——带头双向循环链表

目录 1.带头双向循环链表 2.链表实现 2.1可完成带头双向可循环链表节点的结构体 2.2申请一个可双向循环的节点 2.3初始化链表 2.4尾插 2.5尾删 2.6头插 2.7头删 2.8打印 2.9查找(修改) 2.10在pos之前插入x 2.11删除pos位置 2.12判空 2.13记…

Springboot图书馆管理系统毕业设计、Springboot图书借阅系统设计与实现 毕设作品参考

功能清单 【后台管理员功能】 广告管理:设置小程序首页轮播图广告和链接 留言列表:所有用户留言信息列表,支持删除 会员列表:查看所有注册会员信息,支持删除 资讯分类:录入、修改、查看、删除资讯分类 录入…