Moved the indentation for the library over

The entire project uses the namespace and it felt redundant.

There is a fix for array append_at. Finally got csv parsing working with it.
This commit is contained in:
Edward R. Gonzalez 2023-07-19 23:42:28 -04:00
parent d1c061769c
commit 8bb0db8145
7 changed files with 6206 additions and 6167 deletions

View File

@ -1,6 +1,9 @@
# Documentation # Documentation
All the library code is contained in two files: `gen.hpp` and `gen.cpp` The core library is contained within `gen.hpp` and `gen.cpp`.
Things related to the editor and scanner are in their own respective files. (Ex: `gen.scanner.<hpp/cpp>` )
## gen.hpp ## gen.hpp

View File

@ -14,8 +14,8 @@
#include "gen.hpp" #include "gen.hpp"
namespace gen namespace gen {
{
#pragma region StaticData #pragma region StaticData
// TODO : Convert global allocation strategy to use the dual-scratch allocator for a contextual scope. // TODO : Convert global allocation strategy to use the dual-scratch allocator for a contextual scope.
global AllocatorInfo GlobalAllocator; global AllocatorInfo GlobalAllocator;
@ -1235,9 +1235,9 @@ namespace gen
# pragma push_macro( "global" ) # pragma push_macro( "global" )
# pragma push_macro( "internal" ) # pragma push_macro( "internal" )
# pragma push_macro( "local_persist" ) # pragma push_macro( "local_persist" )
# define global global # undef global
# define internal internal # undef internal
# define local_persist local_persist # undef local_persist
# define def_constant_spec( Type_, ... ) \ # define def_constant_spec( Type_, ... ) \
spec_##Type_ = def_specifiers( num_args(__VA_ARGS__), __VA_ARGS__); \ spec_##Type_ = def_specifiers( num_args(__VA_ARGS__), __VA_ARGS__); \
@ -5112,13 +5112,13 @@ namespace gen
case TokType::Module_Import: case TokType::Module_Import:
{ {
not_implemented(); not_implemented( context );
} }
//! Fallthrough intentional //! Fallthrough intentional
case TokType::BraceSquare_Open: case TokType::BraceSquare_Open:
case TokType::Attr_Keyword: case TokType::Attr_Keyword:
{ {
not_implemented(); not_implemented( context );
// Standard attribute // Standard attribute
if ( currtok.Type == TokType::BraceSquare_Open ) if ( currtok.Type == TokType::BraceSquare_Open )
@ -6533,6 +6533,8 @@ namespace gen
Buffer.free(); Buffer.free();
} }
#pragma endregion Builder #pragma endregion Builder
// namespace gen
} }
#include "gen.pop_ignores.inline.hpp" #include "gen.pop_ignores.inline.hpp"

View File

@ -39,6 +39,24 @@
# endif # endif
# endif # endif
#include <sys/stat.h>
#ifdef GEN_SYSTEM_MACOS
# include <copyfile.h>
#endif
#ifdef GEN_SYSTEM_CYGWIN
# include <windows.h>
#endif
#if defined( GEN_SYSTEM_WINDOWS ) && ! defined( GEN_COMPILER_GCC )
# include <io.h>
#endif
#if defined( GEN_SYSTEM_LINUX )
# include <sys/types.h>
#endif
#ifdef GEN_BENCHMARK #ifdef GEN_BENCHMARK
// Timing includes // Timing includes
#if defined( GEN_SYSTEM_MACOS ) || GEN_SYSTEM_UNIX #if defined( GEN_SYSTEM_MACOS ) || GEN_SYSTEM_UNIX
@ -63,7 +81,6 @@
#pragma endregion Macros & Includes #pragma endregion Macros & Includes
namespace gen { namespace gen {
#pragma region Debug #pragma region Debug
@ -2062,9 +2079,15 @@ namespace gen {
GEN_ASSERT_NOT_NULL( root ); GEN_ASSERT_NOT_NULL( root );
GEN_ASSERT_NOT_NULL( text ); GEN_ASSERT_NOT_NULL( text );
zero_item( root ); zero_item( root );
adt_make_branch( root, allocator, NULL, has_header ? false : true ); adt_make_branch( root, allocator, NULL, has_header ? false : true );
char *p = text, *b = p, *e = p;
sw colc = 0, total_colc = 0; char* p = text;
char* b = p;
char* e = p;
sw colc = 0;
sw total_colc = 0;
do do
{ {
@ -2074,7 +2097,7 @@ namespace gen {
break; break;
ADT_Node row_item = { 0 }; ADT_Node row_item = { 0 };
row_item.type = EADT_TYPE_STRING; row_item.type = EADT_TYPE_STRING;
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
row_item.name_style = EADT_NAME_STYLE_NO_QUOTES; row_item.name_style = EADT_NAME_STYLE_NO_QUOTES;
#endif #endif
@ -2083,7 +2106,7 @@ namespace gen {
{ {
p = b = e = p + 1; p = b = e = p + 1;
row_item.string = b; row_item.string = b;
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
row_item.name_style = EADT_NAME_STYLE_DOUBLE_QUOTE; row_item.name_style = EADT_NAME_STYLE_DOUBLE_QUOTE;
#endif #endif
do do
@ -2229,7 +2252,7 @@ namespace gen {
{ {
case EADT_TYPE_STRING : case EADT_TYPE_STRING :
{ {
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
switch ( node->name_style ) switch ( node->name_style )
{ {
case EADT_NAME_STYLE_DOUBLE_QUOTE : case EADT_NAME_STYLE_DOUBLE_QUOTE :
@ -2244,7 +2267,7 @@ namespace gen {
{ {
#endif #endif
str_fmt_file( file, "%s", node->string ); str_fmt_file( file, "%s", node->string );
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
} }
break; break;
} }
@ -3244,3 +3267,4 @@ namespace gen {
// namespace gen // namespace gen
} }

View File

@ -10,7 +10,7 @@
# define GEN_ARCH_64_BIT 1 # define GEN_ARCH_64_BIT 1
# endif # endif
#else #else
# ifndef GEN_ARCH_32_BIT # ifndef GEN_ARCH_32_BItxt_StrCaT
# define GEN_ARCH_32_BIT 1 # define GEN_ARCH_32_BIT 1
# endif # endif
#endif #endif
@ -91,6 +91,15 @@
# define GEN_HAS_ATTRIBUTE( attribute ) ( 0 ) # define GEN_HAS_ATTRIBUTE( attribute ) ( 0 )
#endif #endif
#if defined(GEN_GCC_VERSION_CHECK)
# undef GEN_GCC_VERSION_CHECK
#endif
#if defined(GEN_GCC_VERSION)
# define GEN_GCC_VERSION_CHECK(major,minor,patch) (GEN_GCC_VERSION >= GEN_VERSION_ENCODE(major, minor, patch))
#else
# define GEN_GCC_VERSION_CHECK(major,minor,patch) (0)
#endif
#define GEN_DEF_INLINE static #define GEN_DEF_INLINE static
#define GEN_IMPL_INLINE static inline #define GEN_IMPL_INLINE static inline
@ -1283,6 +1292,7 @@ struct Array
Type* target = Data + idx; Type* target = Data + idx;
mem_move( target + 1, target, (header->Num - idx) * sizeof(Type) ); mem_move( target + 1, target, (header->Num - idx) * sizeof(Type) );
header->Num++;
return true; return true;
} }
@ -1309,7 +1319,6 @@ struct Array
mem_move( target, src, (header->Num - idx) * sizeof(Type) ); mem_move( target, src, (header->Num - idx) * sizeof(Type) );
mem_copy( src, items, item_num * sizeof(Type) ); mem_copy( src, items, item_num * sizeof(Type) );
header->Num += item_num; header->Num += item_num;
return true; return true;
@ -1743,7 +1752,7 @@ u64 crc64( void const* data, sw len );
}; };
#define txt_StrC( text ) \ #define txt_StrC( text ) \
(StrC){ sizeof( text ) - 1, text } StrC { sizeof( text ) - 1, text }
StrC to_StrC( char const* str ) StrC to_StrC( char const* str )
{ {
@ -2336,7 +2345,7 @@ GEN_DEF_INLINE s64 file_tell( FileInfo* file );
* @param buffer Buffer to read from * @param buffer Buffer to read from
* @param size Size to read * @param size Size to read
*/ */
b32 file_write( FileInfo* file, void const* buffer, sw size ); GEN_DEF_INLINE b32 file_write( FileInfo* file, void const* buffer, sw size );
/** /**
* Writes to file at a specific offset * Writes to file at a specific offset
@ -2543,7 +2552,7 @@ struct ADT_Node
/* properties */ /* properties */
ADT_Type type : 4; ADT_Type type : 4;
u8 props : 4; u8 props : 4;
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
u8 cfg_mode : 1; u8 cfg_mode : 1;
u8 name_style : 2; u8 name_style : 2;
u8 assign_style : 2; u8 assign_style : 2;
@ -2566,7 +2575,7 @@ struct ADT_Node
s64 integer; s64 integer;
}; };
#ifndef ZPL_PARSER_DISABLE_ANALYSIS #ifndef GEN_PARSER_DISABLE_ANALYSIS
/* number analysis */ /* number analysis */
s32 base; s32 base;
s32 base2; s32 base2;

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#include "gen.hpp" #include "gen.scanner.hpp"
namespace gen { namespace gen {
@ -52,9 +52,9 @@ struct Editor
static void set_allocator( AllocatorInfo allocator ); static void set_allocator( AllocatorInfo allocator );
Array(FileInfo) Files; Array<FileInfo> Files;
String Buffer; String Buffer;
Array(RequestEntry) Requests; Array<RequestEntry> Requests;
void add_files( s32 num, char const** files ); void add_files( s32 num, char const** files );
@ -66,7 +66,7 @@ struct Editor
void refactor( char const* file_path, char const* specification_path ); void refactor( char const* file_path, char const* specification_path );
# endif # endif
bool process_requests( Array(Receipt) out_receipts ); bool process_requests( Array<Receipt> out_receipts );
}; };
// namespace gen // namespace gen

View File

@ -14,7 +14,7 @@
#include "gen.push_ignores.inline.hpp" #include "gen.push_ignores.inline.hpp"
//! If its desired to roll your own dependencies, define GENCPP_PROVIDE_DEPENDENCIES before including this file. //! If its desired to roll your own dependencies, define GEN_ROLL_OWN_DEPENDENCIES before including this file.
// Dependencies are derived from the c-zpl library: https://github.com/zpl-c/zpl // Dependencies are derived from the c-zpl library: https://github.com/zpl-c/zpl
#ifndef GEN_ROLL_OWN_DEPENDENCIES #ifndef GEN_ROLL_OWN_DEPENDENCIES
# include "gen.dep.hpp" # include "gen.dep.hpp"
@ -240,9 +240,9 @@ namespace ESpecifier
# pragma push_macro( "global" ) # pragma push_macro( "global" )
# pragma push_macro( "internal" ) # pragma push_macro( "internal" )
# pragma push_macro( "local_persist" ) # pragma push_macro( "local_persist" )
# define global global # undef global
# define internal internal # undef internal
# define local_persist local_persist # undef local_persist
# define Entry( Spec_, Code_ ) { sizeof(stringize(Code_)), stringize(Code_) }, # define Entry( Spec_, Code_ ) { sizeof(stringize(Code_)), stringize(Code_) },
Define_Specifiers Define_Specifiers
@ -348,7 +348,7 @@ namespace Attribute
constexpr char const* API_Import = stringize( GEN_API_Import_Code ); constexpr char const* API_Import = stringize( GEN_API_Import_Code );
constexpr char const* Keyword = stringize( GEN_Attribute_Keyword); constexpr char const* Keyword = stringize( GEN_Attribute_Keyword);
#elif GEN_HAS_ATTRIBUTE( visibility ) || GEN_GCC_VERSION_CHECK( 3, 3, 0 ) || GEN_INTEL_VERSION_CHECK( 13, 0, 0 ) #elif GEN_HAS_ATTRIBUTE( visibility ) || GEN_GCC_VERSION_CHECK( 3, 3, 0 )
# define GEN_API_Export_Code __attribute__ ((visibility ("default"))) # define GEN_API_Export_Code __attribute__ ((visibility ("default")))
# define GEN_API_Import_Code __attribute__ ((visibility ("default"))) # define GEN_API_Import_Code __attribute__ ((visibility ("default")))
# define GEN_Attribute_Keyword __attribute__ # define GEN_Attribute_Keyword __attribute__

View File

@ -29,15 +29,16 @@ struct Scanner
static void set_allocator( AllocatorInfo allocator ); static void set_allocator( AllocatorInfo allocator );
Array(FileInfo) Files; Array<FileInfo> Files;
String Buffer; String Buffer;
Array(RequestEntry) Requests; Array<RequestEntry> Requests;
void add_files( s32 num, char const** files ); void add_files( s32 num, char const** files );
void add( SymbolInfo signature, Policy policy ); void add( SymbolInfo signature, Policy policy );
bool process_requests( Array(Receipt) out_receipts ); bool process_requests( Array<Receipt> out_receipts );
}; };
k
// namespace gen
} }