mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-11-03 23:36:12 -08:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifdef INTELLISENSE_DIRECTIVES
 | 
						|
#	pragma once
 | 
						|
#	include "helpers/push_ignores.inline.hpp"
 | 
						|
#	include "components/header_start.hpp"
 | 
						|
#	include "components/types.hpp"
 | 
						|
#	include "components/gen/ecodetypes.hpp"
 | 
						|
#	include "components/gen/eoperator.hpp"
 | 
						|
#	include "components/gen/especifier.hpp"
 | 
						|
#	include "components/ast.hpp"
 | 
						|
#	include "components/code_types.hpp"
 | 
						|
#	include "components/ast_types.hpp"
 | 
						|
#	include "components/interface.hpp"
 | 
						|
#	include "components/inlines.hpp"
 | 
						|
#	include "components/gen/ast_inlines.hpp"
 | 
						|
#	include "components/header_end.hpp"
 | 
						|
#endif
 | 
						|
 | 
						|
#pragma region Scanner
 | 
						|
 | 
						|
// This is a simple file reader that reads the entire file into memory.
 | 
						|
// It has an extra option to skip the first few lines for undesired includes.
 | 
						|
// This is done so that includes can be kept in dependency and component files so that intellisense works.
 | 
						|
GEN_API Code scan_file( char const* path );
 | 
						|
 | 
						|
GEN_API CodeBody parse_file( const char* path );
 | 
						|
 | 
						|
// The follow is basic support for light csv parsing (use it as an example)
 | 
						|
// Make something robust if its more serious.
 | 
						|
 | 
						|
typedef struct CSV_Column CSV_Column;
 | 
						|
struct CSV_Column {
 | 
						|
	CSV_Object      ADT;
 | 
						|
	Array(ADT_Node) Content;
 | 
						|
};
 | 
						|
 | 
						|
typedef struct CSV_Columns2 CSV_Columns2;
 | 
						|
struct CSV_Columns2 {
 | 
						|
	CSV_Object      ADT;
 | 
						|
	Array(ADT_Node) Col_1;
 | 
						|
	Array(ADT_Node) Col_2;
 | 
						|
};
 | 
						|
 | 
						|
GEN_API CSV_Column   parse_csv_one_column (AllocatorInfo allocator, char const* path);
 | 
						|
GEN_API CSV_Columns2 parse_csv_two_columns(AllocatorInfo allocator, char const* path);
 | 
						|
 | 
						|
#pragma endregion Scanner
 |