Ancestors

Written by Profoundly Nerdy on 2025-01-29 at 16:17

[#]Rakulang grammar question. Given something like:

[#] Ex. 1
grammar CSV {
    TOP {} # ??
    token column { [ '"' ]? .* \, [ '"']? }
}

[#] Ex. 2
grammar USD {
    TOP {} # ??
    token dollars { \d ** 3 [',']? } 
    token cents   { \. \d ** 2     }
}

  1. How do I tell the grammar's TOP that a given token could potentially repeat an arbitrary number of times?

  1. Can I mix in range validation somehow? So that 1,234.56 is a valid capture but 0,123.45 is not.

[#]programming #linux

=> More informations about this toot | More toots from profoundlynerdy@bitbang.social

Toot

Written by Profoundly Nerdy on 2025-01-29 at 18:38

@smonff I know you're big into #Perl and know it better than I do. I'm not sure if you know Raku well enough to comment but I figured I could ask.

Feel free to reply with a Perl-lish example, even if it isn't valid Raku. 😀

=> More informations about this toot | More toots from profoundlynerdy@bitbang.social

Descendants

Written by sebi on 2025-01-29 at 19:48

Sorry @profoundlynerdy but I am afraid that I cannot help. I took a look at Raku a long time ago, but then, mostly ignored it as I realized I’ll have to focus more on Perl. I am not even sure I could explain what a grammar is!

=> More informations about this toot | More toots from smonff@rivals.space

Written by Profoundly Nerdy on 2025-01-29 at 19:56

@smonff Gotcha.

Grammars are regexes on steroids! https://docs.raku.org/language/grammars

=> More informations about this toot | More toots from profoundlynerdy@bitbang.social

Written by ianto on 2025-02-03 at 13:10

@profoundlynerdy @smonff i was going to ignore this but now that its been highlighted that this is a regexy thing, i'm going to have to revisit #rakulang

=> More informations about this toot | More toots from bocs@toot.wales

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113913096232194858
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
290.626844 milliseconds
Gemini-to-HTML Time
0.971395 milliseconds

This content has been proxied by September (3851b).