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); }
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; }