2015-04-30 25 views
-1

我需要一個解析器,根據每個單詞的最後一個字母識別詞類。我使用過Python,但我不確定可用的CFG解析器會接受這一點。解析後綴單詞的最佳方法

讓我們以世界語單詞爲例。所有形容詞以-a結尾(例如,'granda'爲大),所有名詞以-o結尾(例如,'hundo'爲狗)。所以這裏有一個玩具語法:

S - > A N | ASN

A - >(任何與-a結尾字)

N - >(使用-o結尾的詞)

了一句: 「格蘭達貝拉animalo hundo」(!原文如此)應解析如下:

(S(A格蘭達)(S(A貝拉)(N animalo))(N hundo))

有沒有人有一個想法如何編寫代碼呢?我試圖讓語法儘可能簡單。很抱歉,如果這看起來奇怪 - 它的複雜...

回答

0

您可以使用str.endswith方法

word = "granda" 

if word.endswith('o'): 
    print "Noun" 
elif word.endswith('a'): 
    print "Adjective" 
+0

感謝ILMS的! str.endswith很好,但CFG格式只接受名詞形式的生產規則 - > hundo。我還沒有想出如何插入命令。也許我必須從頭開始創建一個解析器,但這很有趣,因爲這個問題似乎很基礎。 – Piechjo

相關問題