用prolog写语法

时间:2016-10-07 12:21:48

标签: grammar context-free-grammar dcg

是否可以使用prolog来定义非自然语言的语法?例如SQL。
如果是这样,请引导我到一些起点。谢谢。

1 个答案:

答案 0 :(得分:1)

Prolog支持Definite Clause Grammars (DCG)。有了这个,您可以编写如下无上下文的语法:

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

这可以由Prolog解释器直接解释。 我不确定SQL需要什么样的语法。也应该可以编写某种上下文敏感的语法。