一.编译原理就是什么?
1、主要内容包括词法分析、语法分析、语法树构造、语义分析、中间代码生成、代码优化、目标代码生成等主要内容。
2、在寄存器分配中将会使用到贪心算法,死代码消除中将会使用到图论算法,数据流分析中使用到的Fixed-Point Algorithm,词法分析与语法分析中使用到有限状态机与递归下降这样的重要思想。
3、从源语言提取需要的信息;把源语言翻译成目标语言;自动生成满足一定规范的文本。
二.学习编译原理有什么好处?
1、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的。
2、可以更加客观的比较不同语言的差异。
3、更不容易被某个特定语言的宣扬者忽悠。
4、学习新的语言是效率也会更高。
5、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余;
三.不学有什么损失?
1、缺少了解决问题的方法种类,容易被特定语言忽悠
2、学习新语言的效率会变得很低。
3、会形成知识的局限性,组件对象模型,模块化,做组都回遇到很大的阻力
四.如何学习编译原理?
1、练习、实践。必须自己动手编,而且不要想一口吃成胖子从词法分析开始写,一步步来下个龙书电子版看看。
原文:http://www.cnblogs.com/XiaoFengLuo/p/5858199.html