fCraft.SimpleParser.ProcessOperator C# (CSharp) Method

ProcessOperator() private static method

private static ProcessOperator ( FuncData op, Expression e, Stack tmpStack ) : void
op FuncData
e Expression
tmpStack Stack
return void
        private static void ProcessOperator( FuncData op, Expression e, Stack<FuncData> tmpStack )
        {
            while ( tmpStack.Count > 0 ) //while operators with higher or equal precedence
            {
                FuncData fd = tmpStack.Peek();
                if ( fd.SpecialKind == SpecialOperandKind.NotSpecial && !fd.IsFunctionOrUnary && fd.Precedence >= op.Precedence )
                    e.Append( tmpStack.Pop().Func );
                else
                    break;
            }
            tmpStack.Push( op );
        }