From d88fc422eefeddf6b607972d5029d6672a19f388 Mon Sep 17 00:00:00 2001 From: Daniel Cujba Date: Tue, 16 Mar 2021 19:59:31 +0200 Subject: [PATCH] Parser Module Class Implemented --- Main.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Main.py b/Main.py index e69de29..32a327d 100644 --- a/Main.py +++ b/Main.py @@ -0,0 +1,36 @@ +class ParserModule: + def __init__(self): + pass + def parse_file(self,file_name): + assembly_file=open(file_name,"r") + segmented_file=[] + for line in assembly_file: + line = line.strip() + if len(line)>1: + command=[None,None] + if "//" in line: + continue + elif "(" in line: + command[0]="L" + command[1]=line.strip("()") + elif "@" in line: + command[0]="A" + command[1]=line.strip("@") + else: + command[0]="C" + c_command=[None,None,None] + start=0 + end=len(line) + if "=" in line: + c_command[0]=line.split("=")[0] + start=line.index("=")+1 + if ";" in line: + c_command[2]=line.split(";")[1] + end = line.index(";") + c_command[1]=line[start:end] + command[1]=c_command + segmented_file.append(command) + assembly_file.close() + return segmented_file + +