编译原理旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
第一章引论主要学习了编译程序的定义、过程和结构。编译程序由词法分析器、语法分析器、语义分析与中间代码产生器、优化器、目标代码生成器组成。
第二章高级语言及其语法描述主要学习了程序语言的定义、一般特性和语法描述,重点强调上下文无关文法、语法分析树与二义性。
第三章词法分析主要学习词法分析器的设计、正规表达式与有限自动机。在正规集、DFA的化简、NFA到DFA的转换等方面进行了大量练习。
第四章自上而下分析主要学习语法分析器的功能,由自上而下分析产生的问题引出LL(1)分析法来消除左递归和回溯,最后完成预测表的构造和工作过程。
第五章自下而上分析主要学习算符优先分析中文法及优先表构造、算法和优先函数等,LR分析法具体分析了LR(0)项目集族和分析表的构造、SLR分析表的构造、LR(1)分析表的构造等。
第六章属性文法和语法制导翻译主要学习了属性文法的定义,基于属性文法的处理方法,依赖图、树遍历、一遍扫描等,S-属性文法的自下而上计算,L-文法和自顶向下翻译。
第七章语义分析和中间代码产生主要学习了中间语言,有后缀式、图表示法、三地址代码,说明语句,赋值语句的翻译和布尔表达式的翻译。
通过这一段时间的学习, 我明白编译原理连接的各个学科,课程的结束并不意味着学习的结束,只有通过以后的学习,才能更深入地了解编译原理。