{ $r{H} = $NUM{VAL} }
{ $expr{T} = $r{T} }
{ $r_1{H} = $r{H}." ".$NUM{VAL}." - " }
{ $r{T} = $r_1{T} }
{ $r{T} = $r{H} }
es posible construir un APDR que ejecuta las acciones semánticas en los puntos indicados por el esquema de traducción. El atributo heredado se convierte en un parámetro de entrada a la subrutina asociada con la variable sintáctica:
sub expression() { my $r = $value." "; #accion intermedia match('NUM'); return rest($r); # accion final $expr{T} = $r{T} } sub rest($) { my $v = shift; if ($lookahead eq '-') { match('-'); my $r = "$v $value -"; # accion intermedia match('NUM'); return rest($r); # accion final $r{t} = $r_1{t} } elsif ($lookahead ne 'EOI') { error("Se esperaba un operador"); } else { return $v; } # r -> epsilon { $r{t} = $r{h} } }