#pragma once

#include "Reader.h"
union UMemory
{
	uint16_t w[32768];
	uint8_t  b[65536];
};

enum OP_MODE
{
	UNKN,
	LINK,
	COMP,
	CL
};

extern UMemory g_Memory;
class CReader;
extern CReader *g_pReader;
extern std::vector <CReader *> v_Reader;
extern CReader::FILE_CHARSET Charset;

int workCycle(std::wstring &strInFileName);
void Usage();
bool SkipTailString(wchar_t &ch);
void ParseLine();
void SaveFile(const std::wstring &strName);
void PrintLabelTable(const std::wstring &strName, const std::wstring &strExt);

// удаление заданного символа с обоих концов строки
std::wstring trim(const std::wstring &str, const wchar_t trim_char = L' ');
// удаление заданного символа в начале строки
std::wstring trimLeft(const std::wstring &str, const wchar_t trim_char = L' ');
// удаление заданного символа в конце строки
std::wstring trimRight(const std::wstring &str, const wchar_t trim_char = L' ');

std::wstring strToLower(const std::wstring &str);
