Курс языка программирования Raku / Регулярные выражения и грамматики / Грамматики / Создание грамматик / Exercises / Разберите полное имя
Решение: Разберите полное имя
Вот один из возможных вариантов решения задачи.
Код
grammar FullName {
token TOP { <first> ' ' <last> }
token first { \w+ }
token last { \w+ }
}
say FullName.parse('Grace Hopper')<last>;🦋 Исходный код можно найти в файле parse-a-pair.raku.
Вывод
「Hopper」Комментарии
TOPописывает имя целиком;firstиlastописывают его части, а между ними стоит буквальный пробел.После разбора каждый токен становится именованным захватом, поэтому фамилию читают у объекта совпадения как
<last>.