自循环解释器

✍ dations ◷ 2025-12-08 07:24:55 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 弹射座椅弹射椅(Ejection seat),或称弹射座椅,是军用飞机及载人太空船飞行员用的座椅,可在紧急情况下将飞行员弹离飞行器并使其安全着陆的航空救生设备,太空船通常是配备逃逸塔,直接将乘员
  • 嘻哈Hip-Hop(英语:Hip hop),是1970年代源自纽约市南布朗克斯与哈林区的非洲裔及拉丁裔青年之间的一种边缘性次文化,继而发展壮大成为新兴艺术型态,并席卷全球。Hip-Hop包含说唱、DJ、
  • 文圣常文圣常(1921年11月1日-),中国物理海洋学家。出生于河南光山。1944年毕业于武汉大学。1947年毕业于美国航空机械学校。1993年当选为中国科学院院士。中国海洋大学教授。曾任山东
  • 阿耳吉丰忒斯赫耳墨斯(古希腊语:.mw-parser-output .Polytonic{font-family:"SBL BibLit","SBL Greek","EB Garamond","EB Garamond 12","Foulis Greek",Cardo,"Gentium Plus",Gentium,"Th
  • 造山纪造山纪(Orosirian,符号PP3)是地质时代中的一个纪,开始于同位素年龄20亿5000万年前,结束于18亿年前。造山纪期间蓝藻、细菌繁盛。造山纪属于前寒武纪元古宙古元古代;造山纪的上一纪
  • 伍斯特坐标:52°13′11″N 2°13′24″W / 52.21972°N 2.22333°W / 52.21972; -2.22333伍斯特郡(英语:Worcestershire,国际音标: .mw-parser-output .IPA{font-family:"Charis SIL",
  • 罗杰米尔斯罗杰米尔斯县(Roger Mills County, Oklahoma)是美国奥克拉荷马州西部的一个县,西邻德克萨斯州。面积2,969平方公里。根据美国2000年人口普查,共有人口3,436人。县治夏延 (Cheyen
  • 2019冠状病毒病巴西疫情2月2月3月3月4月4月过去15日过去15日 2019冠状病毒病巴西疫情介绍2019冠状病毒病疫情于巴西发生之情况。2月25日,据巴西《圣保罗州报》报道,巴西圣保罗市当天发现了首例新冠病
  • 埃及现代史埃及现代史,始于1882年英军出兵埃及,协助埃及苏丹特费克镇压艾哈迈德·阿拉比的叛乱,之后继续留在埃及,虽然那时埃及名义上还属于奥斯曼帝国,但是实际上被英国控制。1914年埃及正
  • 2010年碧特博格羽毛球黄金大奖赛2010年碧特博格羽毛球黄金大奖赛为第23届碧特博格羽毛球公开赛,是2010年世界羽联大奖赛的其中一站。本届赛事于2010年8月31日-9月5日在德国萨尔州的首府萨尔布吕肯举行,并获得