程或函数的动态层次
D标识符的行号
三、判断题(对的打√,错的打×,每小题1分,共10分)2.一个有限状态自动机中,有且仅有一个唯一的终态。x
f3.一个算符优先文法的每个非终结符号间都也可能存在优先关系。X
4.语法分析时必须先消除文法中的左递归。X
6.逆波兰表示法表示表达式时无须使用括号。R
9.两个正规集相等的必要条件是他们对应的正规式等价。X
1.编译程序是对高级语言程序的编译执行。X
2.一个有限状态自动机中,有且仅有一个唯一的初始态。R
3.一个算符优先文法的每个非终结符号间都不存在优先关系。R
4.LL(1)语法分析时必须先消除文法中的左递归。R
5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。R
6.逆波兰表示法表示表达式时根据表达式会使用括号。X
7.静态数组的存储空间可以在编译时确定。X
8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。X
9.两个正规集相等的必要条件是他们产生的符号串是相同的。R
10.一个语义子程序描述了一个文法所对应的翻译工作。X
1.什么是S属性文法?什么是L属性文法?它们之间有什么关系?
S属性文法是只含有综合属性的属性文法。
(2分)
L属性文法要求对于每个产生式AX1X2…X
,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承
属性,且该属性仅依赖于:
(1)产生式Xj的左边符号X1X2…Xj1的属性;
(2)A的继承属性。
(2分)
S属性文法是L属性文法的特例。
(1分)
2.什么是LL(1)分析器
2.什么是LR(0)分析器
所谓LR0分析,是指从左至右扫描和自底向上的语法分析,且在分析的每一步,只须根据分析栈当前已移进
和归约出的全部文法符号,并至多再向前查看0个输入符号,就能确定相对于某一产生式左部符号的句柄是否
已在分析栈的顶部形成,从而也就可以确定当前所应采取的分析动作是移进还是按某一产生式进行归约等。
五、综合题(共40分)
1.(10分)对于文法GS:
S→1A0Bε
A→0S1AA
B→1S0BB
⑴3分请写出三个关于GS的句子;
⑵4分符号串11A0S是否为GS的句型?试证明你的结论。
⑶3分试画出001B关于GS的语法树。
答:(1)三个0和1数量相等的串(2)S1A11AA11A0S(3)
(每个1分)
f2(10分)设有语言Lαα∈01,且α不以0开头,但以00结尾。⑵3分)试写出描述L的正规表达式;⑵(7分)构造识别L的DFA(要求给出详r