本节书摘来自华章出版社《编译与反编译技术》一书中的第1章,第X节,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2 编译过程
考虑一种场景,让一个既懂英文又懂中文的俄罗斯人将一篇英文文章翻译成中文,此人可能要经历这样几个阶段:识别英文单词、识别英文句子、理解意思、先译成俄语并进行合理修饰、译成中文。编译器对高级语言的翻译也需要经历这样几个类似阶段:先进行词法分析,识别出合法的单词;再进行语法分析,得到由单词串组成的句子;然后进行语义分析,生成中间代码;再进行中间代码级别的优化,生成优化的中间代码;最后再翻译成目标代码。可见这两种情况的各个阶段的对应非常一致。