ed
0ccffe3f80
interface.untyped.cpp impl compiles in gnerated c library
2024-12-09 23:19:19 -05:00
ed
cd7548c3d4
parser finally compiles
2024-12-09 22:51:24 -05:00
ed
79a1951861
more prep for parser.cpp for c-library gen
2024-12-09 20:01:46 -05:00
ed
e786d7c3b6
prepped lexer and parser for c-library generation
2024-12-09 16:45:18 -05:00
ed
e6f30c7e1d
TokType compiles for c lbirary
2024-12-09 15:23:47 -05:00
ed
6147912783
gen.h compiles with interface.upfront.cpp injected
2024-12-09 14:55:02 -05:00
ed
ed9f719a07
impl up to interface.cpp compiles (upfront next)
2024-12-09 01:33:37 -05:00
ed
500f216da2
ast.cpp compiles (among other things)
2024-12-08 23:10:10 -05:00
ed
12e31276eb
dependency impl compiles for C11 library (doing components next)
2024-12-08 20:00:16 -05:00
ed
65c3fabc52
C-library gen progress: Header files mostly done, starting dep c impl and fixes to generic selection generation
2024-12-08 16:37:04 -05:00
ed
c016e245eb
still misbehaving (going to try alignas next...)
2024-12-07 20:49:43 -05:00
ed
99dbc499fa
WIP: code_types.hpp c_library.cpp conversion (issue with C struct padding on asts)
2024-12-07 19:46:19 -05:00
ed
1c133bfc8d
Massive total progress on c_library generation: (Summary of last 3 WIP commits)
...
- No longer using GEN_API_C_* macros as C-library wont need them and if you need C linkage there is no need to use the c++ library.
- GEN_C_LIKE_CPP replaces GEN_SUPPORT_CPP_MEMBER_FEATURES && GEN_SUPPORT_CPP_REFERENCES
a. If users don't want to use member functions, function overloading, or referencese they can just this one macro to before including the library.
- Enums aren't accomodated in C++ sources, they entirely converted in c_libray.cpp
- ast.hpp now properly generates with C variant
- Fully prepared code_types.hpp for C library gen (not tested yet)
- Generated enums managed by helper.hpp now properly generate for C library.
2024-12-07 17:58:56 -05:00
ed
451b71884c
WIP: Broken af
2024-12-07 17:17:02 -05:00
ed
4d638a7255
borken : lots of stuff changed, explaining in later commit...v
2024-12-07 00:21:09 -05:00
ed
ceea184d5a
Update to c_library.cpp (now up to ast.hpp)
2024-12-06 05:29:36 -05:00
ed
92e0d3ab8b
DId a pass on ast.hpp, types.hpp and helper.hpp for C compatability (unfortuantely clang-format doesn't like my enum macro...
2024-12-06 05:29:17 -05:00
ed
9b059dca47
C-library Finished setting up header dependencies (
2024-12-06 00:33:58 -05:00
ed
46562d54e7
parser: added support for enum_underlying macro
2024-12-06 00:33:53 -05:00
ed
ec07c70dcf
verified the C hashtable has parity with the C++ templated gencpp hashtable.
2024-12-05 23:02:26 -05:00
ed
63dd77237a
update version (forgot)
2024-12-05 21:37:39 -05:00
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