code: def add_arc(self, src, dst, char):
          
          # assert type(src) == type(int()) and type(dst) == type(int()), \
          #     "State type should be integer."
          # assert char in self.I
          #
          #print self.states
          #print src
          for s_idx in [src, dst]:
              if s_idx >= len(self.states):
                  for i in range(len(self.states), s_idx + 1):
                      self.states.append(DFAState(i))
          for arc in self.states[src].arcs:
              if arc.ilabel == self.isyms.__getitem__(char) or char == EPSILON:
                  self.nfa = True
                  break
          self.states[src].arcs.append(
              DFAArc(src, dst, self.isyms.__getitem__(char)))
docs: Adds a new Arc
          Args:
              src (int): The source state identifier
              dst (int): The destination state identifier
              char (str): The character for the transition
          Returns:
              None