src/parser/array.js
function() {
    let expect = null;
    let shortForm = false;
    const result = this.node(ArrayExpr);

    if (this.token === this.tok.T_ARRAY) {
      this.next().expect("(");
      expect = ")";
    } else {
      shortForm = true;
      expect = "]";
    }
    let items = [];
    if (this.next().token !== expect) {
      items = this.read_array_pair_list(shortForm);
    }
    // check non empty entries
    /*for(let i = 0, size = items.length - 1; i < size; i++) {
      if (items[i] === null) {
        this.raiseError(
          "Cannot use empty array elements in arrays"
        );
      }
    }*/
    this.expect(expect);
    this.next();
    return result(shortForm, items);
  }
function() {
    let expect = null;
    let shortForm = false;
    const result = this.node(ArrayExpr);

    if (this.token === this.tok.T_ARRAY) {
      this.next().expect("(");
      expect = ")";
    } else {
      shortForm = true;
      expect = "]";
    }
    let items = [];
    if (this.next().token !== expect) {
      items = this.read_array_pair_list(shortForm);
    }
    // check non empty entries
    /*for(let i = 0, size = items.length - 1; i < size; i++) {
      if (items[i] === null) {
        this.raiseError(
          "Cannot use empty array elements in arrays"
        );
      }
    }*/
    this.expect(expect);
    this.next();
    return result(shortForm, items);
  }
Parse an array
```ebnf
array ::= T_ARRAY '(' array_pair_list ')' |
'[' array_pair_list ']'
```