Curso de Raku / Expresiones regulares y gramáticas / Gramáticas / Tokens y reglas / Exercises / Una regla con espacios

Solución: Una regla con espacios

Aquí tienes una posible solución para la tarea.

Código

grammar Phrase {
    rule TOP   { <word> <word> <word> }
    token word { \w+ }
}

say Phrase.parse('the quick fox').defined;

🦋 Puedes encontrar el código fuente en el archivo spaced-rule.raku.

Salida

True

Comentarios

  1. Como TOP es una rule, cada espacio escrito entre las llamadas <word> exige espacio en blanco en la entrada.

  2. La cadena 'the quick fox' tiene espacios entre las tres palabras, así que se analiza. Con un token para TOP, los espacios del patrón se ignorarían y el análisis fallaría.

Una regla con espacios   |   Una asignación con espacios