是PROVA与Prolog的编译器或解释器的Prolog实现?(Is the Prova imple

2019-10-20 15:30发布

我在看的Java编写的Prolog的系统,PROVA。 https://prova.ws/

但是,目前尚不清楚其付诸实施,Prolog的编译器或解释器的Prolog? 我阅读手册,但没有找到答案。

Answer 1:

有一些传言说PROVA基于Mandarax。 最新版本似乎在相同的方向SWI-的Prolog 7是标题,即,它支持类型的字典和一个点表示法。 在此还看到:

http://prova.ws/confluence/display/REWRITEDEV/Prova+maps+for+defining+slotted+terms

原来Mandarax似乎已经翻译,并在PROVA的用户手册,我们发现一个句子自我声明为一个Prolog的解释,但没有暗示编译。

但似乎有Mandarax(1.1.0),它是某种编译器的新版本,但也许PROVA已经一发不可收拾编译到来之前,它仍然是一个interpeter。

所以,虽然它的自我声明作为Prolog的解释,它是最有可能不是一个ISO Prolog的系统,因为例如OP / 3丢失。 我想它使用AA标记者与一些硬有线运营商和一些硬有线运营商的表达式解析器。 (*)

它仍可能提供一些好东西,但是从文件和二进制文件的大小来判断,他们可能不会很多。 这可能是通过直接嵌入Java的使用点号调用的能力补偿:

http://prova.ws/confluence/display/REWRITEDEV/Calling+Java+from+Prova+rulebases

再见

(*)的PROVA语法甚至去那么远,它需要最终用户编写失败(),而不是失败。 语法的变种,也是在新的SWI-Prolog的7发现,虽然没有与他/她将不再允许使用原子作为目标的最终用户相同的剧烈影响。



文章来源: Is the Prova implemented with a Prolog compiler or Prolog interpreter?