문제

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?

도움이 되었습니까?

해결책

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.

* '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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top