 		private static const PN_EXPR:String = 'EXPR';
 		
 		/**
-		 * may only contain one expression, optionally enclosed in (), no statements.
+		 * variable names and/or assignments separated by commas
 		 * Used in conjunction with _validStatementPatterns.
 		 */
 		private static const PN_VARS:String = 'VARS';

					}
					
					if (n == 2) // infix op
						return StringUtil.substitute("({0} {1} {2})", params[0], op, params[1]);
					
					if (n == 3 && op == '?:') // ternary op
						return StringUtil.substitute("({0} ? {1} : {2})", params);
				}
				
				if (op == ST_VAR)

					varLookup[name] = true;
				return null;
			}
			
			//todo - flatten nested operator ';' and ',' calls
			
			if (method == operators[';'] || method == operators[','] || method == operators['('])
			{
