diff --git a/pymbolic/parser.py b/pymbolic/parser.py index e5f1269ed09e8a75969ad1eb945bbaab96ddc54f..864cfd9a241c6a3fd1b7239d07ffd6bf941e1526 100644 --- a/pymbolic/parser.py +++ b/pymbolic/parser.py @@ -45,10 +45,12 @@ class Parser: lex_table = [ (_equal, pytools.lex.RE(r"==")), (_notequal, pytools.lex.RE(r"!=")), - (_less, pytools.lex.RE(r"\<")), + (_lessequal, pytools.lex.RE(r"\<=")), - (_greater, pytools.lex.RE(r"\>")), (_greaterequal, pytools.lex.RE(r"\>=")), + # must be before + (_less, pytools.lex.RE(r"\<")), + (_greater, pytools.lex.RE(r"\>")), (_and, pytools.lex.RE(r"and")), (_or, pytools.lex.RE(r"or")), diff --git a/test/test_pymbolic.py b/test/test_pymbolic.py index e9a756cd1faa4121bf98d001d6d50b8240e45db7..396fda0d8478816bc3504ef44a7e75d2cf018aa6 100644 --- a/test/test_pymbolic.py +++ b/test/test_pymbolic.py @@ -138,6 +138,9 @@ def test_parser(): print repr(parse("d4knl0")) print repr(parse("0.")) print repr(parse("0.e1")) + print repr(parse("0.e1")) + print repr(parse("a >= 1")) + print repr(parse("a <= 1"))