yacc 求助# CS - 计算机科学
y*a
1 楼
我一个国内朋友问的。我一点印象都没有了, 又没有多少时间。就跑来求助。
哪位能给给一个大致的样板程序,我们也好照猫画虎
1. 利用语法产生工具YACC(Yacc:Yet Another
Compiler-Compiler),实现指令ADD的语法分析(假定语法分析器已经提供);
2. 输出正确指令的编号,或输出出错的信息;
3. 指令ADD的语法格式见下面资料:
句型:
(1) ADD rd, rs, rt
(2) ADD dst, *+ARm(disp1), *+ARn(disp2)
(3) ADD dst, ARm(IR0), rt
(4) ADD dst, *+ARm(disp), Imm
(5) ADD dst, rs, ARm(IR0)
(6) ADD dst, rs, *+ARm(disp)
(7) ADD dst, ARm(IR0), ARn(IR1)
注:
rs: 寄存器 (通用寄存器r0--r31)
rt: 寄存器 (通用寄存器r0--r31)
rd: 寄存器 (通用寄存器r0--r31)
d
哪位能给给一个大致的样板程序,我们也好照猫画虎
1. 利用语法产生工具YACC(Yacc:Yet Another
Compiler-Compiler),实现指令ADD的语法分析(假定语法分析器已经提供);
2. 输出正确指令的编号,或输出出错的信息;
3. 指令ADD的语法格式见下面资料:
句型:
(1) ADD rd, rs, rt
(2) ADD dst, *+ARm(disp1), *+ARn(disp2)
(3) ADD dst, ARm(IR0), rt
(4) ADD dst, *+ARm(disp), Imm
(5) ADD dst, rs, ARm(IR0)
(6) ADD dst, rs, *+ARm(disp)
(7) ADD dst, ARm(IR0), ARn(IR1)
注:
rs: 寄存器 (通用寄存器r0--r31)
rt: 寄存器 (通用寄存器r0--r31)
rd: 寄存器 (通用寄存器r0--r31)
d