实现 4/5:闭包
(n08 五道题共用一段开头:06 的词法/语法/Env/RunError,五段验收程序 PROGS(和 06 的一样:14|20 / 10 / 81 / 11|12 / 错误:除以零),和 run_progs(编译函数, VM函数, k):把前 k 段各编译、各跑。这五道题自己写编译器和 VM——每题在上一题的基础上加。)
3/5 的 MAKE_FN 如果记的不是「定义时的环境」而是调用时的,第四段会错。改好 MAKE_FN 和 CALL,让第四段打出 11|12。
(n08 五道题共用一段开头:06 的词法/语法/Env/RunError,五段验收程序 PROGS(和 06 的一样:14|20 / 10 / 81 / 11|12 / 错误:除以零),和 run_progs(编译函数, VM函数, k):把前 k 段各编译、各跑。这五道题自己写编译器和 VM——每题在上一题的基础上加。)
3/5 的 MAKE_FN 如果记的不是「定义时的环境」而是调用时的,第四段会错。改好 MAKE_FN 和 CALL,让第四段打出 11|12。
全部评论