Charj: fix optional for-loop condition and update exprs
authorAaron Becker <akbecker@gmail.com>
Mon, 11 Apr 2011 20:34:36 +0000 (15:34 -0500)
committerAaron Becker <akbecker@gmail.com>
Mon, 11 Apr 2011 21:00:41 +0000 (16:00 -0500)
src/langs/charj/src/charj/translator/CharjASTModifier2.g

index a5b00e9f2206358b7d97694c05bb380ab72ed462..b8b85daf7594e00e679187d2a6e61bd8dde3cdb9 100644 (file)
@@ -396,8 +396,8 @@ nonBlockStatement returns [boolean sdag]
     |   ^(FOR forInit? FOR_EXPR (e1=expression)? FOR_UPDATE (e2+=expression)* block {
             $sdag = $block.sdag;
         })
-        -> {$sdag}? ^(SDAG_FOR forInit? FOR_EXPR $e1 FOR_UPDATE $e2 block)
-        -> ^(FOR forInit? FOR_EXPR $e1 FOR_UPDATE $e2 block)
+        -> {$sdag}? ^(SDAG_FOR forInit? FOR_EXPR $e1? FOR_UPDATE $e2? block)
+        -> ^(FOR forInit? FOR_EXPR $e1? FOR_UPDATE $e2? block)
     |   ^(FOR_EACH localModifierList? type IDENT expression block { $sdag = $block.sdag; })
     |   ^(WHILE parenthesizedExpression block { $sdag = $block.sdag; })
         -> {$sdag}? ^(SDAG_WHILE parenthesizedExpression block)