自循环解释器

✍ dations ◷ 2025-10-12 13:54:07 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 婴儿死亡率婴儿死亡率(英语:infant mortality rate,缩写为IMR)是指每1000名活产儿中在一岁前死亡的人口数。这个比率是衡量一个国家健康水平的指标。由于婴儿死亡率只统计一岁以下的数据,
  • 不列颠群岛坐标:54°N 4°W / 54°N 4°W / 54; -4不列颠群岛(British Isles)是欧洲西北海岸外,大西洋上的群岛。主要包括大不列颠岛、爱尔兰岛、马恩岛、设德兰群岛、奥克尼群岛、赫布里
  • H[BFsub4/sub]Hydrofluoroboric acid Hydrogen Tetrafluoroborate三氟甲磺酸氟硼酸,是一种无色透明的强酸,化学式为HBF4,是氟硼酸盐的共轭酸。氟硼酸在浓性溶液中稳定,加热到130 °C时分解。
  • 绳文时代绳纹时代(日语:繩文時代)指日本旧石器时代末期至新石器时代,这一时期以绳纹陶器的逐步使用为主要特征。关于绳纹时代的开始时间,学术界有不同的观点,有一万六千年前:44、一万三千
  • 壳层电子层,或称电子壳或电子壳层,是原子物理学中,一组拥有相同主量子数n的原子轨道。电子层组成为一粒原子的电子序。这可以证明电子层可容纳最多电子的数量为
  • 袋貂13种,见内文袋貂属(Phalanger)是属于袋貂科的有袋类动物。本属包括下列各物种:
  • 火卫一火卫一,又称为“福波斯”(英语:Phobos;希腊语:Φόβος;系统名称:Mars I),是火星的两颗自然卫星中,距离火星较近且较大的一颗,平均半径为11.1km,是另一颗卫星火卫二的1.8倍。火卫一的
  • 沙里亚法规伊斯兰教法,音译为沙里亚(阿拉伯语:شريعة‎,Šarīʿa,.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicod
  • 杰登史密斯贾登·克里斯托弗·西瑞·史密斯(英语:Jaden Christopher Syre Smith,1998年7月8日-)是一位美国儿童演员、饶舌歌手、歌曲创作者及舞者。他是威尔·史密斯和贾达·萍克特·史密斯
  • 福克兰洋流福克兰洋流(Falkland Current)为一个在巴塔哥尼亚的大西洋沿岸向北流至拉普拉塔河河口的冰冻洋流。福克兰洋流源于西风漂流(west wind drift),即南极洲环流(Antarctic Circumpolar