프롤로그를 사용하여 비 자연어에 대한 문법을 정의 할 수 있습니까? 예를 들어 SQL.
그렇다면 시작 지점으로 안내하십시오. 고맙습니다.프롤로그와 함께 문법 작성
답변
프롤로그는 Definite Clause Grammars (DCG)을 지원합니다. 이를 통해 다음과 같은 문맥이없는 문법을 작성할 수 있습니다.
sql --> select_statement.
select_statement --> select, from_statement.
from --> [from].
select --> [select].
이것은 Prolog 인터프리터에서 직접 해석 할 수 있습니다. 어떤 종류의 문법 SQL이 필요한지 잘 모르겠습니다. 어떤 종류의 상황에 맞는 문법도 작성할 수 있어야합니다.
@marli에게 감사드립니다. 이것에서 괄호를 의미하는 것은 무엇입니까? – Great
문법의 [끝 기호] (https://en.wikipedia.org/wiki/Terminal_and_nonterminal_symbols)입니다. 이것은 Prolog에서 간단한 상수이기 때문에 대문자로 쓰는 것이 잘못되었습니다. – marli
@marli 감사합니다. 쉼표는 "나"라고 생각하니? "OR"는 "|"로 나타낼 수 있습니다. . 네? 그리고 무언가가 0 번이나 여러 번 반복 될 수 있다는 것을 어떻게 표현할 수 있습니까? – Great
어떻게 말할 수 있습니까? 예를 들어, select - from -은 핵심 단어이며 대문자 또는 소문자 일 수 있습니다. 감사합니다 – Great
간단한 방법으로 DCG의 구문과 사용법을 설명하는 링크 나 문서가 있습니까? 부디. 나는 지금 인터넷 검색을하고 있지만 나는 거의 잃어버린 사람이 아니다. 미리 감사드립니다. – Great