自循环解释器

✍ dations ◷ 2025-12-05 18:02:34 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • ICD-9编码列表 (460–519)医学导航: 呼吸系统解剖(n, x, l, c)/生理/发育病理(c, p)/先天/肿瘤, 症状/人名体征, 创伤手术, 药品(R1/2/3/5/6/7)
  • 同担子菌亚纲同担子菌亚纲(Homobasidiomycetes),又称无隔担子菌亚纲,在2001年已经被合并到伞菌纲,在此之前是真菌下属担子菌门的一类,并且也是担子菌门中种类最多的一个亚纲。同担子菌亚纲饱含
  • Leipzig莱比锡(德语:Leipzig,索布语:Lipzk)是德国萨克森州第一大城市,前德意志民主共和国(东德)第一大城市。位于萨克森州莱比锡盆地中心。它的古称是Lipsia或Lipzk,来源于斯拉夫语Липа,
  • 亚当斯劳拉·简·亚当斯(Laura Jane Addams,1860年9月6日-1935年5月21日)是个美国社会工作者、社会学家、哲学家和改革家。她因争取妇女、黑人移居的权利而获1931年诺贝尔和平奖,也是美
  • 普罗克洛普罗克洛(希腊语:Πρόκλος,Próklos,412年2月8日-485年4月17日)也作普罗克洛斯、普洛克罗,最后一位主要的希腊哲学家,新柏拉图主义的集大成者。出生于拜占庭帝国君士坦丁堡。
  • 美国最高法院案例列表这是由美国最高法院判决的案例列表。但本列表并非收录了所有该院的判例,完整的判例列表详见美国最高法院判例汇编案例列表。1789年–1819年 · 1820年–1839年 · 1840年
  • 四季豆菜豆(学名:Phaseolus vulgaris)通称包括云藊豆、白肾豆、架豆、芸豆、刀豆、玉豆、去豆、四季豆等,一年生豆科植物,是餐桌上的常见蔬菜之一。油豆角(Phaseolus vulgaris var. chin
  • 坐骨坐骨(ischium),是构成四肢动物骨盆带的骨骼之一。人类而言,位于骨盆下方,共有两块。坐骨骨骼坚硬,分坐骨体和坐骨支两部分。坐骨体后端的骨突称作坐骨棘。坐骨棘的后上方为坐骨大
  • 提刑提刑,官名,是“提点刑狱公事”的简称。北宋初设于各路,主管所属各州的司法、刑狱和监察,兼管农桑,其官署称司,号“宪司”,京畿地区设提点开封府界诸县镇公事,掌畿内县镇刑狱、治安、
  • 古茂山站古茂山站(韩语:고무산역)是朝鲜民主主义人民共和国咸镜北道富宁郡古茂山劳动者区的一个铁路车站,属于咸北线和茂山线。咸北线茂山线