From 29d4ac5c070fbcbd1c3c4b1a9c13bf3abf7409a1 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 19 Sep 2011 01:11:23 -0400 Subject: [PATCH] Fix parsing of function calls after the addition of tuples. --- pymbolic/mapper/evaluator.py | 2 -- pymbolic/parser.py | 13 ++++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/pymbolic/mapper/evaluator.py b/pymbolic/mapper/evaluator.py index f190a18..81e0497 100644 --- a/pymbolic/mapper/evaluator.py +++ b/pymbolic/mapper/evaluator.py @@ -115,5 +115,3 @@ def evaluate_kw(expression, **context): def evaluate_to_float(expression, context={}): return FloatEvaluationMapper(context)(expression) - - diff --git a/pymbolic/parser.py b/pymbolic/parser.py index 5fc0d81..bec1330 100644 --- a/pymbolic/parser.py +++ b/pymbolic/parser.py @@ -63,13 +63,6 @@ def parse(expr_str): else: pstate.expected("terminal") - def parse_expr_list(pstate): - result = [parse_expression(pstate)] - while pstate.next_tag() is _comma: - pstate.advance() - result.append(parse_expression(pstate)) - return result - def parse_expression(pstate, min_precedence=0): pstate.expect_not_end() @@ -99,8 +92,10 @@ def parse(expr_str): pstate.advance() left_exp = primitives.Call(left_exp, ()) else: - left_exp = primitives.Call(left_exp, - tuple(parse_expr_list(pstate))) + args = parse_expression(pstate, _PREC_PLUS) + if not isinstance(args, tuple): + args = (args,) + left_exp = primitives.Call(left_exp, args) pstate.expect(_closepar) pstate.advance() did_something = True -- GitLab