Skip to content
Prev Previous commit
Next Next commit
[enh] new token: FLOAT_EXPONANT_COMPLEX
  • Loading branch information
Psycojoker committed Jan 10, 2015
commit 485d0513a6a6940f66cc36202a79c65fea2762db
3 changes: 3 additions & 0 deletions baron/tokenizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ class UnknowItem(Exception):
TOKENS = (
(r'[a-zA-Z_]\w*', 'NAME'),
(r'0', 'INT'),
(r'[-+]?\d+[eE][-+]?\d+[jJ]', 'FLOAT_EXPONANT_COMPLEX'),
(r'[-+]?\d+.\d?[eE][-+]?\d+[jJ]', 'FLOAT_EXPONANT_COMPLEX'),
(r'[-+]?\d?.\d+[eE][-+]?\d+[jJ]', 'FLOAT_EXPONANT_COMPLEX'),
(r'\d+[eE][-+]?\d*', 'FLOAT_EXPONANT'),
(r'\d+\.\d*[eE][-+]?\d*', 'FLOAT_EXPONANT'),
(r'\.\d+[eE][-+]?\d*', 'FLOAT_EXPONANT'),
Expand Down
87 changes: 87 additions & 0 deletions tests/test_tokenizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -395,4 +395,91 @@ def test_float_advanced():
match(".1", "FLOAT")
match("1.1", "FLOAT")


def test_exponant_complex():
match("1e1j", "FLOAT_EXPONANT_COMPLEX")
match("1.e1j", "FLOAT_EXPONANT_COMPLEX")
match("1.1e1j", "FLOAT_EXPONANT_COMPLEX")
match(".1e1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.e1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e1j", "FLOAT_EXPONANT_COMPLEX")
match("-.1e1j", "FLOAT_EXPONANT_COMPLEX")
match("1e-1j", "FLOAT_EXPONANT_COMPLEX")
match("1.e-1j", "FLOAT_EXPONANT_COMPLEX")
match("1.1e-1j", "FLOAT_EXPONANT_COMPLEX")
match(".1e-1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.e-1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e-1j", "FLOAT_EXPONANT_COMPLEX")
match("-.1e-1j", "FLOAT_EXPONANT_COMPLEX")
match("1e+1j", "FLOAT_EXPONANT_COMPLEX")
match("1.e+1j", "FLOAT_EXPONANT_COMPLEX")
match("1.1e+1j", "FLOAT_EXPONANT_COMPLEX")
match(".1e+1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.e+1j", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e+1j", "FLOAT_EXPONANT_COMPLEX")
match("-.1e+1j", "FLOAT_EXPONANT_COMPLEX")
match("1e1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e1J", "FLOAT_EXPONANT_COMPLEX")
match("1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1e1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e1J", "FLOAT_EXPONANT_COMPLEX")
match("1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e-1J", "FLOAT_EXPONANT_COMPLEX")
match("1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match(".1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1e+1J", "FLOAT_EXPONANT_COMPLEX")
match("1E1J", "FLOAT_EXPONANT_COMPLEX")
match("1.E1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1E1J", "FLOAT_EXPONANT_COMPLEX")
match(".1E1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.E1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1E1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1E1J", "FLOAT_EXPONANT_COMPLEX")
match("1E-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.E-1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1E-1J", "FLOAT_EXPONANT_COMPLEX")
match(".1E-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.E-1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1E-1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1E-1J", "FLOAT_EXPONANT_COMPLEX")
match("1E+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.E+1J", "FLOAT_EXPONANT_COMPLEX")
match("1.1E+1J", "FLOAT_EXPONANT_COMPLEX")
match(".1E+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.E+1J", "FLOAT_EXPONANT_COMPLEX")
match("-1.1E+1J", "FLOAT_EXPONANT_COMPLEX")
match("-.1E+1J", "FLOAT_EXPONANT_COMPLEX")

# TODO 1.1e1j