diff --git a/pymbolic/mapper/evaluator.py b/pymbolic/mapper/evaluator.py index f190a18e433243a326f72eb9ec4c533a6ebb8858..81e049787e9e3ee76b58f309c5bbdde8c9f68645 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 5fc0d815118cfc46e115e522a73a427cb05a4960..bec133002d61a1d9079dfc611dd74af24b1daca4 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