小编Sim*_*Art的帖子

loader.c程序的问题

前一段时间,我开始分析loader.c -由Ralph装载机写为Bignum的Bakeoff竞争选手的程序(你可以看到我的进步至今这里然而,你可以看到那里,我发现,我穿上"的问题.我知道如何处理.问题是 - xx在该行中取得了什么值xx = Left (lastRight),?它显然取得了Derive(xx)给出的答案的值 - 它实际上是该子程序中xx的值.但它需要多大的价值在那个子程序中?好吧,我们必须查看一个出现在那里的子子程序,依此类推.这不是无限循环,因为在调用Derive(xx)之前,参数实际上在MAYBE宏中减半.但这里是问题 - 在程序中,这个数字在任何时候都没有增加;它被减半了.从我的理解,所有这些减半影响我们得到的xx的最终值是0.

总而言之,似乎,由于重复的递归调用,xx将变为0,但是在查看程序时没有任何意义.所以我的问题是:

xx真的总是值0吗?如果没有,我的推理在什么时候是不正确的?

你可以在这里找到Loader程序的所有部分,以及它如何工作的解释.

在此先感谢您的帮助!

c math type-theory lambda-calculus

6
推荐指数
0
解决办法
1042
查看次数

标签 统计

c ×1

lambda-calculus ×1

math ×1

type-theory ×1