Prolog中的上下文相关生成

时间:2019-02-01 17:57:52

标签: prolog dcg context-sensitive-grammar dcg-semicontext

我对生成Chomsky描述的上下文相关语言的元素感兴趣,如Chomsky Classification of Grammars中所述  在“类型-1语法”部分下。

(基本上类似于标准的无上下文语法,但是在生产规则的左侧允许多个符号,包括终端)。

我了解Prolog中的定语从句语法,但是我看不到它们与Chomsky的上下文相关语言之间的明显映射。是否有一种“通用”方式使用DCG框架来描述左侧带有多个符号的生产规则,还是我需要一种针对每种语言的临时方法?

1 个答案:

答案 0 :(得分:2)

可以使用半上下文直接对右侧上下文进行编码:

nt1, "context" --> nt2, "context".

对于左侧的上下文,没有明显的直接编码。最常见的是使用非终端参数。