是否可以通过使用树顶中的 ruby 代码验证规则来跳过规则?
说有这样的事情:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
我希望单词大小在 2 到 5 个字母之间。如果我发现 text_value 的长度不在 2 到 5 之间,我可以退出规则吗?
Treetop 的语法支持匹配的 {min,max} 界限。(摘自http://treetop.rubyforge.org/syntactic_recognition.html)
重复次数
通用重复计数(最小,最大)也是可用的。
* 'foo' 2.. matches 'foo' two or more times
* 'foo' 3..5 matches 'foo' from three to five times
* 'foo' ..4 matches 'foo' from zero to four times