yacc是一个生成编译程序的工具,它的输入是文法G的产生式规则,它的输出是文法G的(29)。
A.优先分析器
B.LL(1)分析器
C.LR(1)分析器
D.LALR(1)分析器
第1题:
●试题二
对文法G[S]:S→a|∧|(T);T→T,S|S;回答问题1~问题3。
【问题1】
对文法G进行改写,然后对每个非终结符写出不带回溯的递归子程序。
【问题2】
经改写后的文法是否是LL (1) 的?指出它的预测分析表中 (1) ~ (3) 处的内容。
【问题3】
说明输入串(a,a)是否为G的句子。
第2题:
一个文法G,若(),则称它是LL(1)文法。
A.G无二义性
B.G中产生式不含左递归
C.G中产生式不含左公因子
D.G的LL(1)分析表中不含多重定义的条目(即:不存在有多个取值的单元格)
第3题:
编译程序可以自动生成,通过编译程序产生器实现。例如能自动产生词法分析程序的工具YACC,和自动产生语法分析程序的工具LEX。
第4题:
一个文法G,若(),则称它是LL(1)文法。
A.G中不含左递归
B.G无二义性
C.G的LL(1)分析表中不含多重定义的条目
D.G中产生式不含左公因子
第5题:
27、用Yacc处理二义文法的两大默认规则为() ①对于归约-归约冲突,选择在Yacc程序中最先出现的那个产生式归约 ②对于归约-归约冲突,选择在Yacc程序中后出现的那个产生式归约 ③对于移近-归约冲突,优先移近 ④对于移近-归约冲突,优先归约
A.①③
B.①④
C.②③
D.②④