2010-04-15 4 views
0

Est-il possible d'ignorer une règle en la validant à l'aide d'un code ruby ​​dans un arbre?Puis-je "déconnecter" une règle par programmation dans Treetop?

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. Puis-je quitter la règle si je trouve que la longueur de text_value n'est pas comprise entre 2 et 5?

Répondre

1

La syntaxe Treetop prend en charge les limites {min, max} sur les correspondances. (Extrait de http://treetop.rubyforge.org/syntactic_recognition.html)

de comptage de répétition

Un nombre de répétitions généralisée (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 
+0

merci très cool! – dimus

Questions connexes