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

term() public method

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

                        case 0x68:
                            token2 = this.LT(1);
                            this.match(0x68);
                            if (base.inputState.guessing == 0)
                            {
                                type = 4;
                                token4 = token2;
                            }
                            break;

                        case 0x53:
                            token3 = this.LT(1);
                            this.match(0x53);
                            if (base.inputState.guessing == 0)
                            {
                                type = 5;
                                token4 = token3;
                            }
                            break;

                        default:
                            throw new NoViableAltException(this.LT(1), this.getFilename());
                    }
                    Expression expression2 = this.unary_expression();
                    if (base.inputState.guessing == 0)
                    {
                        BinaryExpression expression3 = new BinaryExpression(ToLexicalInfo(token4));
                        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