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
00f6c45f15
Fixes for serializations found with last commit's test.
...
Should be fine to move on to next major feature....
2023-08-06 13:28:19 -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
d36c3fa847
Single header generates again, some more cleanup.
...
Looking into properly dealing with empty lines...
I want to preserve the text's empty lines in the AST for serialization purposes (perserve formatting for gapes between definitions).
Don't want to introduce the possibility of it breaking though, so will have to ignore empty_lines in a general way (if they are in a bad spot).
Attempted to cover that by having TokArray::current() auto-skip empty lines and eat as well if the type doesn't match.
2023-08-03 23:18:33 -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
114f678f1b
Merge pull request #9 from Ed94/Preprocessor_support
...
Preprocessor support
2023-08-02 16:04:57 -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
528ef72a51
More progress on parsing
...
Made it to line 2597 of self parsing its singleheader
Complex global or member defintions are now supported.
2023-08-01 05:17:24 -04:00
21a8f3bb39
WIP: It can parse to around ~2k lines. Need to improve its ability to detect when a forward declare of a class/enum/struct/union..
...
This language truly is a mess.
2023-08-01 00:42:08 -04:00
2b63fc27cd
Progress toward preprocessor parsing, lexing works, parsing does not.
2023-07-30 18:55:57 -04:00
bfbfae466f
Naive preprocessor support initial implementation (compiles and runs, not heavily tested)
2023-07-30 01:21:04 -04:00
3d7cb85e71
Merge pull request #8 from Ed94/parser_context_stack
...
Parser context stack
2023-07-29 17:16:04 -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
4e8d6456cb
Merge branch 'parser_context_stack' of https://github.com/Ed94/gencpp into parser_context_stack
2023-07-29 16:25:50 -04:00
d704f11c81
renamed Docs to lowercase
2023-07-29 16:25:38 -04:00
50a10c901f
renamed Docs to lowercase
2023-07-29 16:24:07 -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
108b16739f
bootstrap and singleheader compile and generate.
2023-07-29 12:25:38 -04:00