自循环解释器

✍ dations ◷ 2025-11-29 01:02:05 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • 黄素核黄素,又称维生素B2,维他命B2,维生素G。分子式C17H20N4O6。它是人体必需的13种维生素之一,作为维生素B族的成员之一,微溶于水,可溶于氯化钠溶液,易溶于稀的氢氧化钠溶液。1879年英
  • 混合火山混合火山(又称复合火山)通常是由火山周围的地形是否混合著熔岩流与火山碎屑岩来判定。.这些火山可能由于喷发类型的改变,或是特定火山上主要通道口位置而形成。复式火山的火山
  • 网络论战网络论战(Flaming (Internet)),日语称炎上,是指网络使用者间的争执出现,属于虚拟社群内的冲突。这个词汇从The Hacker's Dictionary出现,形容愤怒或无理的文字在对此主题有兴趣的
  • 泻湖潟湖是一种因为海湾被沙洲所封闭而演变成的湖泊,所以一般都在海边。这些湖本来都是海湾,后来在海湾的出海口处由于泥沙沉积,使出海口形成了沙洲,继而将海湾与海洋分隔,因而成为湖
  • 卫笑堂卫笑堂(1902年7月23日-1984年3月2日),原名延桐,字梓生,山东栖霞县人,民国时期著名武术家,八步螳螂拳第三代传人,将八步螳螂拳传至台湾。卫笑堂在年青时即喜欢武术,其父卫稽云是地方上
  • 韦布县韦布县(Webb County, Texas)是位于美国德克萨斯州南部的一个县,格兰德河在西界(同时是美国和墨西哥的边界)流过。面积8,743平方公里。根据美国2000年人口普查,共有人口193,117人。
  • 霍勒斯·格里利霍勒斯·格里利(Horace Greeley,1811年2月3日-1872年11月29日),美国著名报人,编辑。《纽约论坛报》的创办者。自由共和党的资助人之一,政治改革家。1840年代到1870年代论坛报在其主
  • 埃米尔·特奥多尔·科赫尔埃米尔·特奥多尔·科赫尔 (Emil Theodor Kocher,1841年8月25日-1917年7月27日)出生于伯恩,是一位瑞士科学家。曾在苏黎世、柏林、伦敦与维也纳接受教育或进行研究,在1865年得到博
  • 卡萨布兰卡 (电影)《卡萨布兰卡》(英语:,港台译《北非谍影》)是一部1942年的美国爱情电影,影史上最成功的经典电影之一。本片荣获1944年奥斯卡的最佳影片、最佳导演,和最佳改编剧本奖。这部电影的角
  • 凯末尔·奎里达欧鲁凯末尔·奎里达欧鲁(土耳其语:Kemal Kılıçdaroğlu;1948年12月17日-),是一名土耳其政治人物,现任共和人民党领袖,亦是2010年以来土耳其最主要的反对党领袖。他在2002年至2015年期