From 219f790207fde72916d908238b24ccdbcf397735 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Thu, 10 May 2012 13:40:11 -0400
Subject: [PATCH] Fix parsing of {<,>}=. (bug report by damiendrix) Fix issue
 #1.

---
 pymbolic/parser.py    | 6 ++++--
 test/test_pymbolic.py | 3 +++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/pymbolic/parser.py b/pymbolic/parser.py
index e5f1269..864cfd9 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 e9a756c..396fda0 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"))
 
 
 
-- 
GitLab