Untitled

Run Settings
LanguageRaku
Language Version
Run Command
grammar JSON { rule TOP { <array> | <object> } proto token value { * } token value:sym<string> { '"' .+? '"' } token value:sym<number> { \d+[\.\d+]? } token pair { <value:sym<string>>\h*':'\h*[<value> | <array> | <object>] } token array { '['\s* [ [<value> | <array> | <object>] [\s*','\s*[<value> | <array> | <object>]]* ]? \s*']' } token object { '{'\s* [ <pair> [\s*','\s*<pair>]* ]? \s*'}' } } class JSON-parse { method TOP($/) { make $/ } method pair($/) { make ($<value>[0] => $<value>[1]) } method array($/) { make $<value> } method object($/) { make $<object> } #proto method value {*} method value:sym<string>($/) { make $/.Str } method value:sym<number>($/) { make $/.Str.Num } } my $c = JSON.parse: ' { "a": 1, "b" : 2, "c" :[ 1, 2,3], "d": { "e": { "f": 5, "g": 6 }, "h": [5, 6, 7] } } '.trim, :actions(JSON-parse.new); say $c
Editor Settings
Theme
Key bindings
Full width
Lines