关于Scheme解释器中interpret-block函数用途的技术疑问
提前致歉哈,接下来我要贴一大段代码出来。先上代码,再说说我碰到的问题:
; 这是作业给定的起始函数库代码片段 (define (interpret expr env) (cond ((symbol? expr) (lookup expr env)) ((pair? expr) (interpret-call expr env)) ((block? expr) (interpret-block expr env)) ; 就是这里的interpret-block让我摸不着头脑 (else expr))) (define (block? expr) (and (pair? expr) (eq? (car expr) 'block))) (define (lookup var env) (cond ((assoc var env) => cdr) (else (error "Undefined variable:" var)))) ; 还有其他相关的辅助函数定义...
我的困惑
我现在在做这份作业,需要基于这套给定的函数库实现interpret函数里的相关功能,目前正在处理interpret-block函数,但完全没搞清楚这个函数的用途是什么。它在整个解释器的执行流程里到底扮演什么角色?专门处理哪种类型的表达式呢?有没有大佬能给我讲讲?
内容的提问来源于stack exchange,提问作者nwelch
相关产品推荐
相关产品推荐

