Skip to content
Snippets Groups Projects
Commit c30f9160 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Fix parsing of floating point numbers.

parent 886b48a9
Branches
Tags
No related merge requests found
...@@ -57,9 +57,9 @@ class Parser: ...@@ -57,9 +57,9 @@ class Parser:
(_imaginary, (_float, pytools.lex.RE("j"))), (_imaginary, (_float, pytools.lex.RE("j"))),
(_float, ("|", (_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]+\b"),
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]+\b"))),
(_int, pytools.lex.RE(r"[0-9]+")), (_int, pytools.lex.RE(r"[0-9]+")),
(_plus, pytools.lex.RE(r"\+")), (_plus, pytools.lex.RE(r"\+")),
(_minus, pytools.lex.RE(r"-")), (_minus, pytools.lex.RE(r"-")),
......
...@@ -135,6 +135,9 @@ def test_parser(): ...@@ -135,6 +135,9 @@ def test_parser():
parse("(2*a[1]*b[1]+2*a[0]*b[0])*(hankel_1(-1,sqrt(a[1]**2+a[0]**2)*k) " parse("(2*a[1]*b[1]+2*a[0]*b[0])*(hankel_1(-1,sqrt(a[1]**2+a[0]**2)*k) "
"-hankel_1(1,sqrt(a[1]**2+a[0]**2)*k))*k /(4*sqrt(a[1]**2+a[0]**2)) " "-hankel_1(1,sqrt(a[1]**2+a[0]**2)*k))*k /(4*sqrt(a[1]**2+a[0]**2)) "
"+hankel_1(0,sqrt(a[1]**2+a[0]**2)*k)") "+hankel_1(0,sqrt(a[1]**2+a[0]**2)*k)")
print repr(parse("d4knl0"))
print repr(parse("0."))
print repr(parse("0.e1"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment