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.
In Section
Seekers of Perl Wisdom