全部科目 > 软件设计师 >
2023年下半年 上午试卷 综合知识
第 40 题
知识点 编译过程概述   解释程序的基本原理  
关键词 编译   高级语言   源程序   语言  
章/节 计算机软件知识  
 
 
对高级语言源程序进行编译或解释的过程可以分为多个阶段,解释方式不包含(48)阶段。
 
  A.  目标代码生成
 
  B.  语法分析
 
  C.  词法分析
 
  D.  语义分析




 
 
相关试题     计算机软件知识 

  第47题    2021年下半年  
在Python语言中,()是一种可变的、有序的序列结构,其中元素可以重复。

  第26题    2010年下半年  
某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和..

  第57题    2022年下半年  
设栈初始时为空,对于入栈序列1,2,3…n这些元素经过栈之后得到出栈序列P1,P2,P3,.…Pn,若P3-4,则P1,P2不可能的值为()。

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



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

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