code: def _enter_namespace(self, namespace_name):
          
          if namespace_name not in self.namespaces:
              self.namespaces[namespace_name] = {}
  
              # BASETYPE namespace is imported in each namespace
              # as the first namespace to be searched.
              self._imported_namespaces[namespace_name] = \
                  [self.namespaces['__base__']]
  
          self._namespace_stack.append(namespace_name)
docs: A namespace is usually an absolute file name of the grammar.
          A special namespace '__base__' is used for BASETYPE namespace.