lib/parser.js
function() {
    var tok
      , node
      , params = new nodes.Params;
    while (tok = this.accept('ident')) {
      this.accept('space');
      params.push(node = tok.val);
      if (this.accept('...')) {
        node.rest = true;
      } else if (this.accept('=')) {
        node.val = this.expression();
      }
      this.skipWhitespace();
      this.accept(',');
      this.skipWhitespace();
    }
    return params;
  }
function() {
    var tok
      , node
      , params = new nodes.Params;
    while (tok = this.accept('ident')) {
      this.accept('space');
      params.push(node = tok.val);
      if (this.accept('...')) {
        node.rest = true;
      } else if (this.accept('=')) {
        node.val = this.expression();
      }
      this.skipWhitespace();
      this.accept(',');
      this.skipWhitespace();
    }
    return params;
  }
function ( ) { var tok , node , params = new nodes . Params ; while ( tok = this . accept ( 'ident' ) ) { this . accept ( 'space' ) ; params . push ( node = tok . val ) ; if ( this . accept ( '...' ) ) { node . rest = true ; } else if ( this . accept ( '=' ) ) { node . val = this . expression ( ) ; } this . skipWhitespace ( ) ; this . accept ( ',' ) ; this . skipWhitespace ( ) ; } return params ; }
ident
| ident '...'
| ident '=' expression
| ident ',' ident
ident | ident ... | ident = expression | ident ident