我可以“不匹配”吗?在树顶上以编程方式制定规则?
是否可以通过使用树顶中的 ruby 代码验证来跳过规则?
假设有这样的事情:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
我希望单词大小为 2 到 5 个字母。如果我发现text_value的长度不在2到5之间,我可以退出规则吗?
Is it possibe to skip a rule by validating it using ruby code in treetop?
Say there is something like this:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
And I want the words size to be from 2 to 5 letters. Can I exit rule if I find that the length of text_value is not between 2 and 5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Treetop 的语法支持匹配的 {min,max} 界限。 (摘自 http://treetop.rubyforge.org/syntropic_recognition.html)
重复计数
A 广义重复计数(最小、最大)也是可用的。
Treetop's syntax supports {min,max} bounds on matches. (Excerpt from http://treetop.rubyforge.org/syntactic_recognition.html)
Repetition count
A generalised repetition count (minimum, maximum) is also available.