Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Perl 6 grammars - setting the actions object

by moritz (Cardinal)
on Jul 21, 2016 at 21:30 UTC ( #1168279=note: print w/replies, xml ) Need Help??

in reply to Perl 6 grammars - setting the actions object

The solution I used in JSON::Tiny is to have separate rules for the different literal values:

proto token value {*}; token value:sym<true> { <sym> }; token value:sym<false> { <sym> }; token value:sym<null> { <sym> }; ...

And then in the action class, have one method per literal:

method value:sym<true>($/) { make Bool::True } method value:sym<false>($/) { make Bool::False } method value:sym<null>($/) { make Any }

But the key is, as already mentioned by duelafn, to create the right object in the action directly, and not try to post-press the made value later on.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2022-12-07 10:25 GMT
Find Nodes?
    Voting Booth?

    No recent polls found