语义分析阶段所生成的与源程序等价的中间表示形式可以有()、()与()等。

题目
填空题
语义分析阶段所生成的与源程序等价的中间表示形式可以有()、()与()等。
参考答案和解析
正确答案: 逆波兰,四无式表示,三元式表示
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.词法分析和语法分析

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

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

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


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

第2题:

试题(22)

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

(22)

A. 词法分析和语法分析

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

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

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


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

第3题:

● 编译和解释是实现高级程序设计语言翻译的两种基本形式。以下关于编译与解释的叙述中,正确的是(51)。

(51)A.在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析

B.在解释方式下,无需进行语法、语法和语义分析,而是直接产生源程序的目标代码

C.在编译方式下,必须进行词法、语法和语义分析,然后再产生源程序的目标代码

D.在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码


正确答案:C

第4题:

下面说法正确的是( ) 。

A.解释程序将源程序翻译成目标语言程序,然后在计算机上运行目标程序。
B.编译程序直接解释或翻译成中间代码。不生成独立的目标程序。
C.语法分析器检查每条语句是否有正确的逻辑结构。
D.语义分析阶段分析表达式、赋值、循环、表达式的除数是否为零等。

答案:C
解析:
编译程序:将源程序翻译成目标语言程序,然后在计算机上运行目标程序。解释程序:直接解释或翻译成中间代码。不生成独立的目标程序。语法分析阶段:语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。语义分析阶段:主要检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。

第5题:

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


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

第6题:

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

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

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

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

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


正确答案:C
解析:语义分析阶段只能发现程序中的语法错误,而不能发现程序中存在的逻辑上的错误。

第7题:

编译中的语义处理是指()两个功能。

A、审查每个语法结构的静态语义

B、生成程序的一种中间表示形式(中间代码),或者生成实际的目标代码

C、分析栈

D、向前搜索符集合


参考答案:AB

第8题:

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

(48

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

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

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

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


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

第9题:

●编译程序与解释程序的不同之处是(15) 。

(15)

A.解释程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

B.编译程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

C.编译程序不生成源程序的目标代码,而解释程序则产生源程序的目标代码

D.编译程序生成源程序的目标代码,而解释程序则不产生源程序的目标代码


正确答案:D

第10题:

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

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

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

更多相关问题