- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在黑客的背景下 clpz在 sicstus-prolog我想看一眼warren-abstract-machine由 SICStus Prolog 生成的代码。
例如,让我们剖析以下谓词!
is_list([]).
is_list([_|Es]) :- is_list(Es).
is_list/1
的 2 个子句分成 2 个单独的谓词并添加 2 个虚拟子句:最佳答案
有一种更简单的方法:未记录、不受支持的 library(disassembler)
.
除了 WAM 指令之外,您还可以使用它以编程方式获取有关第一个参数索引的信息。有关更多信息,请参阅来源。
| ?- use_module(library(disassembler)).
% ...
yes
| ?- [user].
% compiling user...
| foo([],Ys,Ys). foo([X|Xs],Ys,[X|Zs]) :- foo(Xs,Ys,Zs). end_of_file.
% compiled user in module user, 89 msec 599696 bytes
yes
| ?- disassemble(foo/3).
% Predicate: user:foo/3 (user)
% Varcase: [4343940512-4343958960,4346212208-4343221120]
% Lstcase: [4346212212]
% Switch: [[]=4343940516], default: failcode
% clause indexed [var,number,atom,structure] (user)
% 4343940512: 'GET_NIL_X0'
% 4343940516: 'GET_X_VALUE_PROCEED'(x(1),x(2))
% 4343940528: 'END_OF_CLAUSEQ'(user:foo/3)
% clause indexed [var,list] (user)
% 4346212208: 'GET_LIST_X0'
% 4346212212: 'U2_XVAR_XVAR'(x(3,0),x(0,0))
% 4346212224: 'GET_LIST'(x(2))
% 4346212232: 'U2_XVAL_XVAR'(x(3),x(2,0))
% 4346212244: 'EXECUTE'(user:foo/3)
% 4346212256: 'END_OF_CLAUSEQ'(user:foo/3)
yes
| ?-
关于prolog - 如何在 SICStus Prolog 中检查 WAM 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57736615/
WAM:重构教程指出查询 p(Z, h(Z,W), f(W)) 需要使用以下原则展平: 话虽这么说,查询扁平化形式是: X3=h(X2, X5), X4=f(X5), X1=p(X2, X3, X4)
我记得有一次读到至少有两种其他替代品与 WAM 大致同时发明。任何指针? 最佳答案 在 WAM 之前,有 Clocksin 的 ZIP。它的设计还是很有趣的。 SWI-Prolog 使用它。 B-Pr
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 7年前关闭。 Improve this questi
Warren's Abstract Machine: A Tutorial Reconstruction 中的练习 2.2 要求表示项 f(X, g(X, a)) 和 f(b, Y),然后对这些项的地
在Hassan Aït-Kaci's "Warren's Abstract Machine: A Tutorial Reconstruction" 2.2节,L0查询的编译顺序已经很清楚了:寄存器分配
在黑客的背景下 clpz在 sicstus-prolog我想看一眼warren-abstract-machine由 SICStus Prolog 生成的代码。 例如,让我们剖析以下谓词! is_lis
是否可以使用 GNU Prolog 显示查询的 WAM 代码? ? 我知道我可以使用 pl2wam 为程序生成 WAM,但是我对程序执行的查询呢?有没有办法为此显示 WAM 代码? 我在 x64 Wi
我刚刚创建了我的第一个 WAMS(请安静 - 请不要歇斯底里)。 但是,当我进入 WAMS 管理区域时,它要求我“选择平台”,其中包含“Windows 应用商店”、“Windows Phone 8”和
有什么方法可以使 whatsapp 的那部分工作 document interaction API : Alternatively, if you want to show only WhatsApp
我一直在尝试使用 MPEG-DASH 的 dash.js reference player播放来 self 的 Windows Azure 媒体服务 (WAMS) 帐户的媒体。不幸的是,Chrome
我正在阅读 Hassan Ait-Kaci 的书 Warren's Abstract Machine - A Tutorial Reconstruction .目前我停留在第 2.4 节“参数寄存器”
我是一名优秀的程序员,十分优秀!