首页 > 知识点讲解
       编译过程概述
知识路径: > 计算机系统基础知识 > 计算机软件知识 > 程序设计语言和语言处理程序知识 > 汇编、编译、解释系统的基础知识和基本工作原理 > 编译程序的基本原理 > 
被考次数:8次     被考频率:中频率     总体答错率:35%     知识难度系数:     
相关知识点:6个      
        编译程序的功能是把用高级语言书写的源程序翻译成与之等价的目标程序。编译过程划分成词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段,实际的编译器可能会将其中的某些阶段结合在一起进行处理,比如说表格管理和出错处理与上述6个阶段都有联系。
        1)词法分析阶段
        词法分析阶段的任务是对源程序从前到后(从左到右)逐个字符进行扫描,从中识别出一个个"单词"符号。"单词"符号是程序设计语言的基本语法单位,如关键词、标识符等。词法分析程序输出的"单词"常常采用二元组的方式,即单词类别和单词自身的值。
        2)语法分析阶段
        语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如"表达式""语句"和"程序"等。
        词法分析和语法分析本质上都是对源程序的结构进行分析。
        3)语义分析阶段
        语义分析阶段主要是审查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,只有语法和语义都正确的源程序才能翻译成正确的目标代码。语义分析的一个主要工作是进行类型分析和检查。
        4)中间代码生成阶段
        中间代码是一种结构简单且含义明确的记号系统,可以有多种形式。中间代码的设计原则主要有两点:一是容易生成;二是容易被翻译成目标代码。中间代码生成阶段的工作就是根据语义分析的输出生成中间代码。
        语义分析和中间代码生成所依据的是语言的语义规则。
        5)代码优化阶段
        代码优化阶段的任务是对前阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。优化过程可以在中间代码生成阶段进行,也可以在目标代码生成阶段进行。
        6)目标代码生成阶段
        目标代码生成阶段的任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码。这是编译的最后阶段,它的工作与具体的机器密切相关。
        7)符号表管理
        符号表管理阶段的任务是在符号表中记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。符号表的建立可以始于词法分析阶段,也可以放到语法分析阶段,但符号表的使用有时会延续到目标代码的运行阶段。
        8)出错处理
        用户编写的源程序中的错误大致可分为静态错误和动态错误。动态错误也称为动态语义错误,指程序中包含的逻辑错误。静态错误是指编译阶段发现的程序错误,可分为语法错误和静态语义错误。出错处理程序的任务包括检查错误、报告出错信息、排错、恢复编译工作。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2021年下半年
   软件设计师
   上午试卷 综合知识
第21题
选择题
对高级程序语言进行编译的过程中,使用()来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。

58%
   2019年下半年
   软件设计师
   上午试卷 综合知识
第21题
选择题
将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入是(20)。若程序中的括号不配对,则会在(21)阶段检查出该错误。

34%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有