public static ArrayList<Instruction> parseFile(String file){
		ArrayList<Instruction> instructionList = new ArrayList<Instruction>();
		try {
			BufferedReader br = new BufferedReader(new FileReader(file));
			String ins;
			while((ins = br.readLine()) != null){
				ins.trim();
				String[] insPart = ins.split(REGEXP_SPLIT);
				if(INSTRUCTIONS.containsKey(insPart[0])){
					Instruction i = (Instruction) INSTRUCTIONS.get(insPart[0]).newInstance();
					i.setMnemonic(ins);
					i.generateBinaryRepresentation();
					instructionList.add(i);
				}
			}
			return instructionList;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		}
		return null;
	}