mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-30 22:40:54 -07:00 
			
		
		
		
	C-library Finished setting up header dependencies (
This commit is contained in:
		| @@ -142,7 +142,6 @@ int gen_main() | ||||
| 		Code debug        = scan_file( project_dir "dependencies/debug.hpp" ); | ||||
| 		Code string_ops   = scan_file( project_dir "dependencies/string_ops.hpp" ); | ||||
| 		Code hashing      = scan_file( project_dir "dependencies/hashing.hpp" ); | ||||
| 		Code filesystem   = scan_file( project_dir "dependencies/filesystem.hpp" ); | ||||
| 		Code timing       = scan_file( project_dir "dependencies/timing.hpp" ); | ||||
|  | ||||
| 		CodeBody parsed_memory = parse_file( project_dir "dependencies/memory.hpp" ); | ||||
| @@ -387,6 +386,44 @@ int gen_main() | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		CodeBody parsed_filesystem = parse_file( project_dir "dependencies/filesystem.hpp" ); | ||||
| 		CodeBody filesystem        = def_body(CT_Global_Body); | ||||
| 		for ( Code entry = parsed_filesystem.begin(); entry != parsed_filesystem.end(); ++ entry ) | ||||
| 		{ | ||||
| 			switch (entry->Type) | ||||
| 			{ | ||||
| 				case CT_Preprocess_IfDef: | ||||
| 				{ | ||||
| 					b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_filesystem, filesystem ); | ||||
| 					if (found) break; | ||||
|  | ||||
| 					filesystem.append(entry); | ||||
| 				} | ||||
| 				break; | ||||
| 				case CT_Variable: | ||||
| 				{ | ||||
| 					CodeVar var = cast(CodeVar, entry); | ||||
| 					if (var->Specs.has(Spec_Constexpr) > -1) | ||||
| 					{ | ||||
| 						CodeDefine define = def_define(entry->Name, entry->Value->Content); | ||||
| 						filesystem.append(define); | ||||
| 						continue; | ||||
| 					} | ||||
| 					//if ( strc_contains(entry->Name, txt("Msg_Invalid_Value"))) | ||||
| 					//{ | ||||
| 					//	CodeDefine define = def_define(entry->Name, entry->Value->Content); | ||||
| 					//	printing.append(define); | ||||
| 					//	continue; | ||||
| 					//} | ||||
| 					filesystem.append(entry); | ||||
| 				} | ||||
| 				break; | ||||
| 				default: | ||||
| 					filesystem.append(entry); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		CodeBody containers = def_body(CT_Global_Body); | ||||
| 		{ | ||||
| 			CodeBody array_ssize = gen_array(txt("ssize"), txt("Array_ssize")); | ||||
| @@ -421,8 +458,8 @@ int gen_main() | ||||
| 		header.print( dump_to_scratch_and_retireve(containers)); | ||||
| 		header.print( hashing ); | ||||
| 		header.print( dump_to_scratch_and_retireve(strings)); | ||||
| 		// header.print( filesystem ); | ||||
| 		// header.print( timing ); | ||||
| 		header.print( dump_to_scratch_and_retireve(filesystem)); | ||||
| 		header.print( timing ); | ||||
| 		header.print_fmt( "\nGEN_NS_END\n" ); | ||||
| 		header.print_fmt( roll_own_dependencies_guard_end ); | ||||
| #pragma endregion Print Dependencies | ||||
|   | ||||
| @@ -194,6 +194,7 @@ b32 file_read_at( FileInfo* file, void* buffer, ssize size, s64 offset ); | ||||
| 	*/ | ||||
| b32 file_read_at_check( FileInfo* file, void* buffer, ssize size, s64 offset, ssize* bytes_read ); | ||||
|  | ||||
| typedef struct FileContents FileContents; | ||||
| struct FileContents | ||||
| { | ||||
| 	AllocatorInfo allocator; | ||||
| @@ -201,8 +202,8 @@ struct FileContents | ||||
| 	ssize            size; | ||||
| }; | ||||
|  | ||||
| constexpr b32 zero_terminate    = true; | ||||
| constexpr b32 no_zero_terminate = false; | ||||
| constexpr b32 file_zero_terminate    = true; | ||||
| constexpr b32 file_no_zero_terminate = false; | ||||
|  | ||||
| /** | ||||
| 	* Reads the whole file contents | ||||
|   | ||||
| @@ -13,7 +13,7 @@ CodeBody gen_ecode( char const* path ) | ||||
| 	char  scratch_mem[kilobytes(1)]; | ||||
| 	Arena scratch = arena_init_from_memory( scratch_mem, sizeof(scratch_mem) ); | ||||
|  | ||||
| 	file_read_contents( arena_allocator_info( & scratch), zero_terminate, path ); | ||||
| 	file_read_contents( arena_allocator_info( & scratch), file_zero_terminate, path ); | ||||
|  | ||||
| 	CSV_Object csv_nodes; | ||||
| 	csv_parse( &csv_nodes, scratch_mem, GlobalAllocator, false ); | ||||
| @@ -63,7 +63,7 @@ CodeBody gen_eoperator( char const* path ) | ||||
| 	char scratch_mem[kilobytes(4)]; | ||||
| 	Arena scratch = arena_init_from_memory( scratch_mem, sizeof(scratch_mem) ); | ||||
|  | ||||
| 	file_read_contents( arena_allocator_info(& scratch), zero_terminate, path ); | ||||
| 	file_read_contents( arena_allocator_info(& scratch), file_zero_terminate, path ); | ||||
|  | ||||
| 	CSV_Object csv_nodes; | ||||
| 	csv_parse( &csv_nodes, scratch_mem, GlobalAllocator, false ); | ||||
| @@ -119,7 +119,7 @@ CodeBody gen_especifier( char const* path ) | ||||
| 	char scratch_mem[kilobytes(4)]; | ||||
| 	Arena scratch = arena_init_from_memory( scratch_mem, sizeof(scratch_mem) ); | ||||
|  | ||||
| 	file_read_contents( arena_allocator_info(& scratch), zero_terminate, path ); | ||||
| 	file_read_contents( arena_allocator_info(& scratch), file_zero_terminate, path ); | ||||
|  | ||||
| 	CSV_Object csv_nodes; | ||||
| 	csv_parse( &csv_nodes, scratch_mem, GlobalAllocator, false ); | ||||
| @@ -226,12 +226,12 @@ CodeBody gen_etoktype( char const* etok_path, char const* attr_path ) | ||||
|  | ||||
| 	AllocatorInfo scratch_info = arena_allocator_info(& scratch); | ||||
|  | ||||
| 	FileContents enum_content = file_read_contents( scratch_info, zero_terminate, etok_path ); | ||||
| 	FileContents enum_content = file_read_contents( scratch_info, file_zero_terminate, etok_path ); | ||||
|  | ||||
| 	CSV_Object csv_enum_nodes; | ||||
| 	csv_parse( &csv_enum_nodes, rcast(char*, enum_content.data), GlobalAllocator, false ); | ||||
|  | ||||
| 	FileContents attrib_content = file_read_contents( scratch_info, zero_terminate, attr_path ); | ||||
| 	FileContents attrib_content = file_read_contents( scratch_info, file_zero_terminate, attr_path ); | ||||
|  | ||||
| 	CSV_Object csv_attr_nodes; | ||||
| 	csv_parse( &csv_attr_nodes, rcast(char*, attrib_content.data), GlobalAllocator, false ); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user