هل يمكنني "إلغاء اتباع" قاعدة برمجيًا في Treetop؟
سؤال
هل من الممكن تخطي قاعدة عن طريق التحقق من صحةها باستخدام رمز الياقوت في Treetop؟
قل أن هناك شيء مثل هذا:
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
لا تنتمي إلى StackOverflow