#pragma once

#include <map>
#include <string>
#include <vector>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <ios>
#include <streambuf>
#include <sstream>

#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <commctrl.h>
#include <time.h>
#include <limits.h>
#include <shlobj.h>
#include <process.h>
#include <fcntl.h>
#include <io.h>
#include <shlwapi.h>
#include <tchar.h>
#include <stdarg.h>

//boost libraries
#include <boost/foreach.hpp>
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/export.hpp>

#include <jenga/include/jenga.h>

#include <option.h>

#include <abdev/ab_common/include/ab_common.h>

using namespace ActiveBasic::Common::Lexical;

#include "../BasicCompiler_Common/common.h"

#include <Exception.h>
#include <Enum.h>
#include <logger.h>
#include <Configuration.h>
#include <CodeGenerator.h>
#include <Messenger.h>
#include <Linker.h>
#include <Compiler.h>
#include <Debugger.h>
#include <Program.h>
#include <LexicalAnalyzer.h>
#include <VtblGenerator.h>
#include <ProcedureGenerator.h>
#include <DataTableGenerator.h>
