diff --git a/pymbolic/parser.py b/pymbolic/parser.py index f40bb06fd5d2efc23080f4b99428d60aa23e7501..bd53de130775dcd74b44ea72d7b5653f00687998 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"-")),