Puis-je « unmatch » une règle par programme dans la cime des arbres?
Question
Est-il possibe de sauter une règle en validant en utilisant le code Ruby dans la cime des arbres?
Dire qu'il ya quelque chose comme ceci:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
Et je veux la taille des mots à 2 à 5 lettres. règle de sortie Puis-je si je trouve que la longueur de TEXT_VALUE n'est pas entre 2 et 5?
La solution
Les supports de syntaxe de arboricoles {min, max} limites sur les matchs. (Extrait de http://treetop.rubyforge.org/syntactic_recognition.html )
count Répétition
Le comptage A généralisé répétition (minimum, maximum) est également disponible.
* '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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow