示例#1
0
        public static IExpression BuildSingularExpression(List <Token> tokens, ref int index, Stack <int?> precedenceStack)
        {
            Token       token = tokens[index];
            IExpression expr;

            switch (token.TokenType)
            {
            case TokenType.Number:
                expr = new NumericExpression();
                break;

            case TokenType.StringLiteral:
                expr = new StringExpression();
                break;

            default:
                expr = BuildExpression(tokens, ref index, precedenceStack);
                break;
            }

            expr.BuildExpression(tokens, ref index, precedenceStack);
            return(expr);
        }
示例#2
0
        public static IExpression BuildSingularExpression(List<Token> tokens, ref int index, Stack<int?> precedenceStack)
        {
            Token token = tokens[index];
            IExpression expr;
            switch (token.TokenType)
            {
                case TokenType.Number:
                    expr = new NumericExpression();
                    break;

                case TokenType.StringLiteral:
                    expr = new StringExpression();
                    break;

                default:
                    expr = BuildExpression(tokens, ref index, precedenceStack);
                    break;
            }

            expr.BuildExpression(tokens, ref index, precedenceStack);
            return expr;
        }