jrop编译原理?
编译程序是源程序的一个转换系统,解释程序是源程序的一个执行系统(也就是说解释程序最终会有一个代码执行结果)。
编译程序是先全部翻译为目标程序在执行,可反复执行(有点像Java的编译执行),解释程序对源程序逐句的翻译执行(Python的执行过程)。
解释程序比编译程序更加的通用。
通过编译运行,源程序和数据是在不同的时间进行处理的,而解释运行,是同时的。
1.2 编译过程和编译程序的结构
编译的各个阶段:词法分析->语法分析->语义分析->中间代码生成->代码优化->目标代码生成 (如果是问编译程序结构,则在后面都加一个器字,如词法分析器)
各个阶段的任务(重要):
词法分析:从左到右扫描输入的源程序,检查词法错误,识别单词,并输出单词的内部表示形式
语法分析:在词法分析的基础上将单词组成各类语法短语,并确认整个输入串是否具有语法上正确的程序结构
语义分析与中间代码生成:对语义进行检查,如没有错误,则生成中间代码(本书即四元式)
代码优化:对产生的中间代码进行等价交换,以产生高质量的目标代码
目标代码生成:把中间代码变换成特定机器上的低级语言代码。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有