编译原理
hibernate0
这个作者很懒,什么都没留下…
展开
-
编译原理第一章
编译原理讲的是将编写的高级语言源代码转化成机器语言的代码程序。原创 2018-03-19 09:12:14 · 373 阅读 · 0 评论 -
编译原理第七章感受
在这一章主要学习了语义分析和中间代码产生,在上一章学习了词法分析和语法分析之后,编译程序要做的工作就是进行静态语义检查和翻译。在静态语义检查包括类型检查,控制流检查,一致性检查,相关名字检查。之后对于中间代码的学习,中间语言的形式主要是,后缀式,三地址代码(包括三元式,四元式,间接三元式);通过对这些知识的学习,感觉对编译原理这门课有了一个更深的理解。...原创 2018-06-02 19:50:36 · 248 阅读 · 0 评论 -
编译原理第七章
一:语义分析概述语义分析任务1.审查每一个语法结构的静态语义,即验证语法正确的结构是否有意义。2.在语义正确的基础上生成一种中间代码或目标代码。语义分析范围1.确定类型:确定标识符所关联的数据类型。2.类型检查:按语言的类型规则,检查运算的合法性与运算分量类型的一致性,必要时作类型转换。3.识别含义:根据语言的语义定义(形式或非形式),识别程序中各构造成分组合到一起的含义,并作相应的语义处理4.控...原创 2018-06-02 19:42:06 · 594 阅读 · 0 评论 -
编译原理第六章感受
通过本章的学习,主要学习了语义分析及翻译的问题,首先是属性文法的基本概念,然后是基于属性文法的处理方法,自上而下的分析和自下而上分析中实现属性的计算。属性与变量一样都可以计算和传递,属性加工的过程即是语义处理的过程,对于文法的每个产生式都配备了一组属性的计算规则,称为语义规则。通过对这章的学习,让我对编译原理这门课产生了更加浓厚的兴趣。...原创 2018-06-02 19:24:04 · 185 阅读 · 0 评论 -
编译原理第六章
一:属性文法是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。属性:代表与文法符号相关的信息,和变量一样,可以进行计算和传递。(1)综合属性用于“自下而上”传递信息在语法树中,一个结点的综合属性的值,由其子结点的属性值确定(2)继承属性用于“自上而下”传递信息。在语法树中,一个结点的继承属性由此结点的父结点和/或兄弟结点的某些属性确定(2)继承属性用于...原创 2018-06-02 19:14:39 · 729 阅读 · 0 评论 -
编译原理第五章感受
自上而下分析法是一种“移进规约”法,用一个寄存符号的先进后出栈,把输入符号一个一个的移进到栈中,当栈顶形成某个产生式的一个候选式时,即把栈顶的一部分替换成该产生式的左部符号。自上而下分析的中心问题是,怎样判断栈顶的符号串的可规约性,以及如何规约,共同特点是边输入符号边规约,也就是从左到右进输入串的过程中,一旦发现可规约串即进行规约。所以这章与上一章的内容是一种相反的过程,这让我加强了对编译原理...原创 2018-05-14 18:53:14 · 168 阅读 · 0 评论 -
编译原理第五章
一.移进规约1.基本思想用一个寄存符号的先进后出栈,把输入符号一个一个地移进到栈里,当栈顶形成某个产生式的候选式时,即把栈顶的这一部分替换成(归约为)该产生式的左部符号。2.规约是指根据文法的产生式规则,把产生式的右部替换成左部符号。二.规范规约1.短语2.直接短语3.句柄三.修建语法树(1)子树:是由该树的某个结点(子树的根)连同它的所有子孙组成。 (2)简单子树:只有单层分支的子树(只有父子两...原创 2018-05-14 18:36:17 · 416 阅读 · 0 评论 -
编译原理第五章课后题
原创 2018-05-18 19:08:36 · 4768 阅读 · 1 评论 -
编译原理第四章课后题
原创 2018-04-27 12:41:02 · 8349 阅读 · 0 评论 -
编译原理第四章感悟
通过对第四章的学习,对于预测分析法的语法分析程序和递归子程序的区别与联系有了一定的了解,LL(1)分析法属于确定的自顶向下分析方法第一个L表明自顶向下分析是从左向右扫描输入串,第二个L表明分析过程将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式(规则)进行推导,并且LL(1)文法的判别需要依次计算FIRST集、FOLLOW集、SELLECT集,然后判断是...原创 2018-04-18 11:17:29 · 309 阅读 · 0 评论 -
编译原理第四章
1. 语法分析是编译过程的核心部分。它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。 2. 从文法的起始符出发进行句子的推导,即自上而下的分析从句子本身出发,进行归约,看能否把句子规约为到起始符,即自下而上的规约。 3.自上而下分析面临问题 1. 文法的左递归问题 2.回溯的不确定性,要求我们将已经完成工作推倒从来, 3.虚假匹配的问...原创 2018-04-18 11:02:12 · 641 阅读 · 1 评论 -
编译原理第三章课后题
原创 2018-04-04 18:05:26 · 9529 阅读 · 3 评论 -
编译原理第三章学习感想
这一章节我主要学习了正规式与有限自动机的相互转化。而状态等价的概念是 两个状态都能够在读出某个字而到停在状态。而对DFA的化简则需要检查转换函数是否是全函数,然后用化简算法进行化简,最后去掉死状态。DFA就是要将状态集进行分割,分割一些不相交的子集,并进行消去。而这一章主要让我对编译原理的概念又有了一个清晰的认识,正规是与有限自动机的相互转化,并确定DFA图,使我对这些抽象的概念更加具体...原创 2018-04-02 09:44:56 · 209 阅读 · 0 评论 -
编译原理第三章
一.1.词法分析任务: 从左至右逐个字符的对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为由单词符号串组成的程序。2.词法分析器的功能和输出形式 源程序——》词法分析器——》单词符号 1.单词符号 2.单词种类3.单词的表示形式 用二元式来表示 <单词种别,单词符号的属性值>单词符号的属性:指单词符号的特性或特征。单词符号的属性值:反映单词特...原创 2018-04-02 09:30:22 · 796 阅读 · 0 评论 -
编译原理课后习题
原创 2018-03-24 20:50:31 · 3350 阅读 · 0 评论 -
编译原理第二章学习感悟
学习感悟: 通过对这章的学习,让我对编译原理有了一定的了解,编译原理是一门理论性很强的学科,从文法的概念中,几乎都是对具体的高度抽象,因此需要更多的时间来掌握它,这门课程注重的是解决问题的思维方式和方法,编译原理带给我的不只是如何编译程序,更重要的是一种“自动计算”的方法,所以需要对这门课要有着兴趣,才可以很好的掌握这门课。...原创 2018-03-23 15:27:49 · 318 阅读 · 0 评论 -
编译原理
上下文无关文法:它定义的语法范畴(或语法单位)是完全独立于这种范畴可能出现的环境。例如,在程序设计语言中,当碰到一个算术表达式时,我们完全可以“就事论事”处理,而不必考虑它所处的上下文。然而,在自然语言中,随便一个词,甚至一个字的意思在不同的上下文中都有可能有不同的意思。幸运的是,当今的程序设计语言都是上下文无关的。 "→"表示箭头左边的由箭头右边的定义 把He gave me a bo...原创 2018-03-22 22:15:24 · 3035 阅读 · 1 评论 -
编译原理
上下无关文法1.终结符号 终结符号是一个语言不可再分的基本符号。2.非终结符号 非终结符号用来代表语法范畴,例如算法表达式,布尔表达式,赋值句,分程序,过程等3.开始符号 开始符号是一个非终结符号,称为句子。4.产生式 产生式是定义语法范畴的一种书写规则。5.语言文法G所产生的句子的全体是一个语言。...原创 2018-03-19 09:53:59 · 605 阅读 · 0 评论 -
编译原理最后总结
编译原理是我们计算机专业学生的一门必修课,这就说明了这门课对我们计算机每一个学生的重要性,编译原理旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。 在刚开始学习的时候,感觉这门课理论性真的是太强了,对一些概念完全理解不了,更别说做题了,在计算机上执行一个高级语言程序一般分为两步:第一步,用一个编译程序把...原创 2018-06-09 22:04:21 · 1286 阅读 · 0 评论