Raku kurss / Pielikums 🆕 / Tipi un teksta mašīnas / Regulārās izteiksmes un gramatikas / Exercises / Gramatika pilniem vārdiem

Risinājums: Gramatika pilniem vārdiem

Šeit ir iespējams risinājums uzdevumam.

Kods

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>;

🦋 Atrodiet programmu failā grammar-fullname.raku.

Izvade

Grace
Hopper

Komentāri

  1. Marķieris TOP ir vieta, kur parsēšana sākas; tas uz pārējiem marķieriem atsaucas pēc nosaukuma ar <first> un <last>, kas kļūst par atslēgām atbilstībā.

  2. $match<first> ir atbilstības objekts; prefikss ~ to pārvērš vienkāršā salāgotajā tekstā.

Kursa navigācija

Gramatika pilniem vārdiem   |   Gramatika, kas saskaita