Perl 6 Rakudo Perl - Perl 6 on Parrot #41

Action methods in action!

Parse rule (grammar.pg):

rule while_statement {
    'while' <EXPR> <pblock> {*}
}

Action method (actions.pm):

method while_statement($/) {
    my $cond  := $( $<EXPR> );
    my $block := $( $<pblock> );
    $block.blocktype('immediate');
    make PAST::Op.new( $cond, $block, :pasttype('while') );
}
Copyright © 2008
http://www.pmichaud.com/2008/pres/