我正在研究Prolog中的語法,我對從經典的BNF語法到Prolog DCG語法格式的轉換有疑問。關於BNF語法和Prolog的DCG語法的一些疑問
例如我有以下BNF語法:
<s> ::= a b
<s> ::= a <s> b
,通過改寫,生成類型的所有字符串:
ab
aabb
aaabbb
aaaabbbb
.....
.....
a^n b^n
找上了伊萬·布拉科書編程人工智能他轉換這BNF語法以這種方式轉化爲DCG語法:
s --> [a],[b].
s --> [a],s,[b].
at af IRST看起來這似乎對我非常類似於經典的BNF語法形式,但我只有與在DCG
使用,符號懷疑這不是邏輯OR Prolog中,但它的象徵只是生成序列中字符的分隔符。
是不是?
它在Prolog的其他部分做的事情是一樣的。它表現爲「和」。 – 2013-05-14 14:35:48
ahhh好的......我把「和」符號與「或」符號混淆...... tnx – AndreaNobili 2013-05-14 14:39:43
實際用途:你可以寫's - > [a,b] .' – CapelliC 2013-05-14 18:11:36