dcg

    1熱度

    1回答

    我想學習如何在prolog中編寫生產規則。 這就是我所擁有的。 paragraph --> sentence, paragraph ; []. sentence --> proper_noun, [ ], verb, [ ], preposition, [ ], article, [ ], noun, period. proper_noun --> [Jimmy] ; [Yancy] ; [C

    4熱度

    1回答

    在Prolog玩弄鏡頭。鏡頭是一種顯微鏡,可以放大結構並以功能方式進行一些讀取或寫入。基本上我的出發點是setter和getter方法聲明中的Prolog以下建模: 消氣:只是一個<closure>, 稱爲call(<closure>, X, Y), 這將從X檢索值Y。 聲明二傳手:同樣<closure>但有不同的元數使用, 稱爲call(<closure>, X, Y, Z),這將給予新的Z一個

    2熱度

    2回答

    我在語言練習中停留了一些語法。這是我第一次用語法(用任何語言)。我需要創建一個解析器,它將計算機器人的目標座標以及當前指向的方向(以n,s,w,e之一表示)。 可能的舉措是:[go,10](或任何數字),[turn, left],[turn, right]。 這是很容易(我覺得..)編寫解析器識別正確的句子,如:[go,10,turn,right,go,10]:然而 robot_p-->pol.

    3熱度

    2回答

    我的數據庫的格式如下: aminotodna (Amincoacid, [DNA sequence]). 下面是從數據庫中的幾個例子: aminotodna(a,[g,c,a]). aminotodna(a,[g,c,c]). aminotodna(a,[g,c,g]). aminotodna(a,[g,c,t]). aminotodna(c,[t,g,c]). aminotodna(c

    4熱度

    2回答

    在這個site,我發現,說明如何使用DCG打造右手上下文符號 A → ε | a A Head, [T_1,...,T_n] --> Body. 有人幫助我,比如弄清楚這個方法並說明了部分其分析上下文無關語法的好處

    1熱度

    2回答

    如果我想使用DCG標記長列表,那麼下面兩個謂詞之間的優選方法是什麼; 使用1- [ '終端'] some_terminals(T) --> ['this('],end(T),[')END']. 2-使用 「終端」 some_terminals(T) --> "this(",end(T),")END". end(T)-->[T]. 其他問題 是什麼;之間的差和|

    2熱度

    1回答

    我知道可以定義definite clause grammars in Picat,但是語法比Prolog中的語法要冗長得多。在Prolog,明確的條款文法可以更簡明地寫: pronoun --> him,her,it. 出人意料的是,Picat's official tutorial沒有提到的明確條款文法語法。在Picat中可以使用Prolog的DCG符號嗎?

    3熱度

    2回答

    我試圖在Prolog中瞭解更多關於DCG的內容,同時通過閱讀不同來源,我注意到在某些情況下,短語並未被使用? 從瞭解的Prolog現在的網站,它提出這個例子: s --> np,vp. np --> det,n. vp --> v,np. vp --> v. det --> [the]. det --> [a]. n --> [woman]. n --> [man]. v -->

    1熱度

    1回答

    我想要使用dcg列表將分割字符串分成子字符串。 這裏我的代碼 any(S, K) --> {member(S,K)}, S. pre(S) --> any(S, ["di","tri","tetre"]). split([]) --> "". split([X|Xs]) --> pre(X), split(Xs). ?- phrase(split(Ls), "tridi"). Ls = [[t,

    2熱度

    1回答

    verb_phrase(X,P)--> trans_verb(X,X+1,P1), noun_phrase(X+1,P1,P). 對於上面的代碼,如果X = 1,我會得到 (...1+1...). 「...」 表示不重要的代碼。 但我真的想得到2而不是1 + 1。 有人能告訴我該怎麼做嗎?