编译程序整体结构

编译程序整体结构分为词法分析、语法分析、中间代码生成、优化和目标代码生成五个阶段。词法、语法和中间代码生成构成前端,与源语言相关;后端涉及中间代码到目标代码的转化,与目标机器相关。这种结构便于优化、移植和逻辑清晰。
摘要由CSDN通过智能技术生成

编译程序整体结构

编译程序结构的主线和编译过程五个阶段相对应
编译过程五个阶段:
1、词法分析
2、语法分析
3、中间代码生成
4、优化
5、目标代码生成
这五个阶段都有对应的程序模块进行实现
1、词法分析器实现词法分析
2、语法分析器实现语法分析
3、语义分析与中间代码生成器实现中间代码产生
4、优化段实现优化
5、目标代码生成器实现目标代码产生
高级语言源程序首先经过词法分析器,完成词法分析,识别出单词符号
然后将单词符号输入到语法分析器中,语法分析器这个模块专门负责语法分析,识别出语法单位,并且将语法单位i组织成树型结构,也就是分析树
识别的语法单位交给语义分析与中间代码生成器,完成语义分析并生成中间代码(三元式、四元式)
生成目标代码前,中间代码需要优化段完成优化,优化后结果还是中间代码,比如说四元式,但优化后的中间代码或者四元式,他的效率更高,比如乘法可能优化为加法,或者将部分循环语句中重复执行无意义代码提在循环前执行且执行一次
最后优化后的中间代码被目标代码生成器这个模块转换生成目标代码
总结:源程序->词法分析器->单词符号->
单词符号->语法分析器->语法单位
语法单位->语义分析与中间代码生成器->中间代码(四元式)
中间代码(四元式)->优化段->优化后的中间代码(四元式)
优化后的中间代码(四元式)->目标代码生成器->目标代码
除此五个模块外,编译程序还有两个重要部分,一个是符号表管理模块,二是出错处理模块。在五个阶段中,各阶段的模块都会与符号表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值