Commit Graph
100 Commits
Author SHA1 Message Date
ed 012fcb6bd5 Corrected order of Str to how the slice type is defined in Odin and RAD Debugger (my reference on slice types) 2024-12-13 13:20:16 -05:00
ed 6ffdca8595 formatting, fixes from testing latest in Odin fork 2024-12-13 11:56:07 -05:00
ed e3172057d3 working to towards https://github.com/Ed94/gencpp/issues/56 2024-12-12 12:55:15 -05:00
ed 8d48da0b9e reduced macro usage in lexer.cpp 2024-12-12 11:56:16 -05:00
ed 30dea2e9fd reduce 'large macro' usage in ast.cpp and interface.cpp
Properly disabled GEN_DEBUG_TRAP in non-debug builds
2024-12-12 11:35:50 -05:00
ed 633879d35f more typo correction 2024-12-12 10:42:01 -05:00
ed 831b52129d readme fixes 2024-12-12 10:27:55 -05:00
ed 55427822a0 Proofing docs 2024-12-12 10:24:21 -05:00
ed 71b7320e1c codestruct mssing frm c_library.reefactor 2024-12-11 16:00:39 -05:00
ed 2a025cb073 Merge branch 'de_oop' 2024-12-11 14:57:47 -05:00
ed 0e782cdf99 minor fixees 2024-12-11 14:57:38 -05:00
edandGitHub a390e7f895 Merge pull request #62 from Ed94/de_oop
De oop
2024-12-11 11:54:14 -08:00
ed 65427bd0f1 Update undef.macros.h 2024-12-11 14:08:34 -05:00
ed cb898595b0 Updates to docs and various changes to project from working on them.
- CodeParam -> CodeParams
- interfaces array weren't being used in parse_class_struct
- added enum_underlying_sig
2024-12-11 13:33:35 -05:00
ed 9b86d84dd6 typo fix 2024-12-11 12:43:46 -05:00
ed 4dfb9031d7 separated _generic macros from base/dependencies/macro.shpp 2024-12-11 08:52:05 -05:00
ed 401f85f673 corrections to c_library.cpp, package_release.ps1 working for all zips 2024-12-11 02:04:22 -05:00
ed caec5d8dfc fix clang format for enum_underlying 2024-12-11 00:13:36 -05:00
ed 44d0a9cf9d c_library compiles 2024-12-10 23:35:47 -05:00
ed c0aa4fee95 updates on package_release.ps1 and clean.ps1 2024-12-10 22:42:07 -05:00
ed 913d9bf26b fixed clean script 2024-12-10 22:27:35 -05:00
ed c8d6c27f07 singleheader compiles again 2024-12-10 22:20:40 -05:00
ed aecc2c59dd segemented builds 2024-12-10 21:59:13 -05:00
ed 0e32838da1 base works 2024-12-10 21:35:46 -05:00
ed ef78772278 work on gettings things compiling again after restructuring 2024-12-10 20:45:00 -05:00
ed 8891657eb1 Large updates to docs 2024-12-10 19:31:50 -05:00
ed a18b5b97aa typo 2024-12-10 16:58:04 -05:00
ed 0ea88a263d third test 2024-12-10 16:56:42 -05:00
ed eea4ebf5c4 another test 2024-12-10 16:55:04 -05:00
ed 7351ba6175 testing link embedding 2024-12-10 16:53:07 -05:00
ed 8e3e66b3c1 Updates to docs and scripts 2024-12-10 16:38:01 -05:00
ed 2c51a2f9c8 WIP: Restructuring project 2024-12-10 16:13:14 -05:00
ed e3b3882443 correctionns to gen_unreal_engine 2024-12-10 13:57:12 -05:00
ed 0046c4a223 c_library refacotring works, and compiles with all content from the base project.
I need to make the refactor step happen before formatting with clang-format in the metaprogram instead of calling it from powershell
2024-12-10 13:56:56 -05:00
ed 5aaef0f1a2 get rid of Test.josnc
not sure how that got there...
2024-12-10 10:29:34 -05:00
ed abdad1a436 demacro AST and Code forwards/typedefs 2024-12-10 10:24:48 -05:00
ed a4143b537d builder compiles in c (some issues with filtering out preprocess #if) 2024-12-10 07:24:32 -05:00
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