gpt4 book ai didi

prolog - 为 L0 程序术语生成 WAM 代码的正确顺序是什么?

转载 作者:行者123 更新时间:2023-12-04 03:16:47 24 4
gpt4 key购买 nike

Hassan Aït-Kaci's "Warren's Abstract Machine: A Tutorial Reconstruction" 2.2节,L0查询的编译顺序已经很清楚了:寄存器分配必须用从左到右的广度优先搜索,生成代码必须用从左到右的后序深度优先搜索。

在 2.3 节中,寄存器分配(L0 程序)的顺序很明确:从左到右的广度优先搜索。代码生成的顺序不是。仅给出一个例子,我不知道我应该使用 BFS 还是 DFS 来生成代码。

谁能给我以下 L0 程序的 WAM 代码?

p(q(r(a)),s(b)).

最佳答案

我把你的程序放在sample.pl中:

$ cat sample.plp(q(r(a)),s(b)).

Using GNU Prolog, I then did:

$ gplc -w sample.pl

WAM 指令随后包含在 sample.wbc 中:

clause(p(q(r(a)),s(b)),[    get_structure(q/1,0),    unify_structure(r/1),    unify_atom(a),    get_structure(s/1,1),    unify_atom(b),    proceed]).

关于prolog - 为 L0 程序术语生成 WAM 代码的正确顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40312424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com