UnityScript.Parser.UnityScriptParser.sum C# (CSharp) Method

sum() public method

public sum ( ) : Expression
return Expression
        public Expression sum()
        {
            Expression expression = null;
            IToken token = null;
            IToken token2 = null;
            BinaryOperatorType type = 0;
            try
            {
                expression = this.term();
                while (true)
                {
                    IToken token3;
                    if ((this.LA(1) != 0x51) && (this.LA(1) != 0x52))
                    {
                        return expression;
                    }
                    if (!tokenSet_16_.member(this.LA(2)))
                    {
                        return expression;
                    }
                    switch (this.LA(1))
                    {
                        case 0x51:
                            token = this.LT(1);
                            this.match(0x51);
                            if (base.inputState.guessing == 0)
                            {
                                token3 = token;
                                type = 1;
                            }
                            break;

                        case 0x52:
                            token2 = this.LT(1);
                            this.match(0x52);
                            if (base.inputState.guessing == 0)
                            {
                                token3 = token2;
                                type = 2;
                            }
                            break;

                        default:
                            throw new NoViableAltException(this.LT(1), this.getFilename());
                    }
                    Expression expression2 = this.term();
                    if (base.inputState.guessing == 0)
                    {
                        BinaryExpression expression3 = new BinaryExpression(ToLexicalInfo(token3));
                        expression3.set_Operator(type);
                        expression3.set_Left(expression);
                        expression3.set_Right(expression2);
                        expression = expression3;
                    }
                }
            }
            catch (RecognitionException exception)
            {
                if (base.inputState.guessing != 0)
                {
                    throw;
                }
                this.reportError(exception);
                this.recover(exception, tokenSet_20_);
                return expression;
            }
            return expression;
        }
UnityScriptParser