自循环解释器

✍ dations ◷ 2025-12-06 07:26:32 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 纽约总部联合国总部大楼(亦称联合国大厦)是联合国总部的所在地,位于美国纽约市曼哈顿区东侧,属于国际领土,因此只要是会员国国民持有护照就可以进入,包括与美国无邦交的联合国会员国。从联
  • 柬埔寨法院特别法庭柬埔寨法院特别法庭(高棉语:អង្គជំនុំជម្រះវិសាមញ្ញក្នុងតុលាការកម្ពុជា,angk chomnoumchomreah visaeamonhnh knong tolakar kampo
  • 商品在经济学和会计学上,商品(英语:Good),或物品、货物,是一种用于满足购买者欲望和需求的产品,同时提供效用,例如为购物的消费者提供效用。狭义概念中的商品是一种有形的物质产品,区别于
  • 北美13个殖民地十三个殖民地(英语:Thirteen Colonies)是指大英帝国于1607年(弗吉尼亚)至1733年(乔治亚)在北美洲大西洋沿岸建立的一系列殖民地。这些殖民地最终成为了美国独立时的组成部分,即后来
  • MERS病毒中东呼吸系统综合征冠状病毒是导致中东呼吸系统综合征的病原体(英文缩写:MERS-CoV 或代号:EMC/2012‘HCoV-EMC/2012’)引起,有别于严重急性呼吸系统综合征冠状病毒和普通伤风冠状
  • Lanosterol羊毛甾醇(Lanosterol)是一种甾体化合物,分子式C30H50O,动物和真菌合成类固醇的过程中均经过此化合物。而植物的甾体合成则通过环阿屯醇。酶催化下,角鲨烯闭环形成羊毛甾醇,该过程
  • 磨蚀磨蚀(Corrasion)是一种风的地质作用,当气流中包含水分和硬颗粒物质,如沙粒等时,其破坏作用增强。借助硬颗粒进行的破坏作用称为磨蚀。磨蚀作用在狭窄的山谷,大裂隙带以及被强烈烘
  • 成功破坏英国英国伊拉克战争是在1941年时,纳粹德国煽动伊拉克首相拉希德·阿里率领伊拉克人民反抗英军,攻击英军的基地及补给站,但是最后被英军击败。1941年5月,纳粹德国为了给在中东地
  • 约翰·肯尼迪表演艺术中心约翰·菲茨杰拉德·肯尼迪表演艺术中心(英语:John F. Kennedy Center for the Performing Arts),建筑本身称为约翰·菲茨杰拉德·肯尼迪表演艺术纪念中心(英语:John F. Kennedy Me
  • 2000系2000系、2000形(日文)或2000호대(谚文)是日本、韩国的铁路车辆系列:资料不详