y***a 发帖数: 840 | 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 | f*****p 发帖数: 235 | 2 Let him/her google a simple tutorial about yacc.
【在 y***a 的大作中提到】 : 我一个国内朋友问的。我一点印象都没有了, 又没有多少时间。就跑来求助。 : 哪位能给给一个大致的样板程序,我们也好照猫画虎 : 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
|
|