 		 * Used in conjunction with _validStatementPatterns.
 		 */
 		private static const PN_EXPR:String = 'EXPR';
+		
+		/**
+		 * may only contain one expression, optionally enclosed in (), no statements.
+		 * Used in conjunction with _validStatementPatterns.
+		 */
+		private static const PN_VARS:String = 'VARS';
 		
 		/**
 		 * longer patterns appear earlier so they will match before shorter patterns when checked in order

							if (builtInSymbolTable.hasOwnProperty(symbolName))
								throw new Error("Cannot assign built-in symbol: " + symbolName);
							
							// assignment operator expects parameters like (host, ...chain, value)
							// if there is no matching local variable and 'this' has a matching one, assign the property of 'this'
							if (useThisScope && this && this.hasOwnProperty(symbolName) && !localSymbolTable.hasOwnProperty(symbolName))
								result = method(this, symbolName, call.evaluatedParams[1]);
							else // otherwise, assign local variable
								result = method(localSymbolTable, symbolName, call.evaluatedParams[1]);
						}
						else if (method is Class)
						{

		{
			var tokens:Array = getTokens(expression);
			//trace("source:", expression, "tokens:" + tokens.join(' '));
			var compiledObject:ICompiledObject = finalize(compileTokens(tokens, true));
			return compileObjectToFunction(compiledObject, symbolTable, ignoreRuntimeErrors, useThisScope, paramNames, paramDefaults);
		}
		
