def parse_tokens(self, tokens):
if len(tokens) == <NUM_LIT:1>:<EOL><INDENT>return list(), tokens, {"<STR_LIT>": self.ast.help}<EOL><DEDENT>else:<EOL><INDENT>tokens.reverse()<EOL><DEDENT>parsed, unparsed, suggestions = self.treewalk(self.ast, parsed=list(), unparsed=tokens)<EOL>if not suggestions and unparsed:<EOL><INDENT>logger.debug("<STR_LIT>")<EOL>unparsed.pop()<EOL>parsed.reverse()<EOL>unparsed.extend(parsed)<EOL>logger.debug("<STR_LIT>", unparsed)<EOL>return self.treewalk(self.ast, parsed=list(), unparsed=unparsed)<EOL><DEDENT>else:<EOL><INDENT>return parsed, unparsed, suggestions<EOL><DEDENT>
Parse a sequence of tokens

        returns tuple of (parsed tokens, suggestions)