 				['||']
 			];
 			// unary operators
-			unaryOperatorSymbols = ['-','~','!']; // '#' not listed because it has special evaluation order
+			unaryOperatorSymbols = ['--','++','+','-','~','!']; // '#' not listed because it has special evaluation order
 
 			// create a corresponding function name for each operator
 			for (var op:String in operators)

				else if (statement == STATEMENT_FOR && params.evaluatedMethod != STATEMENT_IN)
				{
					throwInvalidSyntax(statement);
				}
				
				if (firstIndex != lastIndex)
				{
					//TODO
					
					var distance:int = statements[statement] ? 3 : 2; // 3 if requires params, 2 if not
					if (lastIndex - firstIndex != distance)
						throwInvalidSyntax(statement);
				}
			}
		}

			*/
			operatorName = OPERATOR_ESCAPE + operatorName;
			return compileFunctionCall(new CompiledConstant(operatorName, constants[operatorName]), compiledParams);
		}
		
		/**
		 * @param compiledObject A CompiledFunctionCall or CompiledConstant to decompile into an expression String.
		 * @return The expression String generated from the compiledObject.
