diff options
Diffstat (limited to 'nandgame/assembler')
| -rw-r--r-- | nandgame/assembler/parsetypes.py | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/nandgame/assembler/parsetypes.py b/nandgame/assembler/parsetypes.py deleted file mode 100644 index ccc1101..0000000 --- a/nandgame/assembler/parsetypes.py +++ /dev/null @@ -1,62 +0,0 @@ -from dataclasses import dataclass -from typing import Any - - -@dataclass -class Symbol: - """Define a symbol""" - - name: str - - -@dataclass -class Register: - """Define a source or dest register""" - - name: str - - -@dataclass -class LinedElement: - lineno: int - - -@dataclass -class Instruction(LinedElement): - opcode: str - jumptarget: str - dest: Register - arg1: Any - arg2: Any - - @property - def num_args(self) -> int: - if not self.dest: - return 0 - if not self.arg1: - return 1 - if not self.arg2: - return 2 - return 3 - - -@dataclass -class ErrorInstruction(Instruction): - error_message: str - - @staticmethod - def from_instruction(i: Instruction, error_message: str): - return ErrorInstruction( - lineno=i.lineno, - opcode=i.opcode, - jumptarget=i.jumptarget, - dest=i.dest, - arg1=i.arg1, - arg2=i.arg2, - error_message=error_message, - ) - - -@dataclass -class JumpTarget(LinedElement): - label: str |
