equal
deleted
inserted
replaced
73 else: |
73 else: |
74 expr = (infix[0], expr, self._parse(infix[1])) |
74 expr = (infix[0], expr, self._parse(infix[1])) |
75 if len(infix) == 3: |
75 if len(infix) == 3: |
76 self._match(infix[2], pos) |
76 self._match(infix[2], pos) |
77 return expr |
77 return expr |
78 def parse(self, message): |
78 def parse(self, message, lookup=None): |
79 'generate a parse tree from a message' |
79 'generate a parse tree from a message' |
80 self._iter = self._tokenizer(message) |
80 if lookup: |
|
81 self._iter = self._tokenizer(message, lookup) |
|
82 else: |
|
83 self._iter = self._tokenizer(message) |
81 self._advance() |
84 self._advance() |
82 res = self._parse() |
85 res = self._parse() |
83 token, value, pos = self.current |
86 token, value, pos = self.current |
84 return res, pos |
87 return res, pos |
85 def eval(self, tree): |
88 def eval(self, tree): |