
#include "mod/lex.hpp"
#include "mod/syn.hpp"
#include "ui/onerror.hpp"


int main(int argc, char* argv[])
{

	//--------- FLAGS ------------
	bool printlex = false;
	for (int i = 1; i<argc; i++)
	{
		if (strcmp(argv[i], "-printlex") == 0 || strcmp(argv[i], "-pl") == 0) printlex = true;
	};
	//============================
	
	CError Error;
		if (argc<2) Error.OnError("Arguments not corrent.", -500);

	CLexic L(argv[1]);
		if (! L.MakeAnalysis() ) 
			Error.OnError("Lexical analysis did not pass.", -510);
		if (printlex) 
			L.Print(L.GetBeginLexeme());
		printf("\n~Info: Lexical analysis was passed.");

	CSyntax S(L.GetBeginLexeme());
		if (S.MakeAnalysis()) printf("\n~Info: Syntax analysis was passed.");

 return 0;
}

