【中级软件设计师】编译和解释程序的翻译阶段、符号表 (附软考真题)
【中级软件设计师】编译和解释程序的翻译阶段、符号表 (附软考真题)
目录
- 【中级软件设计师】编译和解释程序的翻译阶段、符号表 (附软考真题)
- 一、历年真题
- 二、考点:编译和解释程序的翻译阶段
- 1、解释
- 2、编译
- 3、解释和编译的异同之处
- 4、符号表
- 三、真题的答案与解析
- 答案
- 解析
复习技巧:
若已掌握【编译和解释程序的翻译阶段、符号表】相关知识,可直接刷以下真题;
若对知识一知半解,建议略读题目,掌握真题以下知识点,再返回刷题。(仅个人建议哦)
真题的答案及解析在文末❥(^_-)!
一、历年真题
1、以下关于高级语言程序的编译和解释的叙述中,正确的是()。(2010年上半年)
A. 编译方式下,可以省略对源程序的词法分析、语法分析
B. 解释方式下,可以省略对源程序的词砝分析、语法分析
C. 编译方式下,在机器上运行的目标程序完全独立于源程序
D. 解释方式下,在机器上运行的目标程序完全独立于源程序
2、编译和解释是实现高级程序设计语言翻译的两种基本形式。以下关于编译与解释的叙述中,正确的是()。(2012年上半年)
A. 在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析
B. 在解释方式下,无需进行词法、语法和语义分析,而是直接产生源程序的目标代码
C. 在编译方式下,必须进行词法、语法和语义分析,然后再产生源程序的目标代码
D. 在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码
3、对高级语言源程序进行编译或解释的过程可以分为多个阶段,解释方式不包含()阶段。(2015年上半年)
A. 词法分析
B. 语法分析
C. 语义分析
D. 目标代码生成
4、编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,(1)并不是每个编译器都必需的,与编译器相比,解释器(2)。(2015年下半年)
(1)
A. 词法分析和语法分析
B. 语义分析和中间代码生成
C. 中间代码生成和代码优化
D. 代码优化和目标代码生成
(2)
A. 不参与运行控制,程序执行的速度慢
B. 参与运行控制,程序执行的速度慢
C. 参与运行控制,程序执行的速度快
D. 不参与运行控制,程序执行的速度快
5、编译过程中,对高级语言程序语句的翻译主要考虑声明语句和可执行语句。对声明语句,主要是将所需要的信息正确地填入合理组织的(1)中;对可执行语句,则是(2)。(2013年上半年)
(1)
A. 符号表
B. 栈
C. 队列
D. 树
(2)
A. 翻译成机器代码并加以执行
B. 转换成语法树
C. 翻译成中间代码或目标代码
D. 转换成有限自动机
6、编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入()中。(2014年上半年)
A. 符号表
B. 哈希表
C. 动态查找表
D. 栈和队列
7、在对高级语言源程序进行编译或解释处理的过程中,需要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入()中。(2019年上半年)
A. 哈希表
B. 符号表
C. 堆栈
D. 队列
8、对高级程序语言进行编程的过程中, 使用()来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。(2021年下半年)
A. 决策表
B. 符号表
C. 广义表
D. 索引表
二、考点:编译和解释程序的翻译阶段
1、解释
词法分析、语法分析、语义分析
2、编译
词法分析、语法分析、语义分析、(中间代码生成、代码优化)、目标代码生成
3、解释和编译的异同之处
同:解释器和编译器的翻译阶段中词法分析、语法分析、语义分析是必须的,不可省略,且顺序不可交换。
异:编译器的翻译阶段中间代码生成和代码优化不是必要的,可省略,即编译方式在词法分析、语法分析、语义分析阶段后可直接生成目标代码。
4、符号表
不断收集、记录和使用源代码中一些相关符号的类型和特征等信息,并将其存入符号表中。
记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
三、真题的答案与解析
答案
1、C
2、C
3、D
4、C B
5、A C
6、A
7、A
8、B
解析
第1题:
解释器和编译器的翻译阶段中词法分析、语法分析、语义分析是必须的,不可省略,且顺序不可交换。A、B错误。
编译器,将源程序翻译成目标语言程序,再在计算机上运行目标程序。C正确。