1.编译原理学什么?
编译原理是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要专业基础课。编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。编译原理学做编译器和编译技术,学编译原理实质是一个算法,这个算法比较难,需要花费更多时间去钻研。编译过程可以划分为5个阶段:词法分析、语法分析、语义分析及中间代码生成、代码优化和目标代码生成。
2.为什么学编译原理?
编译原理蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,这些思路和方法对应用软件和系统软件的设计与开发有一定的启发。编译程序构造的原理和技术在软件工程、逆向工程、软件再工程、语言转换及其他领域中都有着广泛的应用。编译原理是计算机科学与技术中一个非常成熟的分支,非常完美地将原理与技术结合了起来,对于理解计算机的本质非常有帮助 ,有利于提高专业人员的素质和能力。学编译原理不但可以加深自己对电脑的认识,而且可以锻炼自己的操作能力和算法能力。编译原理和技术还可以开拓学习者的思维能力,还有利于加深对程序语言的理解。
3.怎么学编译原理?
首先要学好一门高级程序语言,学好算法。课前要预习,要跟着老师讲课的思路走,搞清楚理论的来龙去脉,完成相应的实验,进一步理解课堂的内容,多看书,可以借鉴龙书的电子版看看,遇到困难可以问问老师或者同学、甚至从事该行业的专业人员,按时完成老师布置的作业和练习,课后多做练习及复习回顾已经学过的内容。认真学习编译原理的词法分析、语法分析、语义分析及中间代码生成、代码优化和目标代码生成。要花费较多时间去钻研,刻苦学习,坚持不懈。
4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路?
首先要学会一种高级语言和编译语言,再对源语言和目标语言认真分析,如C语言和编译语言,然后设计编译算法(词法分析、语法分析、语义分析及中间代码生成、代码优化和目标代码生成)和选择语言编制程序,最后调试编译程序。