编译原理
文章平均质量分 51
子衿JDD
JDD学习备忘录
展开
-
【编译原理复习】第十章——优化
第十章——优化作业题原创 2021-11-22 21:07:09 · 1285 阅读 · 2 评论 -
【编译原理复习】第九章 运行时存储空间组织
第九章 运行时存储空间组织运行时存储器的划分策略:静态存储分配栈式存储分配堆式动态存储1. 静态存储分配2. 栈式存储分配3. 堆式动态存储原创 2021-11-22 17:42:20 · 2079 阅读 · 0 评论 -
【编译原理复习】第八章 符号表
第八章 符号表【了解一下就行】原创 2021-11-22 15:38:34 · 358 阅读 · 0 评论 -
【编译原理复习】第七章 语义分析和中间代码产生
第七章 语义分析和中间代码产生本章感觉有点难,看得不太懂,谁有好的资料,欢迎分享;按我的思路整理,重点如下:三地址代码、四元式序列适用于一遍扫描分析的回 填技术。用回填技术实现布尔表达式和控制流语句的翻译。翻译为中间语言的好处(1)便于进行与机器无关的代码优化;(2)使编译程序改变目标机更容易;(3)使编译程序的结构在逻辑上更为简单明确,以中间语言为界面,编译前 端和后端的接口更清晰。1.中间语言1.1后缀式1.2抽象语法树与DAG(Directed Acyclic Graph原创 2021-11-22 15:01:32 · 2630 阅读 · 0 评论 -
【编译原理复习】第六章---- 属性文法和语法制导翻译
第六章 属性文法和语法制导翻译本章主要掌握下面一些内容。1.语义规则的两种描述方法:语法制导的定义和翻译方案。语法制导的定义没有指明语义规则的计算次序,而翻译方案显式给出语义规则( 或叫语义动作)的计算次序和位置。2.综合属性,继承属性3.综合属性定义(S属性定义)和L属性定义。4.设计简单问题的语法制导定义和翻译方案,这是本章的重点和难点。这种设计可看成是一种程序设计,是一种事件驱动形式的程序设计,因此它比一般的编程要 难得多。这里的事件是句子中各种语法结构的识别。1.1 语法制导的定义语法原创 2021-11-21 17:49:23 · 6840 阅读 · 0 评论 -
【编译原理复习】第五章 语法分析—自下而上的分析
标题第五章 语法分析—自下而上的分析【题型一】:1 .给出一句型求最右推导2. 求短语、直接短语、句柄【题型二】:拓广文法并编号构造识别文法活前缀的DFA M求非终结符的 FOLLOW集SLR(1)分析表判断是否为SLR(1)文法1.1归约的概念1.2 规范归约利用语法分析树找短语、直接短语和句柄对于短语、直接短语、句柄的寻找,可以检查语 法树中从根结点开始出发向下,找每一非终结符 的所有叶子结点,将这些结点从左到右组成串, 这些串就是该句型的所有短语,其中相对于叶子 结原创 2021-11-20 22:16:45 · 2508 阅读 · 0 评论 -
【编译原理复习】第四章 ---语法分析—自上而下
语法分析—自上而下解决一道文法题的步骤构造LL(1)文法文法符号的FIRST集 合和FOLLOW集合画预测分析表原创 2021-11-20 17:20:07 · 2101 阅读 · 0 评论 -
【编译原理复习】第三章-词法分析
第三章-词法分析1.正规式 正规集(1)ε、Φ都是∑上的正规式,它们所表示的正规集分别为{ε}和Φ;(2)任何a∈∑,a是∑上的一个正规式,它所表示的正规集为{a};(3)如果U、V都是∑上的正规式,它们所表示的正规集分别记为L(U)和L(V),那么,(U|V)、(UV)和(U) * 也是正规式,它们所表示的正规集分别为 L(U)∪L(V)、L(U)L(V)和(L(U))*;仅由有限次使用上述步骤而得到的表达式才是∑上的正规式;仅由这些正规式所表示的字集才是∑上的正规集。【例子】:令∑={a原创 2021-11-18 19:46:36 · 1303 阅读 · 0 评论 -
编译原理---词法分析器
词法分析器代码在最后要求该词法分析器能够读入使用PL/0语言书写的源程序,输出单词符号串及其属性到一中间文件中,具有一定的错误处理能力,给出词法错误提示(需要输出错误所在的行列)。效果展示报错有非法字符、表示符不能以数字加字母的形式、“:=”超前搜索不能只是“:“。报错显示某行某列。测试文本1.txt 生成的是2.txt4.文件1.txt 用于分析》var 58m, n, r, q;procedure gcd;begin(9)while r>=0 do原创 2021-11-01 20:41:33 · 1666 阅读 · 0 评论 -
编译原理作业---语义分析和中间代码的产生
用7.5.1节的办法,[7.5.1]把下面的语句翻译成四元式序列:答案已知C语言for语句文法:G(S): S→for(E1;E2; E3)S1(1) 构造两遍扫描的属性文法(2) 构造一遍扫描的翻译模式详细解答...原创 2021-10-29 02:50:14 · 2878 阅读 · 2 评论 -
编译原理作业--翻译模式
1、已知文法G(S):S → aAbAA → aSb | bSa | a写一翻译方案,统计输入句子中a和b的个数。2、已知文法G§:P→DD→D;D|id:T|proc id;D;S(1) 写一个翻译方案,打印该程序一共声明了多少个id。(2) 写一个翻译方案,打印该程序每个变量id的嵌套深度。...原创 2021-10-21 19:23:52 · 8067 阅读 · 5 评论 -
编译原理作业——语法分析——自下而上
论述题已知文法G(E):E→EE*|EE+|a(1)请给出符号串Eaa*a++的最右推导;(2)给出其所有的短语、直接短语、句柄。 设有文法G(P):P→aPb|Q Q→bQc|bSc S→Sa|a(1)试构造其识别活前缀的DFA M。(2)构造其SLR分析表,判断G(P)是否为SLR(1)文法。设有文法G(A):A→BA|i B→AB|j(1)试构造其识别活前缀的DFA M。(2)构造其SLR分析表,判断G(A)是否为SLR(1)文法。...原创 2021-10-12 17:11:04 · 2869 阅读 · 4 评论 -
编译原理作业—语法分析---自上而下
原创 2021-10-11 15:53:06 · 1200 阅读 · 0 评论 -
【一张图了解】编译原理——第二章--高级语言及其语法描述
目录详情原创 2021-10-09 20:32:58 · 333 阅读 · 0 评论 -
编译原理作业—词法分析
1.已知正规式:r=(a*b)ba(a|b) 给出与之等价的最小DFA2.已知正规式:r=b*(a|bbb*)b* 给出与之等价的最小DFA3.已知语言为:由0和1构成,能够被四整除的二进制串,且不以0开头。(1)给出其正规式(2)给出其最小DFA4、一个人带着狼、山羊和白菜在一条河的左岸。有一-条船,大小正好能装下这个人和其它三件东西中的一一件。人和他的随行物都要过到河的右岸。人每次只能将- -件东西摆渡过河。但若人将狼和羊留在同一岸而无人照顾的话,狼将把羊吃掉。类似地,若羊和白菜留下来无人原创 2021-09-26 14:17:00 · 3795 阅读 · 2 评论 -
一张图了解编译程序-----第一章--引论--思维导图
引论1.编译程序的概念及功能1.1.为什么要用编译器编译器中的编译程序要把高级语言翻译成机器语言,机器语言能运行1.2.翻译程序接受某种语言的源语言程序后,将它改造成另一种逻辑上等价的目标语言程序。汇编程序:源语言为汇编语言,目标语言为机器语言的翻译程序。1.3.编译程序源语言为高级语言,目标语言是低级语言(汇编或机器语言)的翻译程序,而后者与前者在逻辑上是等价的。宿主机:运行编译程序的计算机目标机:运行编译程序产生目标代码的计算机 。编译程序实现语言:用于生成编译程序的语言。1.4原创 2021-09-17 01:27:28 · 3864 阅读 · 0 评论 -
编译原理作业----高级语言及其语法分析
写一个上下文无关的文法G,使得L(G)=写一个上下文无关文法使其语言为:原创 2021-09-14 13:32:08 · 1185 阅读 · 0 评论 -
编译原理作业
(简答题) 简述什么是编译的前端和后端,及为什么要把编译的过程划分为前端和后端?前端主要由与源程序有关但与目标机无关的那些部分组成。这些部分通常包括词法分析、语法分析、语义分析与中间代码的产生,有点代码优化工作也可包括在前端。后端包括编译程序中与目标机有关的那些部分,如与目标机有关的代码优化和目标机的生成等。将编译过程划分成前端和后端,主要目的是在多种源语言和多种目标语言的开发过程中,可以灵活搭配组合,消除重复开发的工作量,提高编译系统的开发效率。(简答题) 在编译过程中采用哪些技术手段可以实.原创 2021-09-06 16:12:00 · 3251 阅读 · 0 评论