Cursus Raku / Expressiones regulares et grammaticae / Grammaticae / Grammaticae, classes et hereditas / Exercises / Numerus cum proto

Solutio: Numerus cum proto

Ecce solutio possibilis huius exercitationis.

Codex

grammar Number {
    token TOP { <number> }

    proto token number {*}
    token number:sym<dec> { \d+ }
    token number:sym<hex> { '0x' <[0..9a..f]>+ }
}

say Number.parse('0xff').defined;

🦋 Inveni codicem fontem in archivo proto-number.raku.

Exitus

True

Commentarii

  1. Tessera proto number duas variantes habet, dec et hex.

  2. Pro 0xff variantis dec solum primam 0 congruit, quod xff superesse sineret; variantis hex totum congruit. Congruentia longissimae tesserae ideo hex eligit, et catena analysatur. Eadem grammatica simplicem decimalem qualem 42 adhuc accipit.

Numerus cum proto   |   Valor booleanus cum proto