2016-10-07 4 views
-1

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

+0

어떻게 말할 수 있습니까? 예를 들어, select - from -은 핵심 단어이며 대문자 또는 소문자 일 수 있습니다. 감사합니다 – Great

+0

간단한 방법으로 DCG의 구문과 사용법을 설명하는 링크 나 문서가 있습니까? 부디. 나는 지금 인터넷 검색을하고 있지만 나는 거의 잃어버린 사람이 아니다. 미리 감사드립니다. – Great

답변

1

프롤로그는 Definite Clause Grammars (DCG)을 지원합니다. 이를 통해 다음과 같은 문맥이없는 문법을 작성할 수 있습니다.

sql --> select_statement. 
select_statement --> select, from_statement. 
from --> [from]. 
select --> [select]. 

이것은 Prolog 인터프리터에서 직접 해석 할 수 있습니다. 어떤 종류의 문법 SQL이 필요한지 잘 모르겠습니다. 어떤 종류의 상황에 맞는 문법도 작성할 수 있어야합니다.

+0

@marli에게 감사드립니다. 이것에서 괄호를 의미하는 것은 무엇입니까? – Great

+0

문법의 [끝 기호] (https://en.wikipedia.org/wiki/Terminal_and_nonterminal_symbols)입니다. 이것은 Prolog에서 간단한 상수이기 때문에 대문자로 쓰는 것이 잘못되었습니다. – marli

+0

@marli 감사합니다. 쉼표는 "나"라고 생각하니? "OR"는 "|"로 나타낼 수 있습니다. . 네? 그리고 무언가가 0 번이나 여러 번 반복 될 수 있다는 것을 어떻게 표현할 수 있습니까? – Great