Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
remove todos, add hints about labels
  • Loading branch information
FROGGS committed Apr 10, 2013
1 parent 934d143 commit 7626362
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions TODO_compound_statements.md
Expand Up @@ -14,22 +14,33 @@ Done:
unless (EXPR) BLOCK elsif (EXPR) BLOCK ...
unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL until (EXPR) BLOCK
LABEL until (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL for VAR (LIST) BLOCK
LABEL for VAR (LIST) BLOCK continue BLOCK
LABEL foreach (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (LIST) BLOCK
LABEL foreach VAR (LIST) BLOCK continue BLOCK
LABEL BLOCK
LABEL BLOCK continue BLOCK

Almost (LHF):

given (EXPR) BLOCK
LABEL until (EXPR) BLOCK

Todo:

LABEL while (EXPR) BLOCK continue BLOCK
LABEL until (EXPR) BLOCK continue BLOCK
LABEL for VAR (LIST) BLOCK continue BLOCK
LABEL foreach VAR (LIST) BLOCK continue BLOCK
LABEL BLOCK
LABEL BLOCK continue BLOCK
PHASE BLOCK

To make LABELs work, see:

- parrot/compilers/pct/src/PAST/Compiler.pir:1646: ops.'push_pirop'('new', handreg, "'ExceptionHandler'", "[.CONTROL_LOOP_NEXT;.CONTROL_LOOP_REDO;.CONTROL_LOOP_LAST]")
- parrot/compilers/pct/src/PAST/Compiler.pir:1677: ops.'push_pirop'('eq', $S0, '.CONTROL_LOOP_NEXT', nextlabel)

- nqp/src/NQP/Actions.pm:1563: method term:sym<next>($/) { make QAST::Op.new( :op('control'), :name('next') ) }
- nqp/src/QAST/Operations.nqp:1386: 'next', '.CONTROL_LOOP_NEXT',

- rakudo/src/core/control.pm:67:my &next := -> | {
- rakudo/src/core/control.pm:71: pir::const::CONTROL_LOOP_NEXT)

0 comments on commit 7626362

Please sign in to comment.