diff --git a/pycep/parser.py b/pycep/parser.py index 99d1fe9..1b4e559 100644 --- a/pycep/parser.py +++ b/pycep/parser.py @@ -1456,7 +1456,17 @@ def _lambdef(tokens): lambdef: 'lambda' [varargslist] ':' test """ - raise NotImplementedError + result = [symbol.lambdef] + + result.append(tokens.accept(token.NAME, "lambda")) + + if not tokens.check(token.OP, ":"): + result.append(_varargslist(tokens)) + + result.append(tokens.accept(token.OP, ":", result_token=token.COLON)) + result.append(_test(tokens)) + + return result def _trailer(tokens): """Parse a trailer. diff --git a/pycep/tests/snippets/pos/astrein.py b/pycep/tests/snippets/pos/astrein.py index 22705f6..edae81b 100644 --- a/pycep/tests/snippets/pos/astrein.py +++ b/pycep/tests/snippets/pos/astrein.py @@ -107,6 +107,6 @@ def divide(x, y): 4 ** 16 -#g = lambda x: x**2 +g = lambda x: x**2 5 if foo == 30 else 19 \ No newline at end of file