Cursus Raku / Reguliere expressies en grammatica’s / Grammatica’s / Wat is een grammatica
Het sleutelwoord grammar
Een grammatica groepeert benoemde regexes onder één naam,
ongeveer zoals een klasse methoden groepeert. Je declareert er een met
het sleutelwoord grammar:
grammar Greeting {
token TOP { 'Hello, ' <name> '!' }
token name { \w+ }
}Binnen de grammatica wordt elk benoemd patroon met token
geschreven (een soort regex die je binnenkort in detail bestudeert). Eén
token, dat conventioneel TOP heet, is het startpunt — het
beschrijft het geheel. Hier zegt TOP “de tekst is
Hello,, dan een naam, dan !”, en
name zegt hoe een naam eruitziet.
De tokens kunnen naar elkaar verwijzen op naam, precies als de benoemde regexes
uit het vorige onderwerp. TOP gebruikt
<name>, wat de grammatica leesbaar houdt: elke regel
heeft één duidelijke taak.
Om een grammatica op een string toe te passen, roep je haar methode
.parse aan:
my $m = Greeting.parse('Hello, Anna!');
say $m<name>; # 「Anna」De volgende sectie bekijkt TOP en .parse
nauwkeuriger. Voor nu is het idee om te onthouden eenvoudig: een
grammatica is een benoemde verzameling benoemde regexes die samen een
heel stuk gestructureerde tekst beschrijven.
Praktijk
Maak de 1 quiz over de inhoud van dit onderwerp.
Cursusnavigatie
← Quiz — Benoemde reguliere expressies | Quiz — Wat is een grammatica →
💪 Of ga direct naar de oefeningen in
deze sectie.