26 lines
926 B
Python
26 lines
926 B
Python
|
import re
|
||
|
import os
|
||
|
'''
|
||
|
This script takes all files that get dumped by the tcc backend when using the --dump-ir
|
||
|
option and replaces the Integers of addresses with their hex representation to allow
|
||
|
for easier debugging.
|
||
|
'''
|
||
|
current_dir = os.getcwd() # Get the current directory
|
||
|
|
||
|
files_with_tcc_jit = [file for file in os.listdir(current_dir) if"jit" in file and not file.startswith("readable")]
|
||
|
|
||
|
for each in files_with_tcc_jit:
|
||
|
readable_file = f"readable_{each}"
|
||
|
if os.path.exists(readable_file):
|
||
|
os.remove(readable_file)
|
||
|
with open(each, "r") as file:
|
||
|
content = file.read()
|
||
|
for each in files_with_tcc_jit:
|
||
|
with open(each, "r") as file:
|
||
|
content = file.read()
|
||
|
|
||
|
# Replace numbers ending with "U" by their hex representation
|
||
|
content = re.sub(r'\b(\d+)U\b(?=U)?', lambda m: hex(int(m.group(1))), content)
|
||
|
|
||
|
with open(f"readable_{each}", "w") as file:
|
||
|
file.write(content)
|