在编译程序中,语法分析的方法有自底向上分析和自顶向下分析。自底向上分析方法从左向右扫描输入符号串,通过(54)分析其语法是否正确。例如,(55)就是一种自底向上的分析方法,与其他自底向上分析方法不同,它是根据(56)来进行归约的。 自顶向下分析方法从文法

admin2010-01-17  31

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

选项 A、右递归
B、左递归
C、直接左递归
D、直接右递归

答案B

解析 本题考查语法分析的方法。语法分析是编译过程的核心部分,它的主要任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。语法分析的方法有自底向上分析和自顶向下分析。(1)自底向上分析法,是一种移进—归约法,它用一个寄存符号的先进后出栈,把输入符号从左向右一个一个地移进到栈里,当栈顶形成某个产生式的一个候选式时,就把栈顶的这一部分替换成(归约为)该产生式的左部符号。其典型的分析法有算符优先分析法,这种分析法是根据最左素短语来进行归约的。(2)自顶向下分析法,顾名思义,就是从文法的开始符号出发,自上而下地为输入串建立一棵语法树,或者说,为输入串寻找一个最左推导。这种方法要求文法不含有左递归,因为含有左递归的文法将使自顶向下的分析过程陷入一个无限循环。
转载请注明原文地址:https://jikaoti.com/ti/MQW7FFFM
0

相关试题推荐
最新回复(0)