1、为什么需要编译程序
早期的计算机程序员是使用0和1来编写程序的。这样写的话,很容易出错。而且不能分出精力来专注于具体的算法。。所以人们就设计出了一种语言的注记符号、、就是汇编。但是他也比较麻烦。。然后就发明了。所谓的高级语言。吧高级语言编程计算机能够识别的二进制代码的过程。就是编译。。编译技术是计算机发展史上的里程碑技术。编译其实就是翻译的过程。
2、编译的基本过程(参考人工翻译的过程。二者感觉没什么本质的区别)
编译的基本过程大致可以分为2个阶段,第一个阶段是对源语言的分析。第二个阶段是对目标语言的生成。具体步骤如下。。
第一步:编译器调用词法分析器
词法分析器输入的是源程序的代码。代码是一个长长的字符串。它的任务是扫描并且分析这个字符串。是她变成一个由词组成的串。。所以他的输出是有词组成的序列。
第二部:语义分析和中间代码生成阶段
输入的是语法树。输出中间代码。为了是最终产生的机器码有较高的效率。对四元式进行代码优化。
第三步:机器代码的生成阶段
吧经过优化处理的中间代码转换成特定机器上的语言代码。
3、转化为中间代码的原因
一、提高编译程序的使用效率(不同的机器有不同的机器语言)二、中间语言可以屏蔽硬件的复杂性