diff --git a/src/lib/__init__.pyc b/src/lib/__init__.pyc index b58c681..fda89b2 100644 Binary files a/src/lib/__init__.pyc and b/src/lib/__init__.pyc differ diff --git a/src/lib/manager.pyc b/src/lib/manager.pyc index 1d835e9..da68ae9 100644 Binary files a/src/lib/manager.pyc and b/src/lib/manager.pyc differ diff --git a/src/lib/static_ashes.pyc b/src/lib/static_ashes.pyc index 6eabe59..fb23397 100644 Binary files a/src/lib/static_ashes.pyc and b/src/lib/static_ashes.pyc differ diff --git a/src/preprocessed_text.py b/src/preprocessed_text.py index 0622583..7c9f256 100644 --- a/src/preprocessed_text.py +++ b/src/preprocessed_text.py @@ -389,6 +389,9 @@ def add_operators(text): re_incr = re.compile(r"(\s*)(.*)(\+=)(.*$)", re.S) re_decr = re.compile(r"(\s*)(.*)(-=)(.*$)", re.S) re_mult = re.compile(r"(\s*)(.*)(\*=)(.*$)", re.S) + re_incr_if = re.compile(r"(.*)(\))(\s*)(.*)(\+=)(.*$)", re.S) + re_decr_if = re.compile(r"(.*)(\))(\s*)(.*)(-=)(.*$)", re.S) + re_mult_if = re.compile(r"(.*)(\))(\s*)(.*)(\*=)(.*$)", re.S) '''Change additional operators''' result = [] for line in text: @@ -398,16 +401,20 @@ def add_operators(text): ls.startswith('print*') or \ ls.startswith('write('): pass - elif "+=" in buffer: - if buffer.lstrip().startswith("if "): - re_incr = re.compile(r"(.*)(\))(\s*)(.*)(\+=)(.*$)", re.S) - line.text = re.sub(re_incr, r'\1\2\4=\4+(\6)', buffer) - else: + elif buffer.lstrip().startswith("if "): + if "+=" in buffer: + line.text = re.sub(re_incr_if, r'\1\2\4=\4+(\6)', buffer) + elif "-=" in buffer: + line.text = re.sub(re_incr_if, r'\1\2\4=\4-(\6)', buffer) + elif "*=" in buffer: + line.text = re.sub(re_incr_if, r'\1\2\4=\4*(\6)', buffer) + else: + if "+=" in buffer: line.text = re.sub(re_incr, r'\1\2=\2+(\4)', buffer) - elif "-=" in buffer: - line.text = re.sub(re_decr, r'\1\2=\2-(\4)', buffer) - elif "*=" in buffer: - line.text = re.sub(re_mult, r'\1\2=\2*(\4)', buffer) + elif "-=" in buffer: + line.text = re.sub(re_decr, r'\1\2=\2-(\4)', buffer) + elif "*=" in buffer: + line.text = re.sub(re_mult, r'\1\2=\2*(\4)', buffer) result.append(line) return result