aboutsummaryrefslogtreecommitdiffstats
path: root/atk16-asm/asm_pass1.py
diff options
context:
space:
mode:
Diffstat (limited to 'atk16-asm/asm_pass1.py')
-rw-r--r--atk16-asm/asm_pass1.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/atk16-asm/asm_pass1.py b/atk16-asm/asm_pass1.py
deleted file mode 100644
index 0b06738..0000000
--- a/atk16-asm/asm_pass1.py
+++ /dev/null
@@ -1,48 +0,0 @@
-import importlib
-import sys
-import os.path
-from dataclasses import dataclass
-from asm_ops import *
-from asm_eval import *
-from asm_pass0 import *
-from tokenizer import tokenize
-
-@dataclass
-class Result1Line:
- line_num: int
- src_file: str
- parts: list[str]
-
-@dataclass
-class Result1:
- lines: list[Result1Line]
- operations: OpExpansionDict
-
-def pass_1(result0: Result0) -> Result1:
- result_lines: list[Result1Line] = []
- operations: OpExpansionDict = default_expansions.copy()
-
- for line in result0.lines:
- keyword, *args = tokenize(line.line)
- match keyword:
- case "@use":
- module_name, ops = args[0].split(":")
- ops_split = ops.split(",")
- sys.path.append(os.path.dirname(line.src_file))
- module = importlib.import_module(module_name)
- mod_expansions: OpExpansionDict = module.expansions
- for op in mod_expansions:
- expansion = mod_expansions[op]
- if ops == "*" or op in ops_split:
- operations[op] = expansion
- case _:
- result_lines.append(Result1Line(
- src_file=line.src_file,
- line_num=line.line_num,
- parts=[keyword, *args]
- ))
-
- return Result1(
- operations=operations,
- lines=result_lines
- )