是否可以使用GNU Prolog显示查询的WAM代码?
我知道我可以使用pl2wam为程序生成WAM,但是我对程序执行的查询呢?有没有办法为此显示WAM代码?
我正在使用1.4.4 for x64 Windows
答案 0 :(得分:3)
查询未编译为WAM代码。它们由顶层动态元解释(因此不生成WAM代码)。要查看将由编译器生成的WAM代码,请创建一个带有子句的文件,该子句的头部包含查询的所有名称变量,并且正文对应于查询。 例如,对于查询:
?- append(X,Y,[a,b,c]).
创建一个包含
的Prolog文件query(X,Y) :- append(X,Y,[a,b,c]).
并将其编译为WAM文件以查看结果。