mirror of
https://github.com/KrisKennaway/ii-vision.git
synced 2025-07-15 21:24:02 +00:00
Move transcoder to new location
This commit is contained in:
31
transcoder/symbol_table.py
Normal file
31
transcoder/symbol_table.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from typing import Dict
|
||||
|
||||
|
||||
class SymbolTable:
|
||||
"""Parse cc65 debug file to extract symbol table."""
|
||||
|
||||
def __init__(self, debugfile: str = None):
|
||||
self.debugfile = debugfile
|
||||
|
||||
def parse(self, iostream=None) -> Dict:
|
||||
syms = {}
|
||||
|
||||
if not iostream:
|
||||
iostream = open(self.debugfile, "r")
|
||||
|
||||
with iostream as f:
|
||||
for line in f.read().split("\n"):
|
||||
if not line.startswith("sym"):
|
||||
continue
|
||||
|
||||
sym = {}
|
||||
data = line.split()[1].split(",")
|
||||
for kv in data:
|
||||
k, v = kv.split("=")
|
||||
sym[k] = v
|
||||
|
||||
name = sym["name"]
|
||||
|
||||
syms[name] = sym
|
||||
|
||||
return syms
|
Reference in New Issue
Block a user