aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-03-10 15:43:46 +0000
committerGitHub <noreply@github.com>2024-03-10 15:43:46 +0000
commiteb5bf748cf07c8bb20e1e41dfcce3478b9c54dde (patch)
treef4f5088da0b9a42dd4072a37bb913a8523e16274
parent24cdda1f9a40a31065dfd51a7a786a7df7a2534e (diff)
parentad05f557b4dadb6e1ac4f3223f9c2480ce92c03b (diff)
downloadperlweeklychallenge-club-eb5bf748cf07c8bb20e1e41dfcce3478b9c54dde.tar.gz
perlweeklychallenge-club-eb5bf748cf07c8bb20e1e41dfcce3478b9c54dde.tar.bz2
perlweeklychallenge-club-eb5bf748cf07c8bb20e1e41dfcce3478b9c54dde.zip
Merge pull request #9716 from andemark/challenge-259
ch-1.raku
-rw-r--r--challenge-259/mark-anderson/raku/ch-2.raku29
1 files changed, 0 insertions, 29 deletions
diff --git a/challenge-259/mark-anderson/raku/ch-2.raku b/challenge-259/mark-anderson/raku/ch-2.raku
deleted file mode 100644
index 09272b6c72..0000000000
--- a/challenge-259/mark-anderson/raku/ch-2.raku
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env raku
-
-say parse-line('{% id field1="value1" field2="value2" field3=42 %}');
-say parse-line('{% youtube title="Title \"quoted\" done" %}');
-say parse-line('{% youtube title="Title with escaped backslash \\" %}');
-
-grammar Ch2
-{
- rule TOP { '{%' <ID> <KeyVal>* '%}' }
- token ID { \w+ }
- token Key { \w+ }
- token Quoted { '\"' <[\w\s]>+ '\"' }
- token Unquoted { <[\w\s]>+ }
- token Val { '"' [<Quoted> || <Unquoted> || '\\' ]+ '"' || \d+ }
- rule KeyVal { <Key> '=' <Val> }
-}
-
-sub parse-line($s)
-{
- my %h;
- my %fields;
- my $m = Ch2.parse($s);
-
- %h<name> = ~$m<ID>;
- %fields{~.<Key>} = ~.<Val> for $m<KeyVal>;
- %h<fields> = %fields;
-
- return %h
-}