序言中的编译错误

Compilation error in prolog

我正在尝试在 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 文件中):

$ swipl -g "[code]"
12.
23.
35