dcg

    2

    1답변

    프롤로그 조건자를 DCG 코드로 변환하려고합니다. 문법 langage에 익숙하다 할지라도 DCG가 어떻게 목록과 함께 작동하는지 그리고 어떻게 사용해야하는지 이해하는 데는 몇 가지 어려움이 있습니다. cleanList([], []). cleanList([H|L], [H|LL]) :- number(H), cleanList(L, LL),

    -1

    1답변

    E -> T의 의미는 무엇입니까? 변수 E은 변수 T을 의미합니까? 연결되어이 코드 : e(TS,R) :- t(TS,R). 감사를 도와

    0

    1답변

    dcg을 사용하여 Prolog에 술어 CleanList/3을 작성해야합니다.이 목록은 목록을 분석하고 번호가 제거되지 않은 모든 요소가 있지만 목록이 같은 새 목록을 반환합니다. 예를 들어 : ?- cleanList([1,2,d,67,3.2,'CSI2120',foo,5],LL). LL = [1, 2, 67, 3.2, 5]. 나는 재귀 케이스 DCG을

    2

    2답변

    inorder 목록을 다시 BST로 바꾸어 인버스 순회를 "되돌리기"하고 있습니다. BST를 술어 양식 node(Value,Left,Right) 또는 leaf이 있으므로 빈 나무는, 하나 개의 노드를 가진 나무는 node(_,leaf,leaf) 단지 leaf입니다. 술어 enumerate_bst(Elems,Bst)이 주어지면 Bst을 inorder 목록 E

    0

    1답변

    내 프로젝트의 일부로 EBNF를 BNF로 변환하고 DCG를 사용하여 SWI-Prolog에서 BNF를 프로그래밍해야합니다. program -> int main () { declarations statements } declarations -> { declaration } declaration -> type identifier [ [digit] ] ; t

    0

    1답변

    문장 목록을 반복하여보고 문법적으로 올바른지 확인하려고합니다. 문장은 단어 목록입니다. 그 모습은 다음과 같습니다 : verifySen([]). verifySen([H|T]) :- sentence(H,[]), verifySen(T). 여기서 verifySen에는 목록이 제공됩니다. sentence(H,[])은 무언가가 유효한 문장인지

    1

    2답변

    프롤로그로 DCG를 작성했습니다. phrase(programm(R), [1,+,2], []). 나는 사용자가 입력을 쓰고 싶어, 그래서 나는이 한 : 코드는 내가 다음 호출을 수행 할 때, 작동 main :- read(Input), atom_chars(Input, R), write(R), phrase(programm(E), R). 주요 입력 예를 들

    1

    1답변

    내가 u 및 v은 길이가 같고 ' 0을의 수의 될 필요가 없습니다 곳 u2v의 형태로 문자열을 것이라고 DCG를 작성하는 중이 야 s의 u은 1의 숫자와 동일해야합니다 (v). 지금까지 종이에 작동하는 몇 가지 문법을 작성할 수 있었지만 코드를 작성하고 쿼리를 시도 할 때 일반적으로 어딘가에 루프가 생깁니다. 이것은 내가 얻을 수 있었던 가장 가까운 : s

    2

    1답변

    나에게 좋을 것 같지만, 항상 거짓을 준다. 나는 그 이유를 알 수 없다. letter(X) --> [C], {"a"=<C, C=<"z", name(X,[C])}. 감사합니다.

    3

    1답변

    DCG 인수를 사용하여 토큰/구문 트리 목록을 작성하는 Prolog DCG를 사용하여 간단한 프로그래밍 언어로 렉서/구문 분석기를 구성했습니다. symbol(semicolon) --> ";". symbol(if) --> "if". 다음 구문 트리가 DCG 규칙에 그 인수를 사용하여 만들어집니다. 그러나 변수와 숫자 (이 언어의 정수만)를 파싱 할 때