次のような単純な文法設定があります。
文法テスト
罫線
(形容詞/形容詞ではない)* {
定義内容
elements.map{|e| e.コンテンツ}
終わり
}
終わり
ルール形容詞
(「良い」/「悪い」/「素晴らしい」) {
定義内容
[:形容詞, テキスト値]
終わり
}
終わり
ルール not_adjective
!形容詞 {
定義内容
[:not_adjective, text_value]
終わり
}
終わり
終わり
私の入力が「これはいいボールだ。使おう」だとしましょう。これによりエラーが発生しますが、最初になぜそれが間違っているのかについての理論を理解したいので、今は言及していません。では、ルールの形容詞に一致しないものすべてに一致するようにルール not_adjective を作成するにはどうすればよいでしょうか? 一般に、別の名前付きルールと「一致しない」ルールを (具体的には Treetop で) どのように記述すればよいですか?