Curso de Raku / Expresiones regulares y gramáticas / Gramáticas / Crear gramáticas / Exercises / Analice un nombre completo
Solución: Analice un nombre completo
Aquí tienes una posible solución para la tarea.
Código
grammar FullName {
token TOP { <first> ' ' <last> }
token first { \w+ }
token last { \w+ }
}
say FullName.parse('Grace Hopper')<last>;🦋 Puedes encontrar el código fuente en el archivo parse-a-pair.raku.
Salida
「Hopper」Comentarios
TOPdescribe el nombre entero;firstylastdescriben sus partes, con un espacio literal en medio.Tras el análisis, cada token es una captura con nombre, así que el apellido se lee como
<last>sobre el objeto de coincidencia.