Skip to content

Commit

Permalink
Fix TAC function parameter names
Browse files Browse the repository at this point in the history
  • Loading branch information
alkorang committed Dec 5, 2024
1 parent 1089c2c commit 568b968
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions clients/visualizeout.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@ def emit(s: str, out: TextIO, indent: int=0):
print(f'{indent*INDENT_BASE}{s}', file=out)


def emit_stmt(stmt: Statement, out: TextIO):
def render_var(var: str):
if var in tac_variable_value:
return f"v{var.replace('0x', '')}({tac_variable_value[var]})"
else:
return f"v{var.replace('0x', '')}"
def render_var(var: str):
if var in tac_variable_value:
return f"v{var.replace('0x', '')}({tac_variable_value[var]})"
else:
return f"v{var.replace('0x', '')}"


def emit_stmt(stmt: Statement, out: TextIO):
defs = [render_var(v) for v in stmt.defs]
uses = [render_var(v) for v in stmt.operands]

Expand Down Expand Up @@ -55,7 +56,8 @@ def pretty_print_block(block: Block, visited: Set[str], out: TextIO):
def pretty_print_tac(functions: Mapping[str, Function], out: TextIO):
for function in sorted(functions.values(), key=lambda x: x.ident):
visibility = 'public' if function.is_public else 'private'
emit(f"function {function.name}({', '.join(function.formals)}) {visibility} {{", out)
formals = [render_var(v) for v in function.formals]
emit(f"function {function.name}({', '.join(formals)}) {visibility} {{", out)
pretty_print_block(function.head_block, set(), out)

emit("}", out)
Expand Down

0 comments on commit 568b968

Please sign in to comment.