2011-09-11 9 views
0

uni에서 작업에 대한 예제로 몇 가지 코드를 받았습니다. 저는 예제를 실행하려고 노력하고 있습니다. 그래서 나는 비슷한 예제를 만들기 위해 실제 예제를 볼 수 있습니다. 나는 대부분의 오류를 수정했다 (그들은 "->"대신 "->"를 가졌다). 그러나 여전히 나에게 오류 메시지를 준다.Prolog -> operator-operator expected

example.pl:4:0: Syntax error: Operator expected 
% example.pl compiled 0.00 sec, 240 bytes 
true. 

expr --> num. 
expr --> num, "+", expr. 
expr --> num, "-", expr. 
num --> [D] { D >= "0", "9" >= D}. 

나는 마지막 줄과 같은 것을 사용하지 않으므로 어떤 오류인지 알 수 없습니다. 나는 "->"연산자에 대한 정보를 봤는데 그 이유는 링크가있을 수 있다고 생각하기도 전에 사용하지 않았기 때문이다.하지만 그것에 관해 유용한 정보는 찾지 못했다. swi-prolog를 사용하고 있습니다.

+0

-> {코드} 기본적으로 DCG 절은 http 프롤로그에서 코드가 포함 DCG 조항의 몸에서 머리를 분리해서하는 데 사용됩니다 : // www.swi-prolog.org/pldoc/doc_for?object=section%282,%274.11%27,swi%28%27/doc/Manual/DCG.html%27%29%29 –

답변

2

당신은 마지막 절에 쉼표 누락 : [D], ...