上下文免费语法到Prolog?

时间:2012-11-22 18:22:28

标签: prolog grammar dcg

根据您对翻译和2型语法的了解,回忆一下示例,定义 如下:

G = {N, T, S, P} 
T = {x, y, z} 
N = {A, B, C} 
S = A 
P = 
< A> ::= x<B>
< A> ::= x<C> 
< B> ::= x<B> 
< B> ::= y 
< C> ::= x<C> 
< C> ::= z

编写Prolog规则来表示这个语法。使用以下列表进行测试:

[x,x,x,z]. 
[x, x, y]. 
[x]. 
[x, y, z]. 
[ ] 

有人可以帮我解决这个问题吗?我不知道如何在prolog中表示这一点,因为网上的大多数例子都非常不同!

谢谢!

1 个答案:

答案 0 :(得分:1)

只是一个提示,完成你的作业,为每个作品添加一个条款

'A' --> [x], 'B'.
...

以这种方式测试

?- phrase('S', [x,x,x,z], []).