diff -r 9d1e04f5dca7 -r af329a84310c mercurial/parser.py --- a/mercurial/parser.py Sat Jun 20 20:11:53 2015 -0700 +++ b/mercurial/parser.py Sun Jun 21 00:49:26 2015 +0900 @@ -19,8 +19,7 @@ from i18n import _ class parser(object): - def __init__(self, tokenizer, elements, methods=None): - self._tokenizer = tokenizer + def __init__(self, elements, methods=None): self._elements = elements self._methods = methods self.current = None @@ -72,12 +71,9 @@ if len(infix) == 3: self._match(infix[2], pos) return expr - def parse(self, message, lookup=None): - 'generate a parse tree from a message' - if lookup: - self._iter = self._tokenizer(message, lookup) - else: - self._iter = self._tokenizer(message) + def parse(self, tokeniter): + 'generate a parse tree from tokens' + self._iter = tokeniter self._advance() res = self._parse() token, value, pos = self.current @@ -87,9 +83,9 @@ if not isinstance(tree, tuple): return tree return self._methods[tree[0]](*[self.eval(t) for t in tree[1:]]) - def __call__(self, message): - 'parse a message into a parse tree and evaluate if methods given' - t = self.parse(message) + def __call__(self, tokeniter): + 'parse tokens into a parse tree and evaluate if methods given' + t = self.parse(tokeniter) if self._methods: return self.eval(t) return t