自循环解释器

✍ dations ◷ 2025-12-09 21:11:05 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 丝氨酸蛋白酶抑制剂结构 / ECOD1m37A:1-378 1hleB:349-379 1jrrA:1-415 1by7A:1-415 1ovaA:1-385 1uhgA:1-385 1jtiB:1-385 1attB:77-433 1nq9L:76-461 1oyhI:76-461
  • 性腺发育性腺的发育是生殖系统在胚胎发育过程中的一环,在男性会发育为睾丸,女性则为卵巢。卵巢的部分会分化为中央的髓质以及外部的生殖上皮。未成熟的卵源自于卵黄囊背侧内胚层的细胞
  • 超人类主义超人类主义(英语:Transhumanism,缩写为H+或h+)有时也被称为超人文主义或超人主义,是一个与人类增强类似的术语。它现在是一个国际性的文化智力运动,支持使用科学技术来增强 精神、
  • 佛契哥特罗伯·佛契哥特(英语:Robert Francis Furchgott,1916年6月4日-2009年5月19日),生于美国南卡罗莱那州的查尔斯顿,美国化学家。佛契哥特于1937年在北卡罗来纳大学化学系学士毕业,并于1
  • 核糖核酸外切酶核糖核酸外切酶(Exoribonucleases)是核糖核酸(RNA)的外切酶,是一种能降解RNA,并在5'端或3'端的核苷酸移除的酶。能移除5'端核苷酸的这种酶称作“5'-3'核糖核酸外切酶”,而能移除3'
  • 暖武里府暖武里府(泰语:จังหวัดนนทบุรี,皇家转写:Changwat Nonthaburi,泰语发音:)是泰国中部之一个府。以前称为“曼达拉昆村”,于1549年的大城时代被昇格并更名为“武里城”
  • 工程兵团美国陆军工程兵团(英语:United States Army Corps of Engineers,简称为:USACE)是隶属于美国联邦政府和美国陆军的军级单位,由37,000名美国陆军官兵和其他联邦文职人员组成,是世界
  • 摩西律法摩西律法(英语:Mosaic law)指的是上帝通过摩西向以色列人(原犹太人)颁布的诫命;在基督教中,简称律法。根据指示的宽泛程度,摩西律法可以指:在少数情况下,摩西律法也可指:
  • 墨尔本曳步舞墨尔本曳步舞(英语:Melbourne shuffle),又称鬼步舞,是一种拖着脚走的舞步,动作快速有力,音乐强悍有震撼力,舞蹈充满动感活力,极具现场渲染力,有着非凡的飘逸感。20世纪80年代兴起于澳
  • MIPS架构处理器自从1985年以来,各种基于MIPS架构的中央处理器、SoCs已经被设计出来且广泛使用。1985年,第一个MIPS微处理器R2000发布。它在某种独立的片上单元中增加了多周期乘法和除法指令