class_docstr: Class to save information from ast while check for pattern. 
class_docstr_tok: ["Class","to","save","information","from","ast","while","check","for","pattern","."]
docstr: Placeholder are identified using an identifier. 
docstr_tok: ["Placeholder","are","identified","using","an","identifier","."]
code: def __init__(self, identifier, type=None, constraint=None):
      """Placeholder are identified using an identifier."""
      self.id = identifier
      self.type = type
      self.constraint = constraint
      super(Placeholder, self).__init__()
  
imports: from gast import AST, iter_fields, NodeVisitor, Dict, Set
  from itertools import permutations
  from math import isnan
label_desc: Use image node_id 1 to create a new Placeholder object from inherited base classes: AST with example: obj = Placeholder(identifier, type, constraint)