我希望能够确定在我的测试中为我正在测试的编译器(scheme -> cisc-assembly)计算的最后一个值。
我已经有一个脚本可以自动执行大多数测试和编译过程,但我想自动比较编译器的输出(存储在寄存器 #0 [R0] 并打印)与chez的(chez 是编译器)输出(不知道如何“获取”最后一个计算的参数,这是我想要比较的)。
有没有办法做到这一点?还是我必须创建重复的测试,其中一个在最后一个参数上带有硬编码打印(“显示”)?
一个简单的测试文件示例:
;---------------------
((lambda (x) x) #t)
;---------------------
这将编译为一个相当复杂且长的 .c 文件,其中包含集成顺式程序集,该程序集将最后一个表达式的结果存储在一个特殊的寄存器中。
有没有办法回显的最后结果
((lambda (x) x) #t)
(即#t)没有基于 chez-scheme 的评估手动修改文件的明显解决方案?
提前感谢任何帮助或线索。