Transforming parse to PAST
transform past (Perl6::Grammar::statement_list) :language('PIR') { .local pmc past .local pmc iter past = new 'Perl6::PAST::Stmts' past.'init'('node'=>node) $P0 = node['statement'] iter = new .Iterator, $P0 iter_loop: unless iter goto iter_end $P1 = shift iter $P2 = tree.'get'('past', $P1, 'Perl6::Grammar::statement') if null $P2 goto iter_loop past.'add_child'($P2) goto iter_loop iter_end: .return (past) }