自循环解释器

✍ dations ◷ 2025-04-03 13:37:20 #计算机编程,计算机科学

自循环解释器(英语:Meta-circular evaluator)是元解释器(Metainterpreter,或Self-interpreter)的一种。自循环解释器不仅是在解释型语言中写成(如Scheme的自循环解释器是在Scheme中写成),而且通过底层语言的功能来实现解释型语言的功能。因此,自循环解释器不需担心如何具体实现任何功能,而只需处理语言读入与解释,所以尤其适合作为教育用途。自循环解释器一般在同像(即程序与数据为同一格式,如Lisp)的语言中出现。

自循环解释器最早出现于约翰·麦卡锡的Lisp 1.5版定义,其中麦卡锡以Lisp语言的功能来描述Lisp的解释规则。

著名计算机科学教科书《计算机程序的构造和解释》详细研究了一个Scheme语言的自循环解释器。此书中的解释器包含两个主要元素:

这两个元素互相调用,并最终将整个程序转换为其取值。

例如以下简单的Scheme表示式(假设square是一个内置函数,其返回值为参数的平方):

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 皇甫谧皇甫.mw-parser-output ruby>rt,.mw-parser-output ruby>rtc{font-feature-settings:"ruby"1}.mw-parser-output ruby.large{font-size:250%}.mw-parser-output ruby.larger
  • 冲积层冲积层是冲积物在河床上的堆积,主要含有卵石、砂粒或粘土,有时候也会含有贵金属或宝石。贵重的金属可以通过淘砂的方法收集。历史上许多宝石(特别是钻石)都发现于印度、非洲西岸
  • 鼩负鼠目 Paucituberculata鼩负鼠属(Caenolestes)  秘鲁鼩负鼠属(Lestoros)  智利袋鼠属(Rhyncholestes)鼩负鼠目,学名Caenolestidae,为哺乳纲的一个目,只有鼩负鼠科一科,包括鼩负鼠属、秘鲁鼩负鼠属、
  • 互联网协会互联网协会(英语:Internet Society,简称ISOC)是一个非营利的国际性组织,成立于1992年,以促进使用互联网使用为目的。它的会员制有以下几种:个人(任何人均可免费加入)、公司、组织、政
  • 含肺鱼含肺鱼(学名:Hyneria)是一种史前的掠食性鱼类,生存于3亿6000万年前的泥盆纪法门阶。它们体长约2.5~3.7米(8.2~12.1英尺)并重达2吨,是目前发现第二大的肉鳍鱼,仅次于根齿鱼属。其骨骼显
  • 张 萍张萍(1982年3月23日-),天津人,中国女子排球运动员,中国女排主力副攻手之一。在2004年雅典奥运会中国和俄罗斯的比赛中有突出表现。张萍身高1米87,体重73公斤,身披18号球衣。2003年全
  • 拱门国家公园拱门国家公园(英语:Arches National Park)是美国的一个国家公园,保存了包括世界知名的精致拱门在内的超过2000座天然岩石拱门。拱门国家公园位于犹他州靠近摩押处,面积309平方公
  • 金手指网络广告奖在1999年成立的金手指网络广告奖,也称作金手指网络奖,是华文界的第一个网络大奖,主要目的是鼓励网络世界的多元创意。金手指网络广告奖一开始,是由中时电子报、PC Home Online、
  • 一般线性模型一般线性模型(general linear model, multivariate regression model)是一个统计学上常见的线性模型(英语:Linear model)。这个模型在计量经济学的应用中十分重要。不要与多元线
  • 路德维希·阿希姆·冯·阿尔尼姆路德维希·阿希姆·冯·阿尔尼姆(德语:Ludwig Achim von Arnim,1781年1月26日-1831年1月21日),德国作家,海德堡浪漫派的代表人物。阿尔尼姆出生于柏林,从小受普鲁士容克贵族教育。17