 				"for (y = 0; y < 10; y++) trace('y =',y);",
 				"x = 0; do { trace('do',x++); } while (trace('cond'), x < 10);",
 				_do_test,
-				"for (trace('y =',0), y = 0; trace(y,'<',10), y < 10; trace('y++'), y++) { trace('loop y =',y); }"
+				"for (trace('y =',0), y = 0; trace(y,'<',10), y < 10; trace('y++'), y++) { trace('loop y =',y); }",
+				"for (i = 0; i < 10; i++) if (i == 5) return ; else trace(i);",
+				"if (true) return ; else trace('test'); trace('BUG');",
+				"for (i = 0; i < 10; i++) { if (i == 3) continue; trace(i); if (i == 5) break; } trace('done');"
 			];
 			var values:Array = [-2, -1, -0.5, 0, 0.5, 1, 2];
 			var vars:Object = {};

					{
						cfc = tokens[i - 1] as CompiledFunctionCall;
						
						if (cfc && cfc.evaluatedMethod == operators['('])
						{
							// support for "while (cond);"
							tokens[i] = compileOperator(';', []);
						}
						else if (tokens[i - 1] is CompiledConstant || (cfc && cfc.evaluatedMethod != operators[';']))

						
						// TODO 
					}
				}
				else if (_jumpStatements.indexOf(stmt) >= 0)
				{
					tokens[startIndex] = compileOperator(stmt, params);
				}
				return;
			}
