Kurso de Raku / Regulesprimoj kaj gramatikoj / Gramatikoj / Krei gramatikojn

Analizi per parse

Por ruli gramatikon, voku ĝian metodon .parse kun la ĉeno por analizi:

grammar Pair {
    token TOP   { <key> '=' <value> }
    token key   { \w+ }
    token value { \w+ }
}

my $m = Pair.parse('x=5');
say $m<key>;   # 「x」
say $m<value>; # 「5」

.parse redonas kongruan objekton, kiam la gramatiko kongruas kun la tuta ĉeno, kaj Nil, kiam ne. Ĉar la tuta enigo devas kongrui, ne necesas ankroj ^ kaj $.parse aldonas tiun postulon por vi:

say Pair.parse('x=5').defined; # True
say Pair.parse('x=').defined;  # False

La kongrua objekto funkcias ĝuste kiel tiuj, kiujn vi renkontis pli frue. Ĉiu ĵetono uzata en la gramatiko fariĝas nomita kapto, do $m<key> kaj $m<value> donas la kongruintajn partojn. La ĵetonoj nestiĝas, do gramatiko konstruas malgrandan arbon de kongruoj — la temo de posta sekcio.

Praktiko

Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.

Kursa navigado

La regulo TOP   |   Kvizo — Krei gramatikojn


💪 Aŭ iru rekte al la ekzercoj de ĉi tiu sekcio.