用高级语言设计的一个程序,当运行时,编译器是如何把高级语言转变成计算机能理解的二进制机器代码,编译原理是如何实现从英文字母到二进制转换的?
我们通常说的编译过程,其中是几个过程的组合。
比如编译C语言,其实是预编译(cpp),编译(gcc),汇编(as),链接(ln)之后才有exe。
而编译过程,先进行词法分析,再进行语义分析,生成抽象语法树。根据抽象语法树翻译成汇编。