From 17ba9bccd0e32fb85df924dc7d2b87b6ec0691c0 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Mon, 26 May 2014 22:56:12 +0300 Subject: Parse function and method calls properly. --- mparser.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mparser.py') diff --git a/mparser.py b/mparser.py index 7796dd849..b80a46d0f 100644 --- a/mparser.py +++ b/mparser.py @@ -343,15 +343,15 @@ class Parser: def e6(self): left = self.e7() - if self.accept('dot'): - return self.method_call(left) - elif self.accept('lparen'): + if self.accept('lparen'): args = self.args() self.expect('rparen') if not isinstance(left, IdNode): raise ParseException('Function call must be applied to plain id', left.lineno, left.colno) - return FunctionNode(left.lineno, left.colno, left.value, args) + left = FunctionNode(left.lineno, left.colno, left.value, args) + while self.accept('dot'): + left = self.method_call(left) return left def e7(self): -- cgit v1.2.3