From cfad437757f3ee442a84ab2847b7ca7f5fc17aed Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Mon, 23 Jan 2012 00:49:38 -0500
Subject: [PATCH] Parse +- as part of literals.

---
 pymbolic/parser.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pymbolic/parser.py b/pymbolic/parser.py
index f40bb06..bd53de1 100644
--- a/pymbolic/parser.py
+++ b/pymbolic/parser.py
@@ -17,7 +17,7 @@ _whitespace = intern("whitespace")
 _comma = intern("comma")
 _dot = intern("dot")
 
-_PREC_COMMA = 5 # must be > 0
+_PREC_COMMA = 5 # must be > 1 (1 is used by fortran-to-cl)
 _PREC_LOGICAL_OR = 80
 _PREC_LOGICAL_AND = 90
 _PREC_COMPARISON = 100
@@ -34,10 +34,10 @@ class Parser:
     lex_table = [
             (_imaginary, (_float, pytools.lex.RE("j"))),
             (_float, ("|",
-                pytools.lex.RE(r"[0-9]+\.[0-9]*([eEdD][+-]?[0-9]+)?"),
-                pytools.lex.RE(r"[0-9]+(\.[0-9]*)?[eEdD][+-]?[0-9]+"),
-                pytools.lex.RE(r"[0-9]*\.[0-9]+([eEdD][+-]?[0-9]+)?"),
-                pytools.lex.RE(r"[0-9]*(\.[0-9]+)?[eEdD][+-]?[0-9]+"))),
+                pytools.lex.RE(r"[+-]?[0-9]+\.[0-9]*([eEdD][+-]?[0-9]+)?"),
+                pytools.lex.RE(r"[+-]?[0-9]+(\.[0-9]*)?[eEdD][+-]?[0-9]+"),
+                pytools.lex.RE(r"[+-]?[0-9]*\.[0-9]+([eEdD][+-]?[0-9]+)?"),
+                pytools.lex.RE(r"[+-]?[0-9]*(\.[0-9]+)?[eEdD][+-]?[0-9]+"))),
             (_int, pytools.lex.RE(r"[0-9]+")),
             (_plus, pytools.lex.RE(r"\+")),
             (_minus, pytools.lex.RE(r"-")),
-- 
GitLab