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);
  }
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 ']'
```
Parse an array ebnf array :: = T_ARRAY ( array_pair_list ) | [ array_pair_list ]