●编译器在 ()阶段进行表达式的类型检查及类型转换。()A.词法分析 B.语法分析 C.语义分析 D.目标代码生成

题目

●编译器在 ()阶段进行表达式的类型检查及类型转换。()A.词法分析 B.语法分析 C.语义分析 D.目标代码生成


相似考题
更多“●编译器在 ()阶段进行表达式的类型检查及类型转换。()A.词法分析 B.语法分析 C.语义分析 D.目标代 ”相关问题
  • 第1题:

    表达式中括号不匹配错误可在编译程序______阶段检查出来。

    A.词法分析

    B.语法分析

    C.语义分析

    D.代码优化


    正确答案:B
    解析:编译程序是要把高级语言书写的源程序翻译成与之等价的目标程序,其工作过程可分为6个阶段:
      词法分析:对源程序从前到后逐个字符进行扫描,从中识别出一个个“单词”符号。
      语法分析:在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单元。通过语法分析,确定整个输入串是否构成一个语法上正确的程序。
      语义分析:主要检查源程序是否存在语义错误,进行类型分析和检查。数据类型一般包括类型的载体及其上的运算两方面的内容。只有语法和语义都正确的源程序才能翻译成正确的目标代码。
      中间代码生成:根据语义分析的输出生成中间代码,这是一种简单且含义明确的记号系统,与具体的机器无关。
      代码优化:生成的中间代码往往在时间和空间上有很大的浪费,对其优化,可生成高效的目标代码。优化过程可在中间代码生成阶段进行,也可以在目标代码生成阶段进行。
      目标代码生成:把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编代码。

  • 第2题:

    ●在编译过程中,进行类型分析和检查是(7)阶段的一个主要工作。

    (7)A.词法分析

    B.语法分析

    C.语义分析

    D.代码优化


    正确答案:C

  • 第3题:

    编译器和解释器是两种高级语言处理程序,与解释器相比,(186)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,(187)和中间代码生成并不是每种编译器都必需的。词法分析的作用是识别源程序中的(188);语法分析中的预测分析法是(189)的一种语法分析方法;编译器在(190)阶段进行表达式的类型检查及类型转换。

    A.编译器不参与运行控制,程序执行的速度慢

    B.编译器参与运行控制,程序执行的速度慢

    C.编译器参与运行控制,程序执行的速度快

    D.编译器不参与运行控制,程序执行的速度快


    正确答案:D

  • 第4题:

    编译器和解释器是两种高级语言处理程序,与编译器相比,(1)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和(2)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(3);语法分析中的预测分析法是(4)的一种语法分析方法:编译器在(5)阶段进行表达式的类型检查及类型转换。

    A.解释器不参与运行控制,程序执行的速度慢

    B.解释器参与运行控制,程序执行的速度慢

    C.解释器参与运行控制,程序执行的速度快

    D.解释器不参与运行控制,程序执行的速度快


    正确答案:B

  • 第5题:

    在以阶段划分的编译器中,( )阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。

    A.词法分析

    B.语法分析

    C.语义分析

    D.代码生成


    正确答案:A

  • 第6题:

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

    A.词法分析

    B.语法分析

    C.语义分析

    D.目标代码生成


    正确答案:D
    本题考查程序语言基础知识。编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成、符号表管理和出错处理等部分,如下图所示。目标代码生成是编译器工作的最后一个阶段。这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。因此在目标代码生成阶段分配寄存器。

  • 第7题:

    ● 编译程序分析源程序的阶段依次是 (21) 。

    (21)

    A. 词法分析、语法分析、语义分析

    B. 语法分析、词法分析、语义分析

    C. 语义分析、语法分析、词法分析

    D. 语义分析、词法分析、语法分析


    正确答案:A

  • 第8题:

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

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

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

  • 第9题:

    在编译过程中,进行类型分析和检查是( )阶段的一个主要工作。

    A.词法分析
    B.语法分析
    C.语义分析
    D.代码优化

    答案:C
    解析:
    一般的编译程序工作过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成,以及出错处理和符号表管理。词法分析阶段是编译过程的第一阶段,这个阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”、“语句”和“程序”等。语义分析阶段主要分析程序中各种语法结构的语义信息,包括检查源程序是否包含语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能被翻译成正确的目标代码。由于编译器将源程序翻译成中间代码的工作是机械的、按固定模式进行的,因此,生成的中间代码往往在时间上和空间上有很大的浪费。当需要生成高效的目标代码时,就必须进行优化。

  • 第10题:

    在以阶段划分的编译器中,( )阶段的主要作用是分析构成程序的字符集由字符按照构造规则构成的符号是否符合程序语言的规定。

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

    答案:A
    解析:
    在词法分析阶段,其任务是从左到右逐个字符地读入源程序,对构成源程序的字符流进扫描和分解,从而识别出一个个单词。这里所谓的单词是指逻辑上紧密相连的一组字符,这些字符组合在一起才表示某一含义

  • 第11题:

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

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

    答案:C
    解析:
    在编译过程中:词法分析;语法分析;语义分析;目标代码生成是必须的

  • 第12题:

    单选题
    错误“变量类型声明不一致”将在()阶段发现。
    A

    词法分析

    B

    语法分析

    C

    语义分析

    D

    目标代码生成


    正确答案: D
    解析: 暂无解析

  • 第13题:

    试题(22)

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

    (22)

    A. 词法分析和语法分析

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

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

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


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

  • 第14题:

    编译器和解释器是两种高级语言处理程序,与编译器相比,(29)。编译器对高级语言源程序的处理过程可以划分为问法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和(30)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(31);语法分析中的预测分析法是(32)的一种语法分析方法;编译器在(33)阶段进行表达式的类型检查及类型转换。

    A.解释器不参与运行控制,程序执行的速度慢

    B.解释器参与运行控制,程序执行的速度慢

    C.解释器参与运行控制,程序执行的速度不变

    D.解释器不参与运行控制,程序执行的速度快


    正确答案:B
    解析:在编译方式下,源程序的编译和目标代码的执行是两个独立的阶段,即编译器不参与目标代码的执行。而在解释方式下,解释器将源程序逐句地进行翻译,并立即执行。因此,解释器参与运行控制。由于解释器将两个过程一次完成,所以速度较慢。并不是所有的编译器都经过中间代码阶段和代码优化阶段,可以直接生成目标代码,然后不经过优化便执行。词法分析的任务是读入一个字符串,根据词法规则,将字符串划分成有意义的单词。预测分析法根据已经分析的结果预测下一句可能出现的情况,是一种自顶向下的分析方法。语义分析主要是根据语义规则以及词法分析的结果,对源程序进行语义检查,包括类型方面检查,运算合法性检查等语义检查。

  • 第15题:

    在编译过程中,进行类型分析和检查是(29)阶段的一个主要工作。

    A.词法分析

    B.语法分析

    C.语义分析

    D.代码优化


    正确答案:C
    对源程序进行编译的过程可以分为词法分析,语法分析,语义分析,中间代码生成和优化,目标代码生成等阶段。其中,词法分析是分析各种构造形式的单词,如整型常量,浮点常量,标识符,运算符等;语法分析是分析各种构造形式的表达式和语句,词法分析和语法分析都是对程序的结构进行分析。语义分析是值分析程序中各种语言成分的含义,是对程序的静态语义的分析,程序运行时体现程序的体态语义。

  • 第16题:

    对高级语言源程序进行编译或翻译的过程可以分为多个阶段,解释方式不包含( )阶段。

    A.词法分析

    B.语法分析

    C.语义分析

    D.目标代码生成


    正确答案:D

  • 第17题:

    在对源程序进行编译的过程中, ( )是正确的顺序。

    A. 语义分析、语法分析、词法分析 B. 语法分析、词法分析、语义分析C. 词法分析、语法分析、语义分析 D. 词法分析、语义分析、语法分析


    正确答案:C

  • 第18题:

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


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

  • 第19题:

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

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

    答案:C
    解析:
    本题考查程序语言基础知识。解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。分阶段编译器的工作过程如下图所示。其中,中间代码生成和代码优化不是必需的。

  • 第20题:

    在以阶段划分的编译器中,( )阶段的主要作用是分析程序中的句子结构是否正确。

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

    答案:B
    解析:
    1、词法分析阶段:识别出一个个的单词,删掉无用的信息,报告分析时的错误。2、语法分析阶段:语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。语法分析构造一棵语法树。3、语义分析阶段:主要检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。

  • 第21题:

    将编译器的工作过程划分为词法分析,语义分析.中间代码生成,代码优化和目标代码生成时,语法分析阶段的输入是( )若程序中的括号不配对,则会在(请作答此空)阶段检查出错误

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

    答案:B
    解析:
    语法分析主要检查句子的结构是否符合语法规则,“程序中的括号不配对”属于语法错误。

  • 第22题:

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

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

    答案:C
    解析:
    在编译过程中:词法分析;语法分析;语义分析;目标代码生成是必须的

  • 第23题:

    错误“变量类型声明不一致”将在()阶段发现。

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

    正确答案:C