Курс языка программирования Raku / Приложение 🆕 / Типы и текстовые машины / Регулярные выражения и грамматики / Exercises / Грамматика для полных имён
Решение: Грамматика для полных имён
Вот один из возможных вариантов решения задачи.
Код
grammar FullName {
token TOP { <first> \s+ <last> }
token first { \w+ }
token last { \w+ }
}
my $match = FullName.parse('Grace Hopper');
say ~$match<first>;
say ~$match<last>;🦋 Исходный код можно найти в файле grammar-fullname.raku.
Вывод
Grace
HopperКомментарии
Токен
TOP— это место, где начинается разбор; он ссылается на другие токены по имени через<first>и<last>, которые становятся ключами в объекте совпадения.$match<first>— объект совпадения; префиксный~превращает его в обычный совпавший текст.
Навигация по курсу
← Грамматика для полных имён | Грамматика, которая складывает →