code: 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;
    }
docs: ident
  | ident '...'
  | ident '=' expression
  | ident ',' ident