×

使用手写编译器生成器LOGEN在Prolog中实现高效专业化。 (英语) Zbl 0958.68036号

Michael Leuschel(编辑),WOID’99。关于声明性程序的优化和实现的研讨会。美国新墨西哥州拉斯克鲁斯,1999年12月2日至3日。阿姆斯特丹:爱思唯尔,理论计算机科学电子笔记。30,2,6页,仅电子版(1999年)。
摘要:所谓的程序专业化“COGEN方法”,即编写编译器生成器而不是专门程序,在函数式和命令式语言的部分评估中都取得了相当大的成功。在之前的工作中,我们已经表明,这种方法也适用于逻辑编程语言的部分求值,也称为部分演绎。在本文中,我们通过允许部分实例化数据结构(通过绑定类型)对此进行了扩展,这在逻辑编程上下文中尤其重要。我们还扩展了COGEN,以直接支持Prolog的大部分声明性和非声明性功能,以及如何有效地集成半在线专业化。基准测试表明,生成的COGEN非常有效,生成的扩展非常有效(执行速度比当前在线系统快几个数量级),反过来,它执行非常好的非平凡专业化,甚至可以与现有在线系统媲美。
关于整个系列,请参见[Zbl 0942.00050号].

MSC公司:

68N17号 逻辑编程
第68页第20页 编译与解释理论

关键词:

COGEN方法
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Bruynooghe,M。;Leuschel,M。;Sagonas,K.:离线部分演绎的多变量结合时间分析。欧洲编程研讨会会议记录(ESOP’98),LNCS 1381,27-41(1998年4月)
[2] Chen,W。;基弗,M。;Warren,D.S.:高阶逻辑编程结构的一阶语义。逻辑编程:北美会议论文集,1090-1114(1989)
[3] De Schreye,D。;吕克,R。;Jörgensen,J。;Leuschel,M。;马滕斯,B。;Sörensen,M.H.:结合部分演绎:基础、控制、算法和实验。《逻辑编程杂志》第41期第2、3期第231-277页(1999年11月)·Zbl 0944.68025号
[4] C.K.Holst。句法套用:另一种部分评价方法。哥本哈根大学计算机科学系DIKU技术报告,1989年。
[5] Jörgensen,J。;Leuschel,M.:在序言中高效生成高效的生成扩展。1996年Dagstuhl部分评估研讨会论文集,LNCS 1110,238-262(1996)
[6] M.Leuschel先生。ecce部分演绎系统和dppd基准库。可通过以下方式获得网址:http://www.ecs.soton.ac.uk/mal,1996年。
[7] Leuschel,M。;Jörgensen,J.:使用手写编译器生成器对序言进行高效专门化。南安普顿大学电子与计算机科学系技术报告DSSE-TR-99-6(1999年9月)·Zbl 1085.68020号
[8] Leuschel,M。;马滕斯,B。;De Schreye,D.:控制正规逻辑程序部分推导中的广义化和多元性。关于编程语言和系统的ACM事务20,No.1,208-258(1998年1月)
[9] J.Martin和M.Leuschel。声波部分扣除。《第三届系统信息学观点国际Ershov会议论文集》,LNCS 1755,俄罗斯新西伯利亚,1999年。斯普林格·弗拉格。出现·Zbl 0970.68680号
[10] Sahlin,D.:Mixtus:完整序言的自动部分求值器。新一代计算12,No.1,7-51(1993)·Zbl 0942.68516号
[11] 斯特林,L。;夏皮罗:序言的艺术。(1986) ·Zbl 0605.68002号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。