code: function() {
      var arr
        , group = new nodes.Group
        , scope = this.selectorScope
        , isRoot = 'root' == this.currentState()
        , selector;
  
      do {
        // Clobber newline after ,
        this.accept('newline');
  
        arr = this.selectorParts();
  
        // Push the selector
        if (isRoot && scope) arr.unshift(new nodes.Literal(scope + ' '));
        if (arr.length) {
          selector = new nodes.Selector(arr);
          selector.lineno = arr[0].lineno;
          selector.column = arr[0].column;
          group.push(selector);
        }
      } while (this.accept(',') || this.accept('newline'));
  
      if ('selector-parts' == this.currentState()) return group.nodes;
  
      this.state.push('selector');
      group.block = this.block(group);
      this.state.pop();
  
      return group;
    }
docs: selector ',' selector
  | selector newline selector
  | selector block