from parser import Parser
from code_writer import CodeWriter

# get input file name
try:
	input_folder_name = sys.argv[1].replace('/', '')
except IndexError:
	print('there is no folder argument')
vm_files = filter(lambda f :  f.endswith('.vm'), os.listdir(input_folder_name))
vm_files = deque(vm_files)

for f in ['Main.vm', 'Sys.vm']:
	if f in vm_files:
		vm_files.remove(f)
		vm_files.appendleft(f)
vm_files.appendleft('../BootstrapCode.vm')

shared_data = SharedData(input_folder_name)

io_file = IOFile(shared_data)
parser = Parser(shared_data)
code_writer = CodeWriter(shared_data)

for f in vm_files:
	shared_data.set_input_file_name(f)

	io_file.file_to_array()
	parser.run()
	code_writer.run()
	io_file.array_to_file()