code: def parse(self, words, S='S'):
          
          self.chart = [[] for i in range(len(words)+1)]
          self.add_edge([0, 0, 'S_', [], [S]])
          for i in range(len(words)):
              self.scanner(i, words[i])
          return self.chart
docs: Parse a list of words; according to the grammar.
          Leave results in the chart.