1
在我看來,將DCGs(定義語句語法)定義爲是一種簡潔的方式來描述Prolog中的列表,對於定義它們是一種很差的方式。據我所知,DCGs不僅用於Prolog,還用於其他編程語言,如Mercury。
此外,它們被稱爲DCG,因爲它們表示邏輯程序設計基礎的一組明確子句(Horn子句)中的語法。 那麼,爲什麼如果一個完整的Prolog程序可以使用明確的子句來編寫,那麼爲什麼要將DCG定義爲這種緊湊的方式來描述Prolog中的列表?爲什麼將DCG定義爲描述列表的緊湊方式?
注:疑問來自SO給出的標籤dcg的描述。
我相信你在SO的「定義」中注入了單獨的形容詞* *。 ;)所以,關於DCG的說法是真的(對@mat而言),但這不是我稱之爲DCG完整目的的描述。 – lurker 2015-03-19 13:16:32
準確@lurker,這是我的觀點。 「純粹」我的意思是說這只是CDG的一個好處,我想我沒有把對,我的壞:) – Yasel 2015-03-19 15:33:58
沒問題。 *僅*意味着它是*唯一的好處*,而不是*只有一個*,但僅僅是技術性。我認爲這確實會造成一個有趣的問題。 :) – lurker 2015-03-19 15:35:13