编译原理课程总结
在步入大三下学期以来,编译原理是我们所面对的一门非常重要的专业课程。在这门课程中,我们都能够感受到它的主旨是想要通过对我们的介绍,从而让我们进行设计和构造编译程序基本原理和方法的学习。我们知道,在计算机上,我们如果想要执行一个高级语言程序,通常要分为两步:第一步是用一个编译程序把高级语言翻译成机器语言程序,第二步是运行所得的机器语言程序求得计算结果,编译原理这门课程,便是按照由浅入深的程度,帮助我们学习以上的相关内容。
在第一章中,我们主要了解了什么叫做编译程序,同时编译过程以及编译程序的结构又是如何?在编译过程中,我们有五个阶段需要按顺序分模块进行设计。第一阶段是词法分析,它的任务是输入源程序,其次进入语法分析,以便在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位。下一阶段是语义分析与中间代码产生,在这一阶段中的主要任务是对语法分析所识别出的各类语法范畴进行分析含义并初步翻译(产生中间代码);第四阶段是优化,为对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效的目标代码;最后一阶段是目标代码生成,进行到这一阶段的任务是将中间代码(或经过优化处理后)变换成特定机器上的机器语言代码,实现了最后的翻译,其工作有赖于硬件系统结构和机器指令含义。
当我们了解完编译程序的具体内容后,便要尝试接受第二章为我们带来的简单的高级语言的描述。第二章的重点内容我认为是上下文无关文法与文法的二义性。我们知道文法是描述语言的语法结构的形式规则,这些规则必须准确且易于理解。了解上下文无关文法G的构成部分,其次便是语法分析树以及文法的二义性。</