 					return compileOperator(';', compileArray(tokens, ';'));
 				
 				// decompile each token for the error message
-				var str:String = '';
+				str = '';
 				for each (var tok:* in tokens)
 					str += (str ? ' ' : '') + (tok as String || decompileObject(tok));
 				throw new Error("Unexpected semicolon: " + str);

					catch (e:Error)
					{
						if (ignoreRuntimeErrors)
						{
							result = undefined;
						}
						else
						{
							/*
							if (compiledParams && call.evaluatedMethod == null)
							{
								while (call.compiledMethod is CompiledFunctionCall && call.evaluatedMethod == null)
									call = call.compiledMethod as CompiledFunctionCall;
								throw new Error("Undefined method: " + call.evaluatedMethod || (call.compiledMethod as CompiledConstant).value);
							}
							*/
							throw e;
						}
					}
					// remove this call from the stack
					stack.pop();

			[ST_FOR, _PARAMS, _STMT],
			[ST_DO, _STMT, ST_WHILE, _PARAMS],
			[ST_WHILE, _PARAMS, _STMT],
			[ST_TRY, _BLOCK, ST_CATCH, _PARAMS, _BLOCK, ST_FINALLY, _BLOCK],
			[ST_TRY, _BLOCK, ST_FINALLY, _BLOCK],
			[ST_TRY, _BLOCK, ST_CATCH, _PARAMS, _BLOCK],
			[ST_BREAK],
			[ST_CONTINUE],
			[ST_RETURN, _EXPR],
