-1
A
답변
4
당신은 당신이 대략 E -> T
(T
다음 E
경우)를 묻는 확인하지에 대한 e --> t
(소문자 (감사 럴커인가 !) 및 DCG 구문, 여기서 "DCG"는 "한정 구문절 문법"입니다.
DCG 구문
e --> t.
가 말을 더 일반적으로
e(L1, L2) :- t(L1, L2).
의 별칭 (또는 바로 가기 또는 문법 설탕, 원하는 경우)이기 때문에
은 DCG 구문은 인수의 몇 가지를 추가 관련된 절의 끝에:-
연산자의 오른쪽에 체인을 만듭니다. 여기서 체인의 시작과 끝은 왼쪽에 추가 된 인수입니다.
그래서 (예에 의한)
d --> c1, c2, ...., cn.
난 당신이 말할 때 당신이 무슨 뜻인지 모르겠어요
d(L1, Lnp1) :- c1(L1, L2), c2(L2, L3), ..., cn(Ln, Lnp1).
의 별칭입니다 * * 연결되어이 코드. 여기서 "링크 된"의미는 무엇입니까? 'E -> T '라는 용어에서'(->)/2'는 정확하게 "함축"을 의미하지는 않지만'E'와'T'의 결과에 따라 Prolog에서 특정한 행동을합니다. 'E'가 실패하면'E-> T'가 실패합니다. 'E -> T'는 실패하고'E'가 성공하고'T'가 실패하면'E'로 되돌아 가지 않습니다 ('E',''E''가 반대로''T''가 실패하면 ,'E'로 역 추적). 'E -> T'는'E'와'T'가 성공하면 성공합니다. 'E -> T'는'E,!, T'처럼 행동합니다. – lurker
정말'e -> t '입니까? 그리고 염두에 두십시오. Prolog에서 중요합니다. 그리고'->'와'->'에는 큰 차이가 있습니다. – lurker