code: def _parseDeclaration(self, src):
          
          # property
          propertyName, src = self._getIdent(src)
  
          if propertyName is not None:
              src = src.lstrip()
              # S* : S*
              if src[:1] in (':', '='):
                  # Note: we are being fairly flexable here...  technically, the
                  # ":" is *required*, but in the name of flexibility we
                  # suppor a null transition, as well as an "=" transition
                  src = src[1:].lstrip()
  
              src, property = self._parseDeclarationProperty(src, propertyName)
          else:
              property = None
  
          return src, property
docs: declaration
          : ident S* ':' S* expr prio?
          | /* empty */
          ;