Exemplo n.º 1
0
        private bool TokenBytesToString(Stack operandsStack)
        {
            byte[] buffer1 = new byte[this.RpnBytes.Length];
            Array.Copy(this.RpnBytes, 0, buffer1, 0, this.RpnBytes.Length);
            int  num1  = 0;
            bool flag1 = false;
            bool flag2 = false;

            while (num1 < this.RpnBytes.Length)
            {
                FormulaToken token1 = FormulaTokensFactory.CreateFrom(buffer1, num1);
                if (token1.Type.IsControl)
                {
                    flag2 = true;
                }
                else
                {
                    flag1 = true;
                }
                CellFormula.ProcessToken(token1, operandsStack);
                num1 += token1.Size;
            }
            if (!flag1)
            {
                return(flag2);
            }
            return(false);
        }
Exemplo n.º 2
0
 private void TokensToString(Stack operandsStack, FormulaToken[] tokens)
 {
     for (int num1 = 0; num1 < tokens.Length; num1++)
     {
         FormulaToken token1 = tokens[num1];
         CellFormula.ProcessToken(token1, operandsStack);
     }
 }
Exemplo n.º 3
0
 private static void ProcessToken(FormulaToken token, Stack operandsStack)
 {
     if (token.Type.IsUnary)
     {
         CellFormula.ProcessUnaryOperator(token, operandsStack);
     }
     else if (token.Type.IsBinary)
     {
         CellFormula.ProcessBinaryOperator(token, operandsStack);
     }
     else if (token.Type.IsOperand)
     {
         CellFormula.ProcessOperand(token, operandsStack);
     }
     else if (token.Type.IsFunction)
     {
         CellFormula.ProcessFunction(token, operandsStack);
     }
     else if (!token.Type.IsControl)
     {
         throw new ArgumentException("Invalid RPN token code.");
     }
 }