Cursus Raku / Reguliere expressies en grammatica’s / Grammatica’s / De parseboom, make en made / Exercises / Vermenigvuldig een paar
Oplossing: Vermenigvuldig een paar
Hier is een mogelijke oplossing voor de taak.
Code
grammar Product {
token TOP { <a> '*' <b> { make $<a>.Int * $<b>.Int } }
token a { \d+ }
token b { \d+ }
}
say Product.parse('4*5').made;🦋 Je kunt de broncode vinden in het bestand multiply-a-pair.raku.
Uitvoer
20Opmerkingen
De twee getallen worden als
<a>en<b>gecapturd, elk omgezet met.Int.Het inline blok combineert de submatches — het vermenigvuldigt ze — en bewaart het resultaat op de match, dat
madedaarna teruggeeft.