Курс по Raku / Регулярни изрази и граматики / Граматики / Токени и правила / Exercises / Правило с интервали

Решение: Правило с интервали

Ето едно възможно решение на задачата.

Код

grammar Phrase {
    rule TOP   { <word> <word> <word> }
    token word { \w+ }
}

say Phrase.parse('the quick fox').defined;

🦋 Намерете програмата във файла spaced-rule.raku.

Изход

True

Коментари

  1. Понеже TOP е rule, всеки интервал, записан между извикванията на <word>, изисква празен знак във входа.

  2. Низът 'the quick fox' има интервали между трите думи, така че се разбира. Ако TOP беше token, интервалите в шаблона щяха да се пренебрегнат и разборът щеше да се провали.

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

Правило с интервали   |   Присвояване с интервали