
#include "index.h"

struct array * allClasses;

struct array * allFunctions;


void main( int argc, char * * argv ) {


	application_initializeGlobals();

	

	application * currentApplication	= application_parseArguments( argc, argv );

	array * includedFilePaths			= application_extractIncludedFilePaths( currentApplication );



	//return;


	array * files 						= fileManager_composeFiles( includedFilePaths );


	fileManager_removeComments( files );




	fileManager_extractMacros( files ); // fileManager_extractMacros andIncludes

	fileManager_parseMacros( files );


	fileManager_extractClasses( files, currentApplication );




	fileManager_validateCurlyBrackets( files );

	// cleaned until here.

	fileManager_extractMethodsAndProperties( files );

	fileManager_extractFunctions( files );


	fileManager_extractTemplates( files );

	fileManager_instantiateTemplates( files );

	fileManager_parseMethods( files );

	fileManager_parseFunctions( files );


	fileManager_extendClasses( files );


	fileManager_removeFilesFromOutputDirectory( files, currentApplication );

	fileManager_composeSourceAndHeaderFiles( files, currentApplication );



	file_composeConfigInformation( files, currentApplication );


	application_printMemoryUsage();

	console_logColor( "\n\n\n		Preprocessing succeeded\n\n\n", "green" );

}


void abort() {


}