编译原理就是什么?
编译原理是计算机必修的一门重要学科。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。
学习编译原理有什么好处?
可以大大提高我们的编程能力,能更好的了解计算机内部运行结果,对进一步研究计算机系统有很大帮助,同时学会了编译原理也相当于学会了一种解决问题的方法,而且是强有力的方法。能让你一直在寻求高效而通用的解决问题之道,总有一天你的自己设计小尺度的语言。语法分析,语义分析,和代码优化的知识能让你终生受益。
不学有什么损失?
不学编译原理,可能永远给各种写编译器的人当奴隶,以为写程序只能按照他们设计的语言哲学来做。学好了编译原理,不一定非要自己写语言,但是至少能把很多其他程序员觉得很酷的东西看得透彻一点,不会被程序语言的设计表象骗到太多。
如何学习编译原理?
学习编译原理,不要死看课本,课本都是翻译国外的,读起来有点吃力。结合习题是比较好的,可以理解一些概念。另外,可以用lex和yacc实现一个词法分析器和语法分析器,如果这两个实验跑通了,对你学习编译原理的学习非常有帮助。