ed
cf3908c6f0
Added alpha warning message to header_start.hpp files.
2024-12-05 21:37:07 -05:00
ed
266163557f
Finished draft pass verifying containers.array.hpp is equivalent to container.hpp's array.
...
gen_generic_selection_function_macro now works generically
Imprvoed _Generic function overloading examples
2024-12-05 21:01:04 -05:00
ed
8bb2bc7b1b
fixes on containers (compiles but still verifying parity with c++ templates
...
I'm going to have to change some c++ templates to match the init interfaces as they must not be in the return type
2024-12-05 17:48:24 -05:00
ed
a3407c14d5
First compiling version of operator overloading for C! (on both msvc and clang using -std=c11 flag, using _Generic selection with some helper macros)
...
Extremely satsified with how unofuscated the generated code is for _Generic.
Still fixing up the templated container code though in the c-codegen
2024-12-05 17:04:17 -05:00
ed
47b9c37e94
began to setup generation of Array_ssize and StringTable in the c-library
...
Still need to confirm if the these old templates require updates compared to the c++ impl
2024-12-05 03:41:08 -05:00
ed
1c3134218e
preogress on getting dependencies compilable in C-library
2024-12-05 02:53:14 -05:00
ed
a3e7ec4c72
successful compile of c_library for: platform, macros, basic_types, debug, and memory headers (and newly generated c-code)
2024-12-05 00:40:51 -05:00
ed
cae1555b11
wip having nasty parser issue (fixed nasty lexer bug)
2024-12-04 15:00:37 -05:00
ed
f7709bb64e
more progress
2024-12-04 11:30:54 -05:00
ed
3a55af9ce4
WIP(broken): Converting base library to use c-linkage symbols only
2024-12-04 11:01:53 -05:00
ed
6081834687
bug fix
2024-12-03 20:42:35 -05:00
ed
a3548a5bd3
Added support for friend operator definitions
2024-12-03 20:21:08 -05:00
ed
d686831a7c
Completed initial conversion
2024-12-03 19:31:26 -05:00
ed
ba1dd1894a
WIP (Broken): Major changes to handling Strings in ast (StringCached defined as StrC)
2024-12-03 18:47:12 -05:00
ed
e00b2f8afb
Reduced ECode to C compatible vairant
2024-12-03 15:19:39 -05:00
ed
72d088c566
reduction done on eoperator
2024-12-03 13:51:29 -05:00
ed
c6fba23173
reduce ESpecifier to c-compatiable enum
2024-12-03 13:14:14 -05:00
ed
d45908fb32
reduce TokType enum to c-compatiable
2024-12-03 09:50:30 -05:00
ed
a7c9dad9fd
cpp feature reduction usage in parser
2024-12-03 09:31:27 -05:00
ed
63ebd0d094
removed reference type usage in components/lexer.cpp, looking into resolving 'using namespace' usage
2024-12-03 01:44:01 -05:00
ed
f28ae57f16
setup upfront interface to have optional vars in structs (for C later)
2024-12-03 00:45:30 -05:00
ed
2fe708e4be
Began to reduce cpp feature usage in lexer and parser
2024-12-02 22:25:39 -05:00
ed
69a9abcd59
Finished AST/Code member inferface usage elimination in base library.
...
Now the lexer and parser need to be elimination...
2024-12-02 20:20:30 -05:00
ed
defe42c15c
member proc usage reductions on CodeTypes complete (Typedef, Union, Using, Var)
...
proceeding to finalize the AST interface reductions...
2024-12-02 18:58:07 -05:00
ed
05e65aa464
Did reductions on Module, NS, Operator, OpCast, Pragma, PreprocessCond, Template, and Type codes
2024-12-02 18:35:34 -05:00
ed
8f47f3b30f
Comment, Constructor, Destructor, Define, Enum, Exec, Extern, Include, Friend, Fn codes member proc usage reductions
2024-12-02 16:59:13 -05:00
ed
0bad61fda6
remove raw member def from code types, reduction on CodeAttributes
2024-12-02 11:20:31 -05:00
ed
ea18792373
Progress on member proc usage reduction (CodeParam, CodeSpecifiers)
2024-12-02 10:58:24 -05:00
ed
16b8a3a164
began to remove usage of code specific types member procs
2024-12-02 04:12:09 -05:00
ed
5b0079fb0c
ast interface uage reductions
2024-12-02 03:18:52 -05:00
ed
9321a04ebc
reduction of Code struct member function usage in base lib
2024-12-02 02:38:55 -05:00
ed
9b68791e38
fixes for array when not using member features.
2024-12-02 02:11:49 -05:00
ed
2dcc968c39
Preparing for reductions on code_types.hpp
2024-12-02 01:56:49 -05:00
ed
c38b077c37
Code::set_global reduction
2024-12-02 00:43:57 -05:00
ed
f9b5029e64
Code::is_valid rection
2024-12-02 00:41:41 -05:00
ed
2b24511f7d
Code::is_equal reduction
2024-12-02 00:34:40 -05:00
ed
5cd69e1742
Code::is_body reduction
2024-12-02 00:18:54 -05:00
ed
007bfa0cb0
Code::duplicate reduction
2024-12-02 00:16:11 -05:00
ed
37c33ffb3e
reduction on debug_str
2024-12-02 00:10:24 -05:00
ed
937235b776
progress (Code)
2024-12-02 00:03:38 -05:00
ed
f9c21ebc04
progress
2024-12-01 23:35:58 -05:00
ed
fec709cc76
Progresss
2024-12-01 21:59:43 -05:00
ed
80cb3f4eca
Significant progress reducing c++ feature usage in the library.
2024-12-01 18:50:37 -05:00
ed
9e88cb8724
String::is_equal added (bad last commit)
2024-12-01 13:29:33 -05:00
ed
f61c1c560d
String::is_equal added
2024-12-01 13:29:16 -05:00
ed
8ef982003a
Added is_body to AST and Code types
2024-12-01 12:48:58 -05:00
ed
31691b1466
Fixed issue with HashTable region detection
2024-12-01 05:37:03 -05:00
ed
ed0c0422ad
Looking into what the library's convention for enums will be.
...
Most likely will just reduce them to C-enums with underlying type.
Otherwise there has to be a mechanism to drop the defs down to them anyways, and eliminate the namespace wraps.
2024-12-01 05:30:37 -05:00
ed
e5acac1d18
String member definitions not longer used in the base project
2024-12-01 03:06:30 -05:00
ed
c7b072266f
progress on c_library.cpp
2024-12-01 01:40:31 -05:00
ed
a96d03eaed
brought over the generators of array and hashtable for c-lib gen
...
From the old genc repo. Still need to fully check that its code is up to date
2024-12-01 01:40:14 -05:00
ed
0b4ccac8f9
Removed usage of hashtable member procs
2024-12-01 01:39:21 -05:00
ed
31a3609b28
some fixes to c's fixed_arena gen
2024-11-30 23:48:14 -05:00
ed
fbdb870986
Finished first pass reviewing memory.hpp for C lib generation
2024-11-30 23:38:27 -05:00
ed
6d04165b96
Reduce cpp freatures usage of Array container.
...
Almost ready to be inter-operable with C
2024-11-30 18:54:19 -05:00
ed
cc245cc263
new files
2024-11-30 17:22:06 -05:00
ed
06deb1e836
memory.hpp no longer uses memory mappings by default
2024-11-30 17:18:49 -05:00
ed
5527a27f7b
prepare c_library meta-program a bit
2024-11-30 16:54:03 -05:00
ed
a67fdef20a
dir restructuring
...
just making it more organized (gen_ prefix for library generation meta-programs)
2024-11-30 16:50:53 -05:00
ed
056a5863b8
for the future...
2024-11-30 14:34:28 -05:00
ed
79eb5f1f76
strings done
2024-11-30 14:13:30 -05:00
ed
c6cb583518
Hashtable done
2024-11-30 13:31:59 -05:00
ed
34eec66f35
Array done
2024-11-30 13:14:47 -05:00
ed
4137ebfbd8
pool done (see previous commits for context)
2024-11-30 12:27:54 -05:00
ed
5958dd2055
Did arena and fixedarena changes (for reducing usage of member procs)
2024-11-30 12:16:01 -05:00
ed
163ad0a511
looking into removing "oop" features from base library
...
I want to make member functions an optional addition the user can generate a derivative library with.
The purpose is to simplify the implementation as to make generating a C-variant simpiler.
I also want to use it as a study to see how much simpiler it makes the library without having it.
2024-11-29 15:18:06 -05:00
ed
e3c2a577ba
addded String::contains defs
2024-11-29 14:50:54 -05:00
ed
81a0376c99
Need cstdlib for systems calls in generator files. update to package_release.ps1
2024-10-27 21:38:02 -04:00
ed
1417a68757
updates to test validations
...
They don't really work great right now...
2024-10-27 21:19:25 -04:00
ed
1e4d5ce630
touchup to singleheader.cpp
2024-10-27 21:18:58 -04:00
ed
0f2763a115
fixes for unreal use
2024-10-27 21:18:41 -04:00
ed
420f452d35
More fixes found by self-parsing
2024-10-27 20:22:36 -04:00
ed
908c385de5
Fix exp asts having bad union definitions.
...
They're not used yet but was causing self-parsing issues.
2024-10-27 20:22:24 -04:00
ed
c1878265c8
Minimizing reformatting of generated library files
2024-10-27 20:01:54 -04:00
ed
23742868c4
Delete auxillary/vis_ast
...
When I get to making this it will be with SectrPrototype
2024-10-27 18:59:17 -04:00
ed
2e5e31ed3b
gencpp : General refactors to dependencies
...
Mostly just cleanup and renaming of certain stuff (mostly in dependencies).
* Changed uw and sw to usize and ssize.
* Removed zpl_cast usage throughout dependencies
* No longer using GEN_DEF_INLINE & GEN_IMPL_INLINE
* header_start.hpp renamed to platform.hpp for depdendencies header.
2024-10-27 18:58:37 -04:00
ed
00df336610
fix type on parser namespace in singleheader.cpp
2024-10-26 18:42:23 -04:00
ed
d89c9a6072
de-hardcode target_arch.psm1 import
2024-10-25 13:11:21 -04:00
ed
6aa99ac1d5
change how path_root is resolved so it works when cloned into another repository
2024-10-25 13:07:39 -04:00
ed
3989f5fa83
formatting and removing unused code
2024-10-25 12:54:55 -04:00
ed
f90c0a59b6
inital implemention of UE library variant generator completed
2024-10-25 05:01:37 -04:00
ed
33f992ef56
Updated generated ast_inlines.hpp so that operator defs have the inline explicit
...
* Added support for parsing/serializing specifiers for OpCast roughtly.. Doesn't have constraints on what specifiers beyond whats expected in global nspace scope..
* Minor adjustments to hashtable to avoid UE compile errors
* Make sure scanner.cpp is being made by bootstrap
2024-10-25 04:08:20 -04:00
ed
0542204b35
progress on unreal variant generator
2024-10-25 03:00:07 -04:00
ed
e5616c5879
generated code update + reverting some fixes for now...
2024-10-25 02:59:56 -04:00
ed
40a256f6c3
initial setup for generating a library compatible for usage as an Unreal thirdyparty module.
2024-10-25 01:04:48 -04:00
ed
b8e1aa6eb7
WIP : Fixes and other changes
...
* Number literals weren't getting properly lexed
* Fixes for compiler errors with Unreal Engine configuration.
* Support for "post-name" macros in parameters
* Support for variables initializing directly using constructor syntax.
* Explicitly added inline keyword to header inlines for compiling compile library in multiple translation units.
2024-10-25 01:04:17 -04:00
ed
e1592ba410
Bug fixes and updates to package_release.ps1
...
- Incrased size of the defines_map_arena to 256KB
- Various fixes for the parser
- Various fixes for code serialization
- Fix for is_equal member func in Code types
- Fixes for hasthable container
- Added are_equal static func to String type for use against StrC
- Added starts_with functions to String type
- package_release.ps1 now packages all docs (forgot to update it with last release)
2024-05-05 21:53:22 -04:00
ed
4a2a93d41b
Updated docs
2024-04-17 18:29:30 -04:00
ed
36260f6edb
Updated gencpp with latest fixes used in other projects.
...
This variant can support parsing some Unreal Engine files!!
2024-04-17 17:40:32 -04:00
ed
83d691c65c
Pushing latest changes for gencpp
2024-04-17 16:55:22 -04:00
ed
626ab703a7
Fixed some compilation errors
2023-11-22 15:41:41 -05:00
ed
6b10cd2b3e
Updated AST_Types.md doc
2023-11-22 15:03:24 -05:00
ed
91a3250d4c
Finished current iteration of parser_algo docs and parser.cpp inline comment docs
...
Added some todos and prep for upcoming changes
2023-11-22 14:23:21 -05:00
ed
a667eb4afe
Progress on parser documentation
2023-11-21 23:36:56 -05:00
ed
f67f9547df
WIP: Improvements to parser, updated docs
...
Trying to get support for typename keyword soon
2023-11-21 21:27:33 -05:00
ed
772db608be
Added support for predefining preprocessor defines before parsing strings of code.
...
This prevents issues for preprocessor defines not getting treated properly for specific circumstances (such as macro wrappers for specifiers).
2023-11-21 20:09:14 -05:00
ed
be023325a9
Added AST & Code definitions segemnted code defs to separate file
...
For upcoming statements & expression types, just beginning to lay things out for the future.
2023-11-21 20:07:49 -05:00
ed
a0ee683f82
Added new csvs for ECode & ETokType to keep track of upcoming additions
2023-11-21 20:06:05 -05:00
ed
6ad0ae97bc
Added bool type keyword to ETokType, move volatile pos in ESpecifier
...
volatile can be applied to a function so I moved it there.
2023-11-21 20:05:38 -05:00
ed
3319bfcaa9
Updates to test and workspace
...
Added a more granular test using the original library files. Already helped me identify a bug.
2023-11-21 20:03:51 -05:00