code: def univprop(self):
          '''
          .foo
          '''
          self.ignore(whitespace)
  
          if not self.nextstr('.'):
              self._raiseSyntaxError('universal property expected .')
  
          name = self.noms(varset)
          if not name:
              mesg = 'Expected a univeral property name.'
              self._raiseSyntaxError(mesg=mesg)
  
          if not isUnivName(name):
              self._raiseSyntaxError(f'no such universal property: {name!r}')
  
          return s_ast.UnivProp(namef univprop(self):
          '''
          .foo
          '''
          self.ignore(whitespace)
  
          if not self.nextstr('.'):
              self._raiseSyntaxError('universal property expected .')
  
          name = self.noms(varset)
          if not name:
              mesg = 'Expected a univeral property name.'
              self._raiseSyntaxError(mesg=mesg)
  
          if not isUnivName(name):
              self._raiseSyntaxError(f'no such universal property: {name!r}')
  
          return s_ast.UnivProp(name)
docs: .foo