From 549901c85044b6ccd912688d6be007c2fdacc6c6 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 20 Feb 2024 16:55:14 +0200 Subject: Refactor dir structure --- src/asm_pass1.py | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 src/asm_pass1.py (limited to 'src/asm_pass1.py') diff --git a/src/asm_pass1.py b/src/asm_pass1.py deleted file mode 100644 index 0b06738..0000000 --- a/src/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 - ) -- cgit v1.3