本文为编译原理(第三版)【清华大学出版社】部分课后答案
本答案均截取自网络,如有错误,望指正
![](https://img-blog.csdnimg.cn/img_convert/f28c82d87f064e4b9893cd29e42610c6.png)
编译原理(第三版)【清华大学出版社】
📌第1题
![](https://img-blog.csdnimg.cn/img_convert/639bfe2f61b64957b48cd5279c0b1159.png)
编译程序:如果源程序为高级语言,目标程序为计算机上的汇编语言或及其与原,则此翻译程序称之为编译程序
源程序:源语言编写的程序
目标语言:目标语言书写的程序
前端:与源语言有关、与目标机无关的部分,包括词法分析、语法分析、语义分析与中间代码生成、与机器无关的代码优化
后端:与目标机有关的部分,包括与机器有关的代码优化、目标代码生成
遍:对源程序(包括源程序中间形式)从头到尾扫描一次,并做有关的加工处理,生成新的源程序中间形式或目标程序,通常称之为一遍。
📌第2题
![](https://img-blog.csdnimg.cn/img_convert/4c39825618044585869cd1f63be04d48.png)
词法分析程序:输入源程序,拼单词,检查单词和分析单词,输出单词的机内表达形式。
语法分析程序:在词法分析的基础上,将单词组成各类语法短语并分析能否构成正确程序。
语义分析程序:对语法分析所形成的各类短语分析其含义,进行语义审查。
中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。
中间代码优化程序:为了产生高质量的目标代码,对中间代码进行加工优化处理。
表格管理程序:负责建立,填写,查找等一系列表格管理工作。
出错处理程序:处理和校正源程序中存在的语法、语义、词法错误。
![](https://img-blog.csdnimg.cn/img_convert/ee96820cfe09438d959c1f92b9945072.png)
编译程序组成
📌第3题
![](https://img-blog.csdnimg.cn/img_convert/9d915dc45b51402ea353240cac986bf4.png)
解析程序是指:将某种语言编写的程序转换成另一种语言编写的程序,如编译程序、汇编程序等。
编译程序是把用高级语言编写的源程序转换成与之等价的另一种低级语言编写的目标程序的翻译程序。
广义上讲,编译程序的解析程序都属于翻译程序,但它们的翻译方式不同,解析程序是边翻译边执行,不产生目标代码,输出源程序的运行结果。编译程序只负责把源程序翻译成目标程序,输出与源程序等价的目标程序,而目标程序的执行任务有操作系统来完成,即只翻译不执行。
![](https://img-blog.csdnimg.cn/img_convert/4b5b4f7b72824e3f994b49dfbb8a6b99.png)
解释程序(Interpreter)
![](https://img-blog.csdnimg.cn/img_convert/ab2b72360c1a4a77a4cba2d94738d721.png)
编译程序(Compiler)
📌第4题
![](https://img-blog.csdnimg.cn/img_convert/8df978355c094365b2111d26faad55e7.png)
![](https://img-blog.csdnimg.cn/img_convert/2c1ee0d8c79f4cd7ab7a2b3ed5257cb0.png)