我已经在 prolog 中编写了一段时间的代码,它几乎值得编译,我所有的想法似乎都很可靠,所以它在编译时应该可以工作。它是一个程序,它查询数据库文件以获取子句列表,然后等待用户查询,然后它将从句子中选择所需的信息并适当地查询数据库,但有一段代码保留给我错误,抱怨标准谓词中不存在流模式,这可能是一个愚蠢的问题,但即使我已经做了所有的调查,如果有人可以帮助我,我还是无法找到解决这个问题的方法或指出我正确的方向,将不胜感激。
这是给出错误的代码块:
loop(STR):-
scan(STR,LIST),
filter(LIST,LISroT1),
pars(LIST1,LIST2),
fail.
loop(STR):- STR >< "",readquery(L),loop(L).
readquery(QUERY):-nl,nl,write("Query: "),readln(QUERY).
scan(STR,[TOK|LIST]):-
fronttoken(STR,SYMB,STR1),!,
upper_lower(SYMB,TOK),
scan(STR1,LIST).
编译器抱怨的具体行是 fronttoken(STR,SYMB,STR),!, 任何帮助将不胜感激!