Курс языка программирования Raku / Регулярные выражения и грамматики / Грамматики / Создание грамматик / Разбор с помощью parse

Тест — Создание грамматик

Что выведет следующая программа?

grammar Word {
    token TOP { \w+ }
}

say Word.parse('hello world').defined;
0True
1False
0「hello」
0Nil

.parse срабатывает, только когда грамматика сопоставляется со всей строкой. \w+ совпадает с hello, но затем остаются пробел и world, то есть ввод израсходован не полностью: .parse возвращает Nil, и .defined даёт False.

Навигация по курсу

Разбор с помощью parse   |   Разберите полное имя