Compiler errors prolog中的编译错误

Compiler errors prolog中的编译错误,compiler-errors,prolog,sum,swi-prolog,Compiler Errors,Prolog,Sum,Swi Prolog,我试图用prolog编写一个代码,从标准输入中读取两个整数并输出它们的和。 但我得到了编译错误。请帮忙 :- set_prolog_flag(verbose,silent). :- prompt(_, ''). :- use_module(library(readutil)). main:- process, halt. process:- /* your code goes here */ readreal(X), readreal(Y),

我试图用prolog编写一个代码,从标准输入中读取两个整数并输出它们的和。 但我得到了编译错误。请帮忙

:- set_prolog_flag(verbose,silent).
:- prompt(_, '').
:- use_module(library(readutil)).

main:-
    process,
    halt.

process:-
    /* your code goes here */
    readreal(X),
    readreal(Y),
    S = X+Y,
    write(S).
    true.

:- main.

正如评论中指出的,代码中存在几个问题。此外,SWI Prolog或其
readutil
库中没有任何
readreal/1
内置谓词。简化和修复代码:

:- set_prolog_flag(verbose,silent).
:- prompt(_, '').

main:-
    process,
    halt.

process:-
    /* your code goes here */
    read(X),
    read(Y),
    S is X+Y,
    write(S).

:- main.
示例执行(假定保存在当前目录中的
code.pl
文件中):


如果我们知道确切的错误,帮助您会容易得多…错误:-g user:(main,halt):“”/1:未定义的过程:main/0应该是
S is X+Y
=/2
是统一,而不是算术表达式求值。此外,您正在尝试重新定义标准控件构造
true/0
。删除那一行,这样做。仍然给出运行时错误。
$ swipl -g "[code]"
12.
23.
35