ca7ff99a79
Code type coercion for builder_print in C11 library using generic selector.
2024-12-17 10:03:50 -05:00
9c968967e2
Proofing
2024-12-16 21:48:01 -05:00
a7cb7b0411
adjustment to test_cuik.c
2024-12-16 20:54:19 -05:00
46e816d7ce
Add restrict specifier support for C
2024-12-16 20:53:56 -05:00
08dcc3152f
Testing c-library with Cuik parsing...
2024-12-16 18:28:26 -05:00
cb50f93af5
Updates to gen_c_library docs
2024-12-16 00:47:46 -05:00
c90c210e04
fixes for c library
2024-12-15 22:53:32 -05:00
967a044637
Got .lib and .dlls setup for the C11 library
2024-12-14 00:10:07 -05:00
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
2c51a2f9c8
WIP: Restructuring project
2024-12-10 16:13:14 -05:00
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
1417a68757
updates to test validations
...
They don't really work great right now...
2024-10-27 21:19:25 -04:00
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
83d691c65c
Pushing latest changes for gencpp
2024-04-17 16:55:22 -04:00
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
2200bcde9a
Improved singleheader test
...
Need to make the debug_str provided by the AST type aware to provide as much contextual information as possible (finally got to this point with validation).
Singleheader test now directly calls clang-format to cleanup the reconstructed copy of the singleheader. Its needed to remove any sort of formatting discrepancies found by the parser since its sensistive to that for new-lines, etc.
2023-09-05 13:36:59 -04:00
3868e1e811
Added cursed typedef
2023-09-04 12:32:31 -04:00
9edcbad907
Fixes to parsing marco content, progress on validation test (single-header)
2023-08-23 21:19:31 -04:00
a6766cf0b1
Singleheader validation test got through ast reconstruction, failed to validate the reconstructed AST.
2023-08-23 18:16:45 -04:00
8635b0fd1b
doc update for parampack typename
2023-08-23 13:18:32 -04:00
30eec99628
Changes to include usage, starting to attempt singleheader automated verification
2023-08-23 13:17:22 -04:00
c97762ac16
Added support for inline comments
...
Also now doing comment serialization on def_comment directly as parse_comment doesn't need it.
Essentially comment ast types serialize the same way s untyped and execution ASTs
2023-08-23 00:25:14 -04:00
5e79e8ba65
Started to setup for codebase validation tests.
...
Fleshed out initial version of AST::is_equal( AST* )
Setup the test directory with initial files for each major validation test.
2023-08-22 16:01:50 -04:00
05fa62eced
Test building & generation fixed with altest scripts
2023-08-20 15:45:06 -04:00
f574a9ba9a
Further improvements to build script
...
test is failing to complete properly, need to debug...
2023-08-20 13:02:50 -04:00
a6bf60a51e
Simpilication of build script, added initial support for tests
2023-08-20 12:31:28 -04:00
aa928ff446
Scripting updates, some refactors..
...
Made a package release script.
Did refactors based on some design considerations
Still need to make some major decisions...
2023-08-09 18:47:59 -04:00
5aff89262b
Fixes (Doc typos, pragma once worng type, non-debug fatal compile fail)
2023-08-09 09:50:12 -04:00
b5fa864318
Fixes and improvements to serialization.
...
There were multiple issues with comment and newline lexing.
Extended printing functions to support Strings with %S flag (captial 'S').
Allows for length detection. Also made it so that precision for strings is the string length.
2023-08-08 22:14:58 -04:00
67d02c1f62
Fix for wrong tokens for GNU/MSVC attribute captures (parse_attributes)
...
Also a fix for a typo in the readme...
2023-08-08 15:35:06 -04:00
c7647ab00f
Updated docs
2023-08-08 11:56:42 -04:00
c4d5637a64
Fixes to single header generation (bad parsing adt/csv injection in wrong place)
2023-08-07 14:52:26 -04:00
c2319b9651
Fixes for test.singleheader_ast.cpp, also added a bench for it.
...
On a Ryzen R9 5950 it takes 11 ms to generate AST and 21 ms to serialize to file.
2023-08-06 17:46:17 -04:00
97750388ad
No longer using components/temp/ast_inlines (switched to helper function to avoid macro usage)
...
Increased the arg count support of num_args to 100.
2023-08-06 14:58:43 -04:00
34f286d218
Library can now construct into AST and serialization itself (singleheader).
...
Still need to validate if they match.
2023-08-04 16:12:13 -04:00
5d7dfaf666
Heavy refactor..
...
Isolating large macros to their own directory (components/temp).
- Plan is to remove them soon with proper generation.
Added additional component files, separating the old data_structures header for a set of ast headers.
Header_end also had its inlines extracted out.
Necessary to complete the macro isolation.
ZPL parser dependencies were removed from the core library along with builder, its now generated in bootstrap as pare of making a gen_builder set of files.
Singleheader will be changed in next few commits to reflect this as well (By making builder deps and components a conditional option).
Tests are most likely all broken for now.
2023-08-03 11:01:43 -04:00
a8a9b681f0
test completes singleheader ast construction and serailizes with corruption
2023-08-02 14:01:56 -04:00
b96b0821c1
Fixes towards parsing (getting to line 12575 now of the singleheader.
2023-08-02 12:39:35 -04:00
4c8a0f0005
Iterations on serialization improvements.
2023-08-01 20:56:00 -04:00
684569750d
first serialization of singlehearder without asserts. (Still failing after around 4k lines.
2023-08-01 16:07:47 -04:00
0f16d1131e
Got past parsing, fixing serialization
2023-08-01 14:02:54 -04:00
2b63fc27cd
Progress toward preprocessor parsing, lexing works, parsing does not.
2023-07-30 18:55:57 -04:00
03df940085
Improved parser scope errors.
...
Added the caret for indicating where the error is.
2023-07-29 17:14:02 -04:00
b9064fba9d
renamed parsed and upfront dirs to lowercase
2023-07-29 16:27:36 -04:00
0a5885495f
got old tests working (test.parsing.cpp and test.upfront.cpp)
2023-07-29 16:00:06 -04:00
f09bb99fdf
Fixes for test generation (sanity, soa).
2023-07-29 13:15:53 -04:00
cf65638979
Started to generate the enums from csv (ECode, EOperator, ESpecifier).
...
- Changed the zpl csv parser to only accept hex values with 0x perfix. it was messing with the add term.
- Small changes to the clang format config.
2023-07-26 14:21:20 -04:00
b5cad6e8a1
some cleanup of unused macros in test files, preparing bootstrap and single header code + scripts
2023-07-24 18:51:49 -04:00
cee55ad080
Suppeort for trailing specifiers for member functions, operators, and operator type casts (Untested)
2023-07-24 00:27:13 -04:00
80b5c9768d
Adding tuning macros for memory usage of the library, fixes.
...
Reduced the sanity test case to half its original iterations.
2023-07-23 23:11:53 -04:00