diff options
author | mid-kid <esteve.varela@gmail.com> | 2020-09-12 23:58:44 +0200 |
---|---|---|
committer | mid-kid <esteve.varela@gmail.com> | 2020-09-12 23:58:44 +0200 |
commit | c8d5687ac4fa64396104da4f3f04f0594c38dc6c (patch) | |
tree | 7df330f23a1f8a7225e2820dccec24239ce23c40 /tools/charmap.py | |
parent | 247b904a6bb10c7fdd5689c8380a4a0bdb30385c (diff) |
Dump strings, write tooling around them
Diffstat (limited to 'tools/charmap.py')
-rwxr-xr-x | tools/charmap.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/charmap.py b/tools/charmap.py new file mode 100755 index 0000000..d318a61 --- /dev/null +++ b/tools/charmap.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +from sys import argv + +def parse_charmap(file): + charmap = {} + constants = {} + for line in open(file): + split = line.split("#")[0].split("=") + if len(split) != 2: + continue + + char = "=".join(split[0:-1]).strip() + value = int(split[-1].strip(), 0) & 0xFFFF + + if char.startswith("'") and char.endswith("'"): + charmap[char[1:-1]] = value + else: + constants[char] = value + return charmap, constants + +if __name__ == "__main__": + charmap, constants = parse_charmap(argv[1]) + + for char in charmap: + value = charmap[char] + print("charmap \"%s\", %d" % (char, value)) + + for constant in constants: + value = constants[constant] + print("%s EQU %d" % (constant, value)) |