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
f9117a2353
Added zpl's ivrtual memory to dependencies (unused for now)
2023-08-23 11:07:43 -04:00
c81f4b34ee
Cleanup and doc updates
2023-08-23 02:17:47 -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
49a2cd7b2c
Uncomment formatting comments in build script (forgot to after completing fixes)
2023-08-22 02:17:28 -04:00
a6c6574390
More formatting fixes
2023-08-22 02:09:20 -04:00
c4846dad26
Formatting fixes
2023-08-22 01:51:59 -04:00
a61a28b778
Fixx to bitfield variables
...
Related to https://github.com/Ed94/gencpp/issues/25
2023-08-22 00:40:38 -04:00
d0c995893d
Lower inital memory allocation amounts. (Lower latency iteration for running generator)
...
I need to change it so that they all use one big arena allocation for the initial. This can be done when the global allocator is changed to a growable arena.
2023-08-21 23:49:23 -04:00
a42e241afb
Got rid of the temp compoonent files, they are now generated via bootstrapping.
...
This isn't the last step though everything in the main project directory that isn't md files needs to be generated only.
Can't do that till testing is robust enough...
2023-08-21 23:28:39 -04:00
6d85dd8fe8
Update vcproj
2023-08-21 23:09:40 -04:00
db6e8b33eb
got intellisense working for the most part...
...
VScode works withs some issues.
VS2022 fails.
10xEditor works fine.
JetBrains Rider fails due to it not supporting <push/pop>_macro pragmas
2023-08-21 23:07:03 -04:00
7be3617083
Runtime fixed
2023-08-21 22:48:05 -04:00
5c47777972
compiles agian...
2023-08-21 21:40:23 -04:00
4a2ed6de4e
another vs code automated edit...
2023-08-21 21:40:05 -04:00
9f64760b7a
Commenting out includes to diagnose...
2023-08-21 21:20:29 -04:00
68f34e6fab
gitignore update for vc140.pdb
...
will remove after I figure out how its going rogue.
2023-08-21 21:12:52 -04:00
1f9bbddbb7
vs setting update
2023-08-21 21:12:25 -04:00
050b00f28a
WIP - Broken Compile : Added pragma once and includes to all files + Parser fixes, and String improvements
...
Adding the pragma once and includes the files broke compilation, still diagnosing why.
- Some string functions were moved to the cpp, still need to do some more evaluation of it and the containers...
- Added support for forceinline and neverinline to parsing (untested)
- Added support for specifiers in operator cast such as explicit, inline/forceinline/neverinline, etc.
- Before it only support const.
- Still need to support volatile.
- Forceinline was not supported at all for tokenization, fixed that.
2023-08-21 20:30:13 -04:00
1241f44fd4
scan_file function can auto skips pragma once and includes
...
Needed so that includes could be added to components so that intellisense would not fail since the parser (for most editors) doesn't properly parse the enviornment and cheats on a per-file basis.
2023-08-21 20:27:00 -04:00
7d1c499e7b
Build script improvements
...
Made sure devshell only loads up the msvc env once.
2023-08-20 22:39:46 -04:00
b3f0c2734f
Merge remote-tracking branch 'origin/main' into dev
2023-08-20 18:04:51 -04:00
eaeb8acee4
Remove Some vcproj changes, removal of the rogue vc140.pdb
2023-08-20 18:04:35 -04:00
12bf878cb3
Merge pull request #23 from Ed94/dev
...
dev pull - Build script updates and misc fixes
2023-08-20 17:55:35 -04:00
52ae431ad6
Made clean script remove the gen dir now from test dir.
2023-08-20 15:51:51 -04:00
05fa62eced
Test building & generation fixed with altest scripts
2023-08-20 15:45:06 -04:00
2f7836b191
Fixes to buildscript
2023-08-20 13:18:09 -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
37d9782cf2
Singleheader now compiles with new build script on both clang & msvc
2023-08-20 10:17:55 -04:00
11679ba8b4
New build script works for clang and msvc!
...
Need to update singleheader and test to use it.
2023-08-19 21:33:01 -04:00
8985f0a4d9
MSVC in latest script works
...
Clang is having issues.
2023-08-19 17:08:13 -04:00
32a910515e
More refactoring, getting rid of meson in favor of just powershell scripts
2023-08-19 12:18:48 -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
bb35444be9
Fix for log_failure
macro expansion in helper.hpp: CodeBody gen_ast_inlines()
2023-08-08 15:53:10 -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
d2fc1d0a56
Converted log_failure and fatal to macros (fixes GEN_PANIC not determining correct line or file)
2023-08-08 09:48:50 -04:00
ed3246c6b0
Fixes for typedef serialization of functions..
...
Also fix for HashTable<>::rehash_fast not having finished implemenation...
The typedef fix is a sort of hack (like how parsing the rest of the language feels like tbh...).
I might make a def_typedef_fn to make it clearer how to define function typedefs using the upfront interface.
2023-08-07 20:16:04 -04:00
c4d5637a64
Fixes to single header generation (bad parsing adt/csv injection in wrong place)
2023-08-07 14:52:26 -04:00
c2f8c8aeb1
Added constructor and destructor supported (UNTESTED)
...
Just compiles and generates...
Also fixed a bug where parsing didn't have a token for virtual specifiers...
2023-08-07 03:10:45 -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
a4f9596d3b
Fixes to serialization, reduced Define_CodeType macro
...
Now the execution code is generated in bootstrap/singleheader gen.
2023-08-06 17:19:57 -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