private Expression[] parseArgumentList() { ArrayList argumentVector = new ArrayList(); readToken(Token.OPERATOR_OPENPAREN); if (nextToken != Token.OPERATOR_CLOSEPAREN) { argumentVector.Add(parseAssignmentExpression(true)); while (nextToken == Token.OPERATOR_COMMA) { readToken(Token.OPERATOR_COMMA); argumentVector.Add(parseAssignmentExpression(true)); } } readToken(Token.OPERATOR_CLOSEPAREN); return CompilerUtil.vectorToExpressionArray(argumentVector); }
private ArrayLiteral parseArrayLiteral() { ArrayList arrayElements = new ArrayList(); readToken(Token.OPERATOR_OPENSQUARE); while (nextToken != Token.OPERATOR_CLOSESQUARE) { if (nextToken == Token.OPERATOR_COMMA) { arrayElements.Add(null); } else { arrayElements.Add(parseAssignmentExpression(true)); } if (nextToken != Token.OPERATOR_CLOSESQUARE) { readToken(Token.OPERATOR_COMMA); } } readToken(Token.OPERATOR_CLOSESQUARE); return new ArrayLiteral(CompilerUtil.vectorToExpressionArray(arrayElements)); }