Prolog 符号表序言

Prolog 符号表序言,prolog,global-variables,swi-prolog,Prolog,Global Variables,Swi Prolog,我正试图在Prolog中构建一个符号表。到目前为止,我已经定义了两个谓词,但如何使用它们或更正它们却超出了我的理解范围。我想得到一些关于如何进行的帮助。多谢各位 create_empty_table:- use_module(library(assoc)),empty_assoc(A), b_setval(idex,A). add_symbol(Key,Value):- b_getval(idex,Output), get_assoc(Key, idex,Outpu

我正试图在Prolog中构建一个符号表。到目前为止,我已经定义了两个谓词,但如何使用它们或更正它们却超出了我的理解范围。我想得到一些关于如何进行的帮助。多谢各位

create_empty_table:-
   use_module(library(assoc)),empty_assoc(A),
   b_setval(idex,A).

add_symbol(Key,Value):-
    b_getval(idex,Output),
    get_assoc(Key, idex,Output, idex,[Value|CurrentValue]),
    b.setval(idex,[Value|CurrentValue]).

第一个很好用。我不知道如何使用第二个。b_getval给了我一个实例化不足的错误。

说真的:这不是进入Prolog的好开始。
b_getval
需要您尝试检索的全局值的名称(原子)。您正在向
b_getval
传递两个uinstantiated变量,因此它不知道您所指的名称。您需要将assoc名称传递给
添加\u symbol