我正在使用 SICStus Prolog 编写 Dali 代理,我需要将原子转换为术语,但我无法使用atom_to_term
内置于 SWI-Prolog
Use library(codesio) http://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/lib_002dcodesio.html:
| ?- use_module(library(codesio)).
yes
?- set_prolog_flag(double_quotes,codes).
true.
| ?- read_from_codes("a(X,Y).",T).
T = a(_A,_B) ? yes
| ?- read_term_from_codes("a(X,Y).",T,[variable_names(VN_list)]).
T = a(_A,_B),
VN_list = ['X'=_A,'Y'=_B] ?
除此之外,你还需要atom_codes/2
这是ISO。
对于更复杂的操作,您可以使用以下命令打开流open_codes_stream/2
。需要关闭哪个close/1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)