是否可以通过在treetop中使用ruby代码验证它来跳过规则?
说有这样的事情:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
我希望单词大小为2到5个字母。如果我发现text_value的长度不在2到5之间,我可以退出规则吗?
答案 0 :(得分:1)
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