Posso 'unmatch' una regola di codice in cima d'albero?
Domanda
E 'possibe di saltare una regola convalidando utilizzando il codice Ruby in cima d'albero?
dire che c'è qualcosa di simile:
rule short_words
[a-z]+ {
def method1
text_value
end
...
}
end
E voglio la dimensione parole per essere da 2 a 5 lettere. regola di uscita Posso se trovo che la lunghezza del TEXT_VALUE non è compreso tra 2 e 5?
Soluzione
supporti di sintassi di Cima di albero {min, max} limiti sulle partite. (Estratto da http://treetop.rubyforge.org/syntactic_recognition.html )
La ripetizione conteggio
A generalizzata ripetizione conteggio (minimo, massimo) è anche disponibile.
* '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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow