高级语言编译程序中常用的语法分析方法中,递归子程序法属于__(1

题目

高级语言编译程序中常用的语法分析方法中,递归子程序法属于__(1)__分析方法,算符优先法属于__(2)__分析方法。空白(1)处应选择()

  • A、自左至右
  • B、自右至左
  • C、混合方式
  • D、自顶向下
  • E、自底向上
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

●编译程序中语法分析器接受以 (29) 为单位的输入,并产生有关信息供以后各阶段使用。 (30) 、LR分析法和 (31) 是几种常见的语法分析技术,其中 (30) 和LR分析法属于自下而上分析法,而 (31) 属于自上而下分析法。LR分析法有SLR(1)、LR(0)、LR(1)和LALR(1) 4种,其中 (32) 的分析能力最强, (33) 的分析能力最弱。

(29) A.表达式

B.单词

C.产生式

D.语句

(30) ,(31) A.递归下降法

B.算符优先法

C.语法制导翻译法

D.数据流分类法

(32) ,(33) A.SLR(1)

B.LR(0)

C.LR(1)

D.LALR(1)


正确答案:B,B,A,C,B
 【解析】编译程序中语法分析器接受以单元为单位的输入,并产生有关信息供以后各阶段使用。算符优先法、LR分析法和递归下降法是几种常见的语法分析技术,其中算符优先法和LR分析法属于自下而上分析法,而递归下降法属于自上而下分析法。LR分析法主要有SLR(1)、LR(0)、LR(1)和LALR(1)等4种,其中LR(1)的分析能力最强,LR(0)的分析能力最弱。 

第2题:

高级语言编译程序常用的语法分析方法中,LL分析法属于(18)分析方法。

A.自左至右

B.自顶向下

C.自底向上

D.自右至左


正确答案:B
解析:语法分析程序又简称称为分析器,它以单词串形式的源程序作为输入或分析的对象,其基本任务是:根据程序设计语言的语法规则(即定义该语言的前后文无关文法),分析源程序的语法结构,即分析如何由这些单词组成该源程序的各种语法成分(如下标变量、函数、各种表达式、各程语句等等),并在分析过程中进行语法正确性检查,产生内部形式的中间代码,供编译程序后续阶段处理。LL分析属于自顶向下语法分析的方法。主要有两种,即递归下降分析法和预测分析法。

第3题:

在自顶向下的语法分析方法中,分析的关键是()

A、寻找句柄

B、寻找句型

C、消除递归

D、选择候选式


参考答案:C

第4题:

移进--归约分析法是编译程序(或解释程序)对高级语言源程序进行语法分析的一种方法,属于()的语法分析方法。

A.自顶向下(或自上而下)

B.自底向上(或自下而上)

C.自左向右

D.自右向左


正确答案:B

第5题:

用高级语言编写程序时,子程序调用语句中的实际参数必须与子程序说明中的形式参数在 (33) 上保持一致。在允许子程序递归调用的高级语言环境中,需用动态存储管理方法,它通常使用一个 (34) 存入子程序的调用记录,调用记录可包括:

.全局量存储区域的(35);

.调用点所在子程序的(36);

.调用点的(37);

.形式参数和实际参数的通信区域;

.返回值;

.本子程序的局部量和临时变量存储区域等。

A.个数、类型

B.个数、顺序

C.个数、格式、顺序

D.个数、类型、顺序


正确答案:D

第6题:

在高级语言编译程序常用的语法分析方法中,预测分析法属于自上而下的语法分析方法。()


参考答案:正确

第7题:

编译程序在语法分析阶段能检查出______错误。

A.表达式中的括号不匹配

B.以零作除数

C.数组下标越界

D.无穷递归


正确答案:A
解析:编译程序的功能是把高级语言编写的源程序翻译成与之对应的目标程序。编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。表达式括号不匹配,属于语言结构的错误,在语法分析阶段可以检查出该错误,故应选A。

第8题:

●在编译程序中,语法分析的方法有自底向上分析和自顶向下分析。自底向上分析方法自左向右扫描输入符号串,通过 (46) 分析其语法是否正确。例如, (47) 就是一种自底向上的分析方法,与其他自底向上分析方法不同,它是根据 (48) 来进行归约的。自顶向下分析方法从文法的开始符号出发,判断其能否 (49) 出输入符号串。采用自顶向下分析方法时,要求文法不含有 (50) 。

(46) A.归约-移进

B.归约-归约

C.移进-归约

D.移进-移进

(47) A.算符优先分析法

B.LL (1) 分析法

C.递归子程序分析法

D.预测分析法

(48) A.短语

B.素短语

C.句柄

D.直发短语

(49) A.归约

B.移进

C.推理

D.推导

(50) A.右递归

B.左递归

C.直接左递归

D.直接右递归


正确答案:C,A,B,D,B
【解析】自底向上分析方法自左向右扫描输入符号串,通过移进-归约分析其语法是否正确。算符优先分析法是一种自底向上的分析方法,它根据素短语来进行归约。自顶向下分析方法从文法的开始符号出发进行最左推导,判断其能否推导出输入符号串,需要消除文法中的左递归和提取公共左因子。

第9题:

编译程序在语法分析阶段能检查出(41)错误。

A.表达式中的括号不匹配

B.以零作除数

C.数组下标越界

D.无穷递归


正确答案:A
解析:本题考查的是编译程序的基本工作原理和基本概念。编译程序的功能是把某高级语言编写的源程序翻译成与之对应的目标程序(汇编语言程序或机器语言程序)。编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等6个阶段。其中,词法分析阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。在词法分析的基础上,语法分析阶段根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”、“语句”、“程序”等。语法规则就是各类语法单位的构成规则。通过语法分析确定整个输入串是否构成一个语法上正确的程序。如果源程序中没有语法错误,语法分析后就能正确地构造出其语法树;否则就指出语法错误,并给出相应的诊断信息。语义分析阶段主要检查源程序是否包含语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能被翻译成正确的目标代码。程序员编写的源程序中往往会有一些错误,这些错误大致被分为静态错误和动态错误两类。所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行的时候,比如算法逻辑上的错误。动态错误也被称为动态语义错误,如变量取值为0时被用作除数,引用数组元素时下标出界等。静态错误又可以分为语法错误和静态语义错误。词法和语法错误是指有关语言结构上的错误,如单词拼写错误就是一种词法错误,表达式中缺少操作数、括号不匹配是不符合语法规则要求的语法错误等。静态的语义错误是指分析源程序时可以发现的语言意义上的错误,如乘法运算的两个操作数中一个是整型变量名,而另一个是数组等。表达式中的括号不匹配属于语言结构上的错误,所以可在语法分析阶段检查出该错误。

第10题:

移进--归约分析法是编译程序(或解释程序)对高级语言源程序进行语法分析的一种方法,属于(48)的语法分析方法。

A.自顶向下(或自上而下)
B.自底向上(或自下而上)
C.自左向右
D.自右向左

答案:B
解析:
先分析词,即词法分析;而分析词的组合,即语法分析,移进-递归是自下而上的语法分析方法。

更多相关问题