code: def access_var(self, id_, lineno, scope=None, default_type=None):
          
          result = self.access_id(id_, lineno, scope, default_type)
          if result is None:
              return None
  
          if not self.check_class(id_, CLASS.var, lineno, scope):
              return None
  
          assert isinstance(result, symbols.VAR)
          result.class_ = CLASS.var
  
          return result
docs: Since ZX BASIC allows access to undeclared variables, we must allow
          them, and *implicitly* declare them if they are not declared already.
          This function just checks if the id_ exists and returns its entry so.
          Otherwise, creates an implicit declared variable entry and returns it.
  
          If the --strict command line flag is enabled (or #pragma option explicit
          is in use) checks ensures the id_ is already declared.
  
          Returns None on error.