Curso de Raku / Expresiones regulares y gramáticas / Gramáticas / El árbol de análisis, make y made / Exercises / Multiplique un par

Solución: Multiplique un par

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

Código

grammar Product {
    token TOP { <a> '*' <b> { make $<a>.Int * $<b>.Int } }
    token a   { \d+ }
    token b   { \d+ }
}

say Product.parse('4*5').made;

🦋 Puedes encontrar el código fuente en el archivo multiply-a-pair.raku.

Salida

20

Comentarios

  1. Los dos números se capturan como <a> y <b>, cada uno convertido con .Int.

  2. El bloque en línea combina las subcoincidencias — multiplicándolas — y guarda el resultado en la coincidencia, que made devuelve después.

Multiplique un par   |   Invierta las palabras