public ErrorManager(){
        ErrMessages=new HashMap<Integer,String>();
        messagequeue=new ArrayList<Error>();
        // Error Messages
        ErrMessages.put(INVALID_OPCODE, "Unknown Opcode");
        ErrMessages.put(LESS_OPERANDS, "Opcode requires more operands");
        ErrMessages.put(MORE_OPERANDS, "Opcode requires less operands");
        ErrMessages.put(UNKNOWN_IDENTIFIER, "Unknown Identifier");
        ErrMessages.put(INVALID_IMMEDIATE, "Immediate value should begin with # or unknown Label");
        ErrMessages.put(INVALID_NUMERAL, "Invalid Numeric value");
        //Warning Messages
        ErrMessages.put(NUMERAL_OVERFLOW,"Exceeds range");
        ErrMessages.put(MEMORY_CODE_OVERLAP , "Part of memory and code will be overwritten");
        // Log Messages
        ErrMessages.put(MESSAGE_ASSEMBLING,"Assembling and generating machine code for");
        ErrMessages.put(MESSAGE_ASSEMBLING_FAILED," There were errors.Assembling failed");
        ErrMessages.put(MESSAGE_GENERATING_DUMP,"Generating memory map dump file ");
        ErrMessages.put(MESSAGE_SAVING_ASM,"Saving the assembly code ");
        ErrMessages.put(MESSAGE_SUCCESS,"Assembly Successful");
        ErrMessages.put(DUPLICATE_LABEL,"Redefinition of identifier");
    }