dcg

    0

    1답변

    저는 프롤로그를 처음 접했고 계산기를 프로그래밍하고 싶습니다. 이를 위해, 접두어 형식을 얻기 위해 일반적인 형식 (중위어 형식)으로 작성된 주어진 산술 표현식을 처리하는 술어를 프로그램해야합니다. 표현식의 요소는 용어가 차례 목록에 포함될 수 있도록 [operator, term1, term2] 형식의 3 개 요소가있는 하위 목록으로 그룹화됩니다. 구문 분

    1

    1답변

    두 가지 방법 중 하나를 사용하여 부사를 설명 할 수있는 문구를 정의하는 가장 좋은 방법은 무엇입니까? 당신은 말할 수 : adverb_phrase (N, ADV (N, 교수실)) -> 방법 1. adverb_phrase (N, ADV (N, 교수실)) -> 길 2. 나는 이것을 시도했지만 올바른 결과를 얻지 못하는 출력에서 ​​_G12345와 같은 변수를

    4

    1답변

    입력을 구문 분석하기 위해 Prolog DCG와 작업하면서 BNF 문법을 사용하는 것이 좋습니다. 예를 들어 : 같은 BNF <Sentence> ::= <Noun_phrase> <Verb_phrase> <Noun_phrase> ::= <Determiner> <Noun> <Verb_phrase> ::= <Verb> <Phrase> <Determiner>

    -1

    1답변

    프롤로그를 사용하여 비 자연어에 대한 문법을 ​​정의 할 수 있습니까? 예를 들어 SQL. 그렇다면 시작 지점으로 안내하십시오. 고맙습니다.

    1

    1답변

    DCG에서 다음과 같은 전이 함수를 사용할 수 있습니까? 아니면 DCG 규칙과 결합할까요? genx(A,B) :- gen(A,B). genx(A,C) :- gen(A,B), genx(B,C). gen(a,b). gen(b,c). 내가 정확히 할 노력하고있어 설명 할 것입니다 : 을 난이 문법이있는 경우 : noun_phrase(D,N) --> de

    1

    2답변

    노드의 예를 본다 : 내 노드가 매개 변수에 세 대신 2의 값을 가지고 나의 다른 그러나 내가 여기에 물어 비슷한 질문을 본 적이 node(3, nil, 14). node(14, nil, 15). node(15, nil, 92). 그것을 실행하는 방법의 예 : ?- inOrder(3, X). X = [3, 14, 15, 35, 65, 89, 92]

    4

    3답변

    나는 내 마음을 많이 감쌌다. 는 역 추적이 형식의 목록을 생성하여 해당 스크립트를 만드는 것이 가능 : [a] [a,b] [a,b,a] [a,b,a,b] ... 내가 한 번에 두 가지 요소를 생성 한 만들었을하지만 내 머리 "는 발생 하나를 만들려고 상처를하기 시작 "다음에"b "와 다음"a "등등. 항상 DCG 표기을 사용하는 것이 좋습니다

    0

    2답변

    나는 GNU Prolog에 글자 목록으로 저장된 로마 숫자가 잘 형성되어 있는지를 테스트하는 술어를 작성하려고한다. 즉, 목록에 [i, c], [i, m] 또는 [x, m]이 있으면 유효하지 않습니다. 예를 들어 [m, i, m]을 전달하면 출력은 no이됩니다. 어떻게해야합니까? 나는 member/2 함수를 알고있다; 목록에 하위 목록이 포함되어 있는지 테

    2

    1답변

    프롤로그에 DCG (Adjective phrase and prepositional phrase)를 작성했습니다. 실행하려고 시도했을 때 ip([every,boy,loved,some,girl])을 입력하면 로컬 스택이 표시됩니다. nbar에 문제가 있다는 것을 깨달았습니다. 누군가 나를 도울 수 있습니까? 많은 감사합니다. %tree treeP(Term):

    0

    1답변

    다음 Prolog는 목표 test1 및 test2에 대해 done을 인쇄하지만 test3은 인쇄하지 않습니다. 내 이해는이 코드의 match_test2과 match_test3이 동일해야한다는 것입니다. 어설 션을 통해 DCG 규칙을 만들려면 어떻게해야합니까? setup(['t','e','s','t']). match_test1 --> ['t','e','s