function parseArrayList(node) {
    consume(); // '('

    // a() matches the empty list.
    if(peek() === ')') {
      node.type = '()';
      return;
    }

    while (true) {
      // The whole array may be matched with 'a(|)' or (preferably) 'a'.
      if(peek() === '|') { break; }
      /**
       * Use clear() to allow whitespace on certain locations:
       * (n,n@x), (n, n@x), ( n , n@x ) are all accepted.
       * (n, n @x) is not accepted: bindings do not allow
       * any whitespace.
       */
      clear(); stage1(node.nodes); clear();
      if(peek() !== ',') {
        break;
      }
      consume(); // ','
    }
  }
function parseArrayList(node) {
    consume(); 

    
    if(peek() === ')') {
      node.type = '()';
      return;
    }

    while (true) {
      
      if(peek() === '|') { break; }
      
      clear(); stage1(node.nodes); clear();
      if(peek() !== ',') {
        break;
      }
      consume(); 
    }
  }
function parseArrayList ( node ) { consume ( ) ; // '(' // a() matches the empty list. if ( peek ( ) === ')' ) { node . type = '()' ; return ; } while ( true ) { // The whole array may be matched with 'a(|)' or (preferably) 'a'. if ( peek ( ) === '|' ) { break ; } /**
       * Use clear() to allow whitespace on certain locations:
       * (n,n@x), (n, n@x), ( n , n@x ) are all accepted.
       * (n, n @x) is not accepted: bindings do not allow
       * any whitespace.
       */ clear ( ) ; stage1 ( node . nodes ) ; clear ( ) ; if ( peek ( ) !== ',' ) { break ; } consume ( ) ; // ',' } }
Parses the (...) component of an array pattern.
Parses the ( ... ) component of an array pattern .