Mercurial > lbo > hg > pcombinators
changeset 8:07dfebce36c5 draft
Fix Transform combinator
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sun, 19 May 2019 17:17:10 +0200 |
parents | b4844d42ed0f |
children | 3de557dc12a0 |
files | combinators.py |
diffstat | 1 files changed, 3 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/combinators.py Sun May 19 14:31:40 2019 +0200 +++ b/combinators.py Sun May 19 17:17:10 2019 +0200 @@ -119,11 +119,10 @@ def parse(self, st): initial = st.index() r, st2 = self._inner.parse(st) - try: - return self._transform(r), st2 - except: + if r is None: st.reset(initial) return None, st + return self._transform(r), st2 class _Sequence(Parser): _parsers = [] @@ -249,8 +248,7 @@ def Skip(p): """Omit the result of parser p, and replace it with []. Result is [].""" - return p >> (lambda _: []) - + return p >> (lambda r: []) # Parsers