- 博客(15)
- 收藏
- 关注
原创 编译原理课程总结
这学期,我们学了编译原理这门课,总的来说收获还是很大的。编译原理讲的什么呢?在我看来,简单地讲就是:语言的转换,即:把一些源程序,编译成我们需要的目标程序的过程。 通过这学期的学习,我发现了这门课的理论性很强,从文法和语言的概念到各种文法的分析,几乎都是队具体问题的抽象,由于对于各种概念性知识的理解浅薄,对各种抽象的知识很是难以理解,这让我们学习起来很是困难。尤其是LR文法哪...
2018-06-13 21:59:17
372
原创 编译原理第七章——语义分析和中间代码的产生
1、知识点图重点记忆:说明语句的翻译 程序语言中的说明语句都是给编译程序提供信息的,诸如类型、维数、每维的界种类等,因此一般不生成目标,只是在编译时把有关信息填入相应表格即可。赋值语句的翻译 1.简单算术表达式的赋值语句: 所谓简单指不考虑数组元素、记录、函数的引用等情况。控制流语句的翻译可以仿照算术表达式的翻译来进行。 例如 A∨B∧C=D可翻译成如下四元式序列: ...
2018-06-13 21:34:05
307
原创 编译原理第六章——属性文法和语法制导翻译
1、知识点图重点记忆:1.属性文法 1.1属性文法 是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关 的“值”(称为属性,代表与文法符号相关的信息,和变量一样,可以进行计算和传 递)。 1.2属性分类 1.2.1综合属性 用于“自下而上”传递信息 ...
2018-06-13 21:27:53
1462
原创 编译原理第五章—语法分析
1、知识点图重点记忆:、构造识别活前缀的NFA:1、构造文法的所有产生式的项目,每个项目都为NFA的一个状态。 2、确定初态、句柄识别态、句子识别态。 由于S′(起始符)仅在第一产生式的左部出现 ,因此规定起始符相关的项目1为初态 其余每个状态都为活前缀的识别态(终态) 圆点在最后的项目为句柄识别态 第一个产生式的句柄识别态为句子识别态 2、验证使用(习题处理):3、课堂感受: ...
2018-05-20 20:12:19
356
原创 编译原理第四章—语法分析
第四章1、知识点图重点记忆:语法分析器功能:语法分析的工作: 判断一个输入串是否符合语法规则如何判断? 从文法的起始符出发进行句子的推导,即自上而下的分析从句子本身出发,进行归约,看能否把句子规约为到起始符,即自下而上的规约分析的结果:构造一棵语法树自上而下分析面临的问题:1、文法的左递归问题2、回溯的不确定性,要求我们将已经完成工作推倒从来,3、虚假匹配的问题4、不能准确...
2018-04-27 22:26:54
223
原创 编译原理第三章-词法分析
第三章1、知识点图重点记忆:1、正规式与正规集词法分析器需要识别语言中具有不同特征的字 例如: 识别“标识符”、识别“数” ,等等。 我们可以把具有相同特征的字放在一起组成一个集合,即所谓的正规集 然后使用一种形式化的方法来表示正规集,即所谓的正规式 注意: 正规式是描述单词结构的一种形式; 正规集是该类单词的全集。正规式与正规集的定义(递归的定义方法) (1)ε和φ是∑上的正规式,它们...
2018-04-04 21:40:41
427
原创 编译原理第二章-高级语言及其语法描述
编译原理:语言的转换。第二章1、知识点图:~~~我感觉重要的知识:程序的层次结构:程序设计语言的定义:建立在有限字母集之上的一个符号系统,有一定的语法和语义规则语法规则:词法规则和语法规则语义规则:描述语法单位的功能和含义程序的功能是描述数据和对数据的运算上下文无关文法:文法是描述语言的语法结构的形式规则(即语法规则)上下文无关文法的特点 它所定义的语法范畴(或语法单位)是完全独立于这种范畴可能出...
2018-03-25 19:42:06
1596
原创 ACN总结报告
ACM总结报告关于学到的知识,先暂且留一下,先说说这学期的情况。还记得,刚开始时选择这门选修课,除了听说它对于我们计算机专业的来说很有用之外,就是听说它很难,想要挑战一下自我而已。想想,现在不由自主的想要笑起来。说实在的,对于这门选修课,我只仅限制于听了,因此,纵观此门课的这学期,我自以为不是很好,甚至可以说有点糟糕,可以说,自以为是了。说实在,我这个人很懒,又贪玩,因此,这学期对于老
2016-07-01 09:27:28
847
1
原创 编程练习3 1015
1、题目编号:10152、简单题意:输入十进制,输出二进制。3、解题思路及形成过程:4、感悟:5、代码:#includeusing namespace std;int main(){ int N,d,s,i,C; while(cin>>N) { C=0
2016-05-31 18:38:21
207
原创 编程练习3 1013
1、题目编号:10132、简单题意:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。3、解题思路及形成过程:先列举前10年,会发现一个问题,就是从第四年后,第n年等于第n-1年与第n-3年相加之和。
2016-05-29 20:25:40
174
原创 编程练习3 1010
1、题目编号:10102、简单题意:上楼梯,一次可以上1级,也可以上2级,你在第一级,给你一个M级,问有多少种方式。3、解题思路及形成过程:首先呢,你看到第二级有1中,到第三级有2中,以后的呢,经过观察,都可以由前两级想加,这样递推呢,都课由到第二第三级来组成。4、感悟:5、代码:#includeusing
2016-05-29 20:23:33
235
原创 1006
1、题目编号:10062、简单题意:一个电梯,从0层开始,上一层6s,中间停5s,下一层4s,给你一些数据,求总共需要多少时间。3、解题思路及形成过程:看好数据,一层一层计算就可以。4、感悟:5、代码:#includeusing namespace std;int main(){ int n,i,a,b,min;
2016-03-31 13:33:00
202
原创 1004
1、题目编号:10042、简单题意:给你N个节目,合理安排能看到的节目最多。3、解题思路及形成过程:先按节目结束时间排序,找最先结束的先看,然后再找开始时间再第一个结束后但结束时间除第一个外是最早结束的,依次寻找就是最优解。4、感悟:5、代码:#include#include#includeusing namespace std;
2016-03-31 13:24:38
226
原创 1000
1、题目编号:10002、简单题意:楼道房间搬桌子,1、2房间对门,依次总共200间,从f到t房间搬桌子时,中间楼道不能用了10min,给你多组数据,合理安排求最短时间。3、解题思路及形成过程:首先将房间号转化为楼道号,每次从房间f道t时,经过楼道号+1,取最多的楼道号经过的次数乘以10就是所需时间。4、感悟:转化一种方式,时间就能减半!5、
2016-03-31 13:23:27
170
原创 1001
1、题目编号:10012、简单题意:木棍修理,给若干,已知长短轻重,取一根,用一分钟,其他与之比较,如果比它长或相等且比它重或相等,则代替它继续比较,知道找不到,然后用剩余的依次比较,且时间加一分钟,以此类推,直至没有。3、解题思路及形成过程:首先观察题目,理解,先排序,从短到长,如相等,从轻到重。然后从第一个开始与后面的比较,找到符合的代替第一个,第一个消除,依次
2016-03-15 23:07:30
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人