From 11ad715cd4d00ac4d8c0f808e07d6f2de1915b97 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 13 Jun 2013 23:05:50 -0400 Subject: [PATCH] Tolerate a[b[i]] (i.e. don't force that to be close-linear-index) --- loopy/symbolic.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/loopy/symbolic.py b/loopy/symbolic.py index de821eea4..9748f872c 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -643,7 +643,6 @@ TRAILING_FLOAT_TAG_RE = re.compile("^(.*?)([a-zA-Z]*)$") class LoopyParser(ParserBase): lex_table = [ (_open_dbl_bracket, pytools.lex.RE(r"\[\[")), - (_close_dbl_bracket, pytools.lex.RE(r"\]\]")), ] + ParserBase.lex_table def parse_float(self, s): @@ -663,13 +662,13 @@ class LoopyParser(ParserBase): return float(val) # generic float def parse_postfix(self, pstate, min_precedence, left_exp): - from pymbolic.parser import _PREC_CALL + from pymbolic.parser import _PREC_CALL, _closebracket if pstate.next_tag() is _open_dbl_bracket and _PREC_CALL > min_precedence: pstate.advance() pstate.expect_not_end() left_exp = LinearSubscript(left_exp, self.parse_expression(pstate)) - pstate.expect(_close_dbl_bracket) - pstate.advance() + pstate.expect(_closebracket) + pstate.expect(_closebracket) return left_exp, True return ParserBase.parse_postfix(self, pstate, min_precedence, left_exp) -- GitLab