|
本题添加时间:2023/4/3 12:59:00 |
|
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号) |
[简答题,10分] 已知文法 A->aAd| aAb|ε 判断该文法是否SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程
|
答案是:(1)拓广文法 (0)S->A (1) A->aAd (2)A-> aAb (3)A->ε (2)构造识别活前缀的DFA FOLLOW(A)={d,b,#} 对于状态I0:FOLLOW(A)∩{a}=Ф 对于状态I1:FOLLOW(A)∩{a}=Ф 因为,在DFA中无冲突的现象,所以该文法是SLR(1)文法。 (3)SLR(1)分析表 状态 ACTION GOTO a B d # A 0 S2 r3 r3 r3 1 1 acc 2 S2 r3 r3 r3 3 3 S5 S4 4 r1 r1 r1 5 r2 r2 r2 (4)串ab#的分析过程 步骤 状态栈 符号栈 当前字符 剩余字符串 动作 1 0 # a b# 移进 2 02 #a b # 归约A->ε 3 023 #aA b # 移进 4 0235 #aAb # 归约A-> aAb 5 01 #A # 接受
出自
信阳师范编译原理 联大系统
信阳师范学院
|
更多试题>>>>
1、[填空题,10分] 编译方式与解释方式的根本区别在于()
2、[填空题,10分] 若源程序是用高级语言编写的,()是机器语言程序或汇编程序, 则其翻译程序称为()
3、[填空题,10分] 编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码 生成,代码优化等几个基本阶段,同时还会伴有(),()
4、规格说明
5、解释程序
|
|