GNU Prolog:显示WAM代码以进行查询?

时间:2013-10-26 23:57:10

标签: prolog gnu-prolog warren-abstract-machine

是否可以使用GNU Prolog显示查询的WAM代码?

我知道我可以使用pl2wam为程序生成WAM,但是我对程序执行的查询呢?有没有办法为此显示WAM代码?

我正在使用1.4.4 for x64 Windows

1 个答案:

答案 0 :(得分:3)

查询未编译为WAM代码。它们由顶层动态元解释(因此不生成WAM代码)。要查看将由编译器生成的WAM代码,请创建一个带有子句的文件,该子句的头部包含查询的所有名称变量,并且正文对应于查询。 例如,对于查询:

?- append(X,Y,[a,b,c]).

创建一个包含

的Prolog文件
query(X,Y) :- append(X,Y,[a,b,c]).

并将其编译为WAM文件以查看结果。