code: def parse_sentence(self, string):
          
  
          result = []
  
          def shift(string_):
              """ Returns first word of a string, and remaining
              """
              string_ = string_.strip()  # Remove spaces and tabs
  
              if not string_:  # Avoid empty strings
                  return '', ''
  
              i = string_.find(' ')
              if i == -1:
                  command_ = string_
                  string_ = ''
              else:
                  command_ = string_[:i]
                  string_ = string_[i:]
  
              return command_, string_
  
          command, string = shift(string)
          while command != '':
              result += self.token(command)
docs: Parses the given sentence. BASIC commands must be
          types UPPERCASE and as SEEN in ZX BASIC. e.g. GO SUB for gosub, etc...