对高级语言源程序进行编译的过程可以分为多个阶段,分配寄存器的工作在()阶段进行。A、词法分析B、语法分析C、语义分析D、目标代码生成

题目

对高级语言源程序进行编译的过程可以分为多个阶段,分配寄存器的工作在()阶段进行。

  • A、词法分析
  • B、语法分析
  • C、语义分析
  • D、目标代码生成
参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

高级语言源程序的编译过程分若干个阶段,分配寄存器属于(49)阶段的工作。

A.词法分析

B.语法分析

C.语义分析

D.代码生成


正确答案:D
解析:本题考查程序语言翻译基础知识。编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段,以及出错处理和符号表管理。其中,中间代码生成和代码优化阶段不是必需的。目标代码生成时才考虑与具体机器相关的处理,寄存器分配处于代码生成阶段的工作。

第2题:

● 高级语言源程序的编译过程分若干个阶段,分配寄存器属于 (49) 阶段的工作。

(49)

A. 词法分析

B. 语法分析

C. 语义分析

D. 代码生成


正确答案:D

第3题:

● 以下关于编译系统对某高级语言进行翻译的叙述中,错误的是 (48) 。

(48

A. 词法分析将把源程序看作一个线性字符序列进行分析

B. 语法分析阶段可以发现程序中所有的语法错误

C. 语义分析阶段可以发现程序中所有的语义错误

D. 目标代码生成阶段的工作与目标机器的体系结构相关


正确答案:C
试题(48)分析
  本题考查程序语言翻译基础知识。
  词法分析是编译过程的第一阶段,其任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个的“单词”符号。语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”、“语句”和“程序”等。语义分析阶段主要检查源程序是否包含语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能被翻译成正确的目标代码。目标代码生成是编译器工作的最后一个阶段。这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。
  源程序不可避免地会有一些错误,这些错误大致可分为语法错误和语义错误。语法错误是指语言结构上的使用错误,是指编译时所发现的程序错误,如单词拼写错误、标点符号错、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。
参考答案
(48)C

第4题:

编译和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和解释器。与编译器相比,解释器( )。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段;其中,代码优化和(请作答此空)并不是每种编译器都必需的。词法分析的作用是识别源程序中的( )。

A.语法分析
B.语义分析
C.中间代码生成
D.目标代码生成

答案:C
解析:
本题考查程序语言基础知识。
在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。
中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标代码了,只是目标代码的质量和效率可能不够高。
词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。

第5题:

●编译器对高级语言源程序的处理过程可以划分为同法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和 ()并不是每种编译器部必需的。()A.词法分析 B.语法分析 C.中间代码生成 D.语义分析


正确答案:C
中间代码生成:在语法和语义分析的基础上,将源程序转变为一种内部表示形式(中间语言、中间代码),它通常易于生成、易于翻译成目标代码。不过,并不是所有的语言都必须经过这一步。
代码优化:对前阶段生成的中间代码进行变换或改造,以使生成的目标代码更节省时间和空间。不过,这个工作也并非是每种编译器都需要的。

第6题:

在编译器和解释器的工作过程中,()是指对高级语言源程序进行分析以识别出记号的过程。

A.词法分析

B.语法分析

C.语义分析

D.代码优化


正确答案:A
本题考查程序语言基础知识。解释器(解释程序)与编译器(编译程序)在词法、语法和语义分析方面的工作方式基本相同。源程序可以简单地被看成是一个多行的字符串。词法分析阶段是编译过程的第一阶段,这个阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号(或称为记号)。

第7题:

● 高级语言程序的编译过程分为若干阶段,分配寄存器属于 (15) 阶段的工作

(15)

A.词法分析

B.语法分析

C.语义分析

D.代码生成


正确答案:D

第8题:

试题(22)

编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, (22) 并不是每种编译器都必需的。

(22)

A. 词法分析和语法分析

B. 语义分析和中间代码生成

C. 中间代码生成和代码优化

D. 代码优化和目标代码生成


正确答案:C
试题(22)分析
本题考查程序语言翻译基础知识。
编译器对高级语言源程序的处理过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,以及符号表管理模块和出错处理模块。在编译器的分析综合模式中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节尽可能限制在后端。尽管可以将源程序直接翻译成目标语言代码,但使用与机器无关的中间表示形式具有以下优点:
① 重置目标比较容易。不同机器上的编译器可以在已有前端的基础上附加一个适合这个机器的后端来生成。
② 可以在中间表示上应用与机器无关的代码优化器。
参考答案
(22)C

第9题:

对高级语言源程序进行编译的过程可以分为多个阶段,分配寄存器的工作在( )阶段进行。

A.词法分析
B.语法分析
C.语义分析
D.目标代码生成

答案:D
解析:
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。

第10题:

高级语言程序的编译过程分为若干阶段,分配寄存器属于 ( ) 阶段的工作。

A.词法分析
B.语法分析
C.语义分析
D.代码生成

答案:D
解析:
本题程序语言翻译基础知识。编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段,以及出错处理和符号表管理。其中,中间代码生成和代码优化阶段不是必需的。目标代码生成时才考虑与具体机器相关的处理,寄存器分配处于代码生成阶段的工作。

更多相关问题