class_docstr: Visit an AST and raise a PythranSyntaxError upon unsupported construct.
  
  Attributes
  ----------
  attributes : {str}
      Possible attributes from Pythonic modules/submodules.
code: def visit_Attribute(self, node):
      self.generic_visit(node)
      if node.attr not in self.attributes:
          raise PythranSyntaxError(
              "Attribute '{0}' unknown".format(node.attr), node
          )
  
imports: from pythran.tables import MODULES
  from pythran.intrinsic import Class
  from pythran.typing import Tuple, List, Set, Dict
  from pythran.utils import isstr
  from pythran import metadata
  import beniget
  import gast
  import logging
  import numpy
label_desc: Use image node_id 15 for calling the SyntaxChecker obj's underlying member method code with example usage: obj.visit_Attribute(node) without return types