Exemple #1
0
  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);
  }
Exemple #2
0
  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));
  }