mercurial/parser.py
changeset 25818 455190fb4e51
parent 25817 42ac9d1d1572
child 25963 7448df709b2e
equal deleted inserted replaced
25817:42ac9d1d1572 25818:455190fb4e51
    60         # gather tokens until we meet a lower binding strength
    60         # gather tokens until we meet a lower binding strength
    61         while bind < self._elements[self.current[0]][0]:
    61         while bind < self._elements[self.current[0]][0]:
    62             token, value, pos = self._advance()
    62             token, value, pos = self._advance()
    63             # handle infix rules, take as suffix if unambiguous
    63             # handle infix rules, take as suffix if unambiguous
    64             infix, suffix = self._elements[token][3:]
    64             infix, suffix = self._elements[token][3:]
    65             if suffix and not self._hasnewterm():
    65             if suffix and not (infix and self._hasnewterm()):
    66                 expr = (suffix[0], expr)
    66                 expr = (suffix[0], expr)
    67             elif infix:
    67             elif infix:
    68                 expr = (infix[0], expr, self._parseoperand(*infix[1:]))
    68                 expr = (infix[0], expr, self._parseoperand(*infix[1:]))
    69             else:
    69             else:
    70                 raise error.ParseError(_("not an infix: %s") % token, pos)
    70                 raise error.ParseError(_("not an infix: %s") % token, pos)