自循环解释器

✍ dations ◷ 2025-02-23 14:36:24 #计算机编程,计算机科学

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

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

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

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

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

(+ (square 2) (square 3))

其解释过程如下:

相关

  • H[BFsub4/sub]Hydrofluoroboric acid Hydrogen Tetrafluoroborate三氟甲磺酸氟硼酸,是一种无色透明的强酸,化学式为HBF4,是氟硼酸盐的共轭酸。氟硼酸在浓性溶液中稳定,加热到130 °C时分解。
  • 高知特高知特(英语:Cognizant Technology Solutions Corp),是一家管理咨询、信息技术及业务流程外包服务供应商。总部位于新泽西州的提内克。是纳斯达克100指数和标准普尔500指数的成
  • 预知预知(precognition),是一种超感官知觉,让“感知者”能“感知”到(而不是由已有的知识推理出)未来会发生的事。又称特异功能。有个相关的词叫“预感”,是指一种人心中关于未来事件的
  • 穆尔河穆尔河(德语:Mur、克罗地亚语:Mura、匈牙利语:Mura、斯洛文尼亚语:Mura)是中欧的一条河流,德拉瓦河的支流之一。全长465 公里,其中295公里在奥地利境内,98公里在斯洛文尼亚境内,其余河
  • 萨米特县萨米特县(Summit County, Colorado)是美国科罗拉多州中西部的一个县。面积1,604平方公里。根据美国2000年人口普查,共有人口25,399。县治布雷肯里奇。萨米特县成立于1861年11月
  • 阿特纳语阿特纳语是阿特纳人的民族语,属纳-德内语系。现在使用人数大约为80人,为阿拉斯加州官方语言之一。三种阿萨巴斯卡语言的动物词汇比较:
  • 汉字部件汉字部件是汉字字形结构的基本单元,具有组配汉字的功能。其由笔画构成,介于笔画与部首二者之间。其研究虽然古代已有人进行,但在手写时代并未受到重视。一直要到现代资讯科技发
  • 捷克航空捷克航空(捷克语:České aerolinie / ČSA;英语:Czech Airlines)是捷克的国家航空公司,也是前捷克斯洛伐克的国家航空公司,以布拉格瓦茨拉夫·哈维尔机场为基地。该公司之航线飞往
  • 多明戈食蚊鱼多明戈食蚊鱼,为辐鳍鱼纲鲤齿目鲤齿亚目花鳉科的其中一种,被IUCN列为濒危保育类动物,分布于中美洲海地及多米尼加的淡水流域,体长可达2.5公分,属于肉食性,生活习性不明,可作为观赏
  • 1-壬炔1-壬炔(英语:1-nonyne)是壬炔的一种,有正壬烷的骨架结构,1号与2号碳原子之间为碳碳三键,是重要的化学合成原料。