我有一個簡單的語法設置像這樣:樹頂語法問題
grammar Test rule line (adjective/not_adjective)* { def content elements.map{|e| e.content } end } end rule adjective ("good"/"bad"/"excellent") { def content [:adjective, text_value] end } end rule not_adjective !adjective { def content [:not_adjective, text_value] end } end end
比方說,我的輸入爲「這是一個很好的球,讓我們使用它。」這給出了一個錯誤,我現在沒有提及,因爲我想理解爲什麼錯誤的理論。 那麼,我該如何創建規則not_adjective,以便它匹配任何與規則形容詞不匹配的東西?一般來說,如何編寫我的規則(特別是在Treetop中)「不符合另一個命名規則?