code: function declaration() {
      var pos = position();
  
      // prop
      var prop = match(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
      if (!prop) return;
      prop = trim(prop[0]);
  
      // :
      if (!match(/^:\s*/)) return error("property missing ':'");
  
      // val
      var val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/);
  
      var ret = pos({
        type: 'declaration',
        property: prop.replace(commentre, ''),
        value: val ? trim(val[0]).replace(commentre, '') : ''
      });
  
      // ;
      match(/^[;\s]*/);
  
      return ret;
    }
docs: Parse declaration.