编译原理这门课涉及到了计算机理论的很多内容,这些内容对于我们计算机专业的学生非常重要。通过一个学期,七个章节的学习,使我对编译原理这门课有了一个基本的认识。
第一章引论
|---了解了什么是编译程序;
|---编译程序的结构及每部分的作用(重点);
编译程序就像我们要翻译外国文档一样,首先读文章(词法分析),然后查单词(语法分析),单词连起来分析句子(语义分析),初步翻译(中间代码生成),对句子进行润色(代码优化),翻译出来形成文档(目标代码)。
第二章 高级语言及其语法描述 (重点)
|---高级语言概述;
|---文法的基本概念;
|---文法类型(0、1、2、3);
|---文法和语言的形式定义(重点);
|---用语法树进行句型分析;
第三章 词法分析(重点)
输入源程序,对符号串进行扫描分解,识别出单词;
|---词法分析器的功能和形式;
|---词法分析器设计原理;
|---单词描述工具;
|---正规文法、正规式、有限自动机概念及相互转换(重点);
|---利用状态转换图进行词法分析器设计;
第四章 语法分析——自上而下分析(重点)
语法分析是编译过程的核心部分,其任务是在词法分析的基础上,分析并判定程序的语法结构是否符合语法规则。
|---自上而下分析的基本思想;
|---递归下降分析基本方法;
|---消除左递归,消除回溯,构造递归下降子程序;
|---预测分析程序的基本原理和预测分析表构造;
|---LL(1)文法---定义、判别、改造(重点);
第五章 语法分析——自下而上分析(重点)
|---自下而上分析基本思想;
|---规约、短语、句柄、素短语概念;
|---算符优先基本方法(重点);
|---LR分析方法(重点);
|---LR(0)
|---SLR(1)
|---LR(1)
|---LALR(1)
第六章 属性文法和语法制导翻译
|---属性文法基本概念;
|---基于属性文法的处理方法;
|---S——属性文法的自下而上计算;
|---L——属性文法的自项向下翻译;
第七章 语义分析和中间代码产生
对语法分析所识别的各类语法范畴,分析其含义,并进行初步翻译(产生中间代码)。
|---中间代码形式:逆波兰式、三元式、四元式(重点);
|---简单赋值语句翻译;
|---布尔表达式翻译(重点);
|---控制结构翻译(重点);
|---说明语句的翻译;
|---数组和机构的翻译符号表;
课程学完了,不代表已经知识已经掌握学会了。在期末复习的过程中,通过不断地看课件和例题,依然无法理解其中的一些思想,对于我来说,最困难的部分在第五章算符优先和LR分析方法那里,翻来覆去的就是搞不懂,还有其他章节一些零散的知识,闲暇之余想办法找资料攻克它们。编译原理这门课重要的是思想方法及其算法,它们能使我们对计算机程序及程序设计有一个更全面、更清晰的认知和理解。