描述一般的编译程序可分为哪些阶段,每个阶段的目的是什么
2个回答
展开全部
1、一般的编译程序分为以下阶段:词法分析、语法分析、语义分析与中间代码生成、优化、目标代码生成。其间还有表格管理和出错处理。
词法分析是将输入的源程序转变成字符流,根据构词规则进行分析,最后输出单词符号,即单词种别码和单词自身的值;
语法分析是将单词符号,根据语法规则进行分析,最后输出语法单位。
语义分析与中间代码生成则是将语法单位,根据语义规则进行分析,输出中间代码形式(如四元式)。
优化则是为了节省空间和方便管理代码,把中间代码变换成依赖具体机器的目标代码。
目标代码生成则是将优化后的四元式进而生成目标程序。
2、补充:
中间代码形式有多种,如以下:
(1)后缀式(逆波兰表达式)
(2)图表示法:抽象语法树、DAG图
(3)三地址代码:三元式、四元式、间接三元式
词法分析是将输入的源程序转变成字符流,根据构词规则进行分析,最后输出单词符号,即单词种别码和单词自身的值;
语法分析是将单词符号,根据语法规则进行分析,最后输出语法单位。
语义分析与中间代码生成则是将语法单位,根据语义规则进行分析,输出中间代码形式(如四元式)。
优化则是为了节省空间和方便管理代码,把中间代码变换成依赖具体机器的目标代码。
目标代码生成则是将优化后的四元式进而生成目标程序。
2、补充:
中间代码形式有多种,如以下:
(1)后缀式(逆波兰表达式)
(2)图表示法:抽象语法树、DAG图
(3)三地址代码:三元式、四元式、间接三元式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询