Skip to content

Commit

Permalink
Add expression placeholder to Symbol
Browse files Browse the repository at this point in the history
  • Loading branch information
AngheloAlf committed Aug 24, 2023
1 parent 67a4d78 commit bebeff7
Show file tree
Hide file tree
Showing 11 changed files with 482,098 additions and 241,047 deletions.
5 changes: 5 additions & 0 deletions src/mapfile_parser/mapfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

regex_fileDataEntry = re.compile(r"^\s+(?P<section>\.[^\s]+)\s+(?P<vram>0x[^\s]+)\s+(?P<size>0x[^\s]+)\s+(?P<name>[^\s]+)$")
regex_functionEntry = re.compile(r"^\s+(?P<vram>0x[^\s]+)\s+(?P<name>[^\s]+)$")
# regex_functionEntry = re.compile(r"^\s+(?P<vram>0x[^\s]+)\s+(?P<name>[^\s]+)((\s*=\s*(?P<expression>.+))?)$")
regex_label = re.compile(r"^(?P<name>\.?L[0-9A-F]{8})$")
regex_fill = re.compile(r"^\s+(?P<fill>\*[^\s\*]+\*)\s+(?P<vram>0x[^\s]+)\s+(?P<size>0x[^\s]+)\s*$")
regex_segmentEntry = re.compile(r"(?P<name>([^\s]+)?)\s+(?P<vram>0x[^\s]+)\s+(?P<size>0x[^\s]+)\s+(?P<loadaddress>(load address)?)\s+(?P<vrom>0x[^\s]+)$")
Expand Down Expand Up @@ -63,6 +64,7 @@ class Symbol:
vram: int
size: int|None = None # in bytes
vrom: int|None = None
expression: str|None = None

def getVramStr(self) -> str:
return f"0x{self.vram:08X}"
Expand All @@ -82,6 +84,8 @@ def serializeSize(self) -> str|None:
return None
return f"0x{self.size:X}"

def serializeExpression(self) -> str|None:
return self.expression

@staticmethod
def printCsvHeader():
Expand All @@ -104,6 +108,7 @@ def toJson(self) -> dict[str, Any]:
"vram": self.getVramStr(),
"size": self.serializeSize(),
"vrom": self.getVromStr(),
"expression": self.serializeExpression()
}

return result
Expand Down
Loading

0 comments on commit bebeff7

Please sign in to comment.