 			];
 			const THIS_SYMBOL_TABLE_INDEX:int = 3;
 			
-			const stack:Array = []; // used as a queue of function calls
-			var call:CompiledFunctionCall;
-			var subCall:CompiledFunctionCall;
-			var compiledParams:Array;
-			var result:*;
-			var symbolName:String;
-			var i:int;
-
-			// this function avoids unnecessary function calls by keeping its own call stack rather than using recursion.
+			// this function avoids unnecessary function call overhead by keeping its own call stack rather than using recursion.
 			var wrapperFunction:Function = function():*
 			{
 				builtInSymbolTable['this'] = this;

		/**
		 * This function will compile an expression into a compiled object representing a function that takes no parameters and returns a value.
		 * This function is useful for inspecting the structure of the compiled function and decompiling individual parts.
		 * @param expression An expression to parse.
		 * @return A CompiledConstant or CompiledFunctionCall generated from the tokens, or null if the tokens do not represent a valid expression.
		 */
		public function compileToObject(expression:String):ICompiledObject
		{
			return compileTokens(getTokens(expression), true);
		}
		
		// TODO: includeLibrary(sourceSymbolTable, destinationSymbolTable) where it copies all the properties of source to destination
		
		/**
		 * avmplus.describeTypeJSON(o:*, flags:uint):Object
		 */
		private static const describeTypeJSON:Function = DescribeType.getJSONFunction();

		 */
		public var debug:Boolean = false;
		
		private static const BRANCH_IF:String = 'if';
		private static const BRANCH_ELSE:String = 'else';
		private static const BRANCH_FOR:String = 'for';
		private static const BRANCH_WHILE:String = 'while';
		private static const BRANCH_RETURN:String = 'return';
		private static const METHOD_INDEX:int = -1;
		private static const CONDITION_INDEX:int = 0;
		private static const TRUE_INDEX:int = 1;
		private static const FALSE_INDEX:int = 2;
		
		/**
		 * This is the prefix used for the function notation of infix operators.
		 * For example, the function notation for ( x + y ) is ( \+(x,y) ).
