FUENTE ============================================================================== test (int n) { while (1) { if (1>0) { break; } else if (2> 0){ continue; } } } ÃRBOL ============================================================================== PROGRAM^{0}( FUNCTION[test]^{1}( WHILE(PRIMARY_NUM(TERMINAL[1:3]), STATEMENTS( IFELSE( GT(PRIMARY_NUM(TERMINAL[1:4]),PRIMARY_NUM(TERMINAL[0:4])), STATEMENTS(BREAK), IF( GT(PRIMARY_NUM(TERMINAL[2:7]),PRIMARY_NUM(TERMINAL[0:7])), STATEMENTS(CONTINUE) ) ) ) ) ) ) TRG ============================================================================== loop_control: /BREAK|CONTINUE|WHILE/ LLAMADA ============================================================================== my @loop_stuff = $SimpleTrans::loop_control->m($tree); SALIDA DE $_->str for (@loop_stuff) ============================================================================== Match[[WHILE:2:loop_control]]( Match[[BREAK:6:loop_control]]( Match[[CONTINUE:7:loop_control]] ) ) Match[[BREAK:6:loop_control]]( Match[[CONTINUE:7:loop_control]] ) Match[[CONTINUE:7:loop_control]]