基于属性文法的非确定性函数式语言向Java的翻译
摘要:将基于知识的系统翻译成适合实现需要领域专业知识的高级功能,而知识表示语言及其支持环境对于实现此类系统至关重要。尽管Prolog在实现此类支持环境方面非常有用和有效,但与其他实现语言(如Java)的语言互操作性往往是实际应用开发中的重要问题。本文描述了将基于属性语法的非确定性函数语言进行翻译为Java的技术。翻译基于二进制化和Prolog到Java翻译提出的技术,尽管语义与Prolog不同。引入了延续单元来有效处理延续,而使用变量的单一和单向赋值特性简化了回溯时的变量和寄存器管理。使用该语言编写的实验性翻译器成功生成了Java代码,实验结果显示生成的代码在非确定性程序方面比Prolog Cafe快25倍以上,确定性程序方面快两倍以上。对于非确定性程序,生成的代码也比B-Prolog快两倍以上。
作者:Masanobu Umeda, Ryoto Naruse, Hiroaki Sone, Keiichi Katamine
论文ID:1109.0638
分类:Programming Languages
分类简称:cs.PL
提交时间:2011-09-06