code: def run(self, s):
          
          begins, ends = [0], []
          # transition table
          DISPATCH = {
              self.NORMAL: self._handle_normal,
              self.QUOTED: self._handle_quoted,
              self.ARRAY: self._handle_array,
              self.DELIM: self._handle_delim,
              self.ESCAPED: self._handle_escaped,
          }
          # run state automaton
          state = self.NORMAL
          for pos, c in enumerate(s):
              state = DISPATCH[state](c, pos, begins, ends)
          ends.append(len(s))
          assert len(begins) == len(ends)
          # Build resulting list
          return [s[start:end] for start, end in zip(begins, ends)]
docs: Split string ``s`` at delimiter, correctly interpreting quotes
  
          Further, interprets arrays wrapped in one level of ``[]``.  No
          recursive brackets are interpreted (as this would make the grammar
          non-regular and currently this complexity is not needed).  Currently,
          quoting inside of braces is not supported either.  This is just to
          support the example from VCF v4.3.