Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Perl 6 grammars - setting the actions object

by duelafn (Vicar)
on Jul 19, 2016 at 01:37 UTC ( #1168024=note: print w/replies, xml ) Need Help??


in reply to Perl 6 grammars - setting the actions object

One solution is to pass-through the made value instead of stringifying. There may be a better way of doing this (update: the post by moritz below is that better way), but this at least works:

token value { <val=object> | <val=string> | <val=number> | true | false | null } # ... given ~$/ { when "true" {make Bool::True;} when "false" {make Bool::False;} when "null" {make Any;} default { make $<val>.made; } }

Though it would probably be better to pass-through if $<val> is defined at all rather than rely on the stringified fall-through:

return make $<val>.made if $<val>; given ~$/ { when "true" {make Bool::True;} when "false" {make Bool::False;} when "null" {make Any;} default { die; } }

Good Day,
    Dean

Replies are listed 'Best First'.
Re^2: Perl 6 grammars - setting the actions object
by Anonymous Monk on Jul 19, 2016 at 07:44 UTC
    Thank you very much. I did not think at all about this solution, I'll try it as soon as possible.

    I definitely agree that stringifying the parts I couldn't handle better is not a good solution, I only did it as a cheap temporary debugging scaffolding so that the overall thing could succeed and that I could check that at least the rest was working properly.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1168024]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2021-03-02 08:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (41 votes). Check out past polls.

    Notices?