aboutsummaryrefslogtreecommitdiff
path: root/mparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'mparser.py')
-rw-r--r--mparser.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/mparser.py b/mparser.py
index 7796dd8..b80a46d 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):