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