Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
163ad0a
looking into removing "oop" features from base library
Ed94 Nov 29, 2024
5958dd2
Did arena and fixedarena changes (for reducing usage of member procs)
Ed94 Nov 30, 2024
4137ebf
pool done (see previous commits for context)
Ed94 Nov 30, 2024
34eec66
Array done
Ed94 Nov 30, 2024
c6cb583
Hashtable done
Ed94 Nov 30, 2024
79eb5f1
strings done
Ed94 Nov 30, 2024
056a586
for the future...
Ed94 Nov 30, 2024
a67fdef
dir restructuring
Ed94 Nov 30, 2024
5527a27
prepare c_library meta-program a bit
Ed94 Nov 30, 2024
06deb1e
memory.hpp no longer uses memory mappings by default
Ed94 Nov 30, 2024
cc245cc
new files
Ed94 Nov 30, 2024
6d04165
Reduce cpp freatures usage of Array container.
Ed94 Nov 30, 2024
fbdb870
Finished first pass reviewing memory.hpp for C lib generation
Ed94 Dec 1, 2024
31a3609
some fixes to c's fixed_arena gen
Ed94 Dec 1, 2024
0b4ccac
Removed usage of hashtable member procs
Ed94 Dec 1, 2024
a96d03e
brought over the generators of array and hashtable for c-lib gen
Ed94 Dec 1, 2024
c7b0722
progress on c_library.cpp
Ed94 Dec 1, 2024
e5acac1
String member definitions not longer used in the base project
Ed94 Dec 1, 2024
ed0c042
Looking into what the library's convention for enums will be.
Ed94 Dec 1, 2024
31691b1
Fixed issue with HashTable region detection
Ed94 Dec 1, 2024
8ef9820
Added is_body to AST and Code types
Ed94 Dec 1, 2024
f61c1c5
String::is_equal added
Ed94 Dec 1, 2024
9e88cb8
String::is_equal added (bad last commit)
Ed94 Dec 1, 2024
80cb3f4
Significant progress reducing c++ feature usage in the library.
Ed94 Dec 1, 2024
fec709c
Progresss
Ed94 Dec 2, 2024
f9c21eb
progress
Ed94 Dec 2, 2024
937235b
progress (Code)
Ed94 Dec 2, 2024
37c33ff
reduction on debug_str
Ed94 Dec 2, 2024
007bfa0
Code::duplicate reduction
Ed94 Dec 2, 2024
5cd69e1
Code::is_body reduction
Ed94 Dec 2, 2024
2b24511
Code::is_equal reduction
Ed94 Dec 2, 2024
f9b5029
Code::is_valid rection
Ed94 Dec 2, 2024
c38b077
Code::set_global reduction
Ed94 Dec 2, 2024
2dcc968
Preparing for reductions on code_types.hpp
Ed94 Dec 2, 2024
9b68791
fixes for array when not using member features.
Ed94 Dec 2, 2024
9321a04
reduction of Code struct member function usage in base lib
Ed94 Dec 2, 2024
5b0079f
ast interface uage reductions
Ed94 Dec 2, 2024
16b8a3a
began to remove usage of code specific types member procs
Ed94 Dec 2, 2024
ea18792
Progress on member proc usage reduction (CodeParam, CodeSpecifiers)
Ed94 Dec 2, 2024
0bad61f
remove raw member def from code types, reduction on CodeAttributes
Ed94 Dec 2, 2024
8f47f3b
Comment, Constructor, Destructor, Define, Enum, Exec, Extern, Include…
Ed94 Dec 2, 2024
05e65aa
Did reductions on Module, NS, Operator, OpCast, Pragma, PreprocessCon…
Ed94 Dec 2, 2024
defe42c
member proc usage reductions on CodeTypes complete (Typedef, Union, U…
Ed94 Dec 2, 2024
69a9abc
Finished AST/Code member inferface usage elimination in base library.
Ed94 Dec 3, 2024
2fe708e
Began to reduce cpp feature usage in lexer and parser
Ed94 Dec 3, 2024
f28ae57
setup upfront interface to have optional vars in structs (for C later)
Ed94 Dec 3, 2024
63ebd0d
removed reference type usage in components/lexer.cpp, looking into re…
Ed94 Dec 3, 2024
a7c9dad
cpp feature reduction usage in parser
Ed94 Dec 3, 2024
d45908f
reduce TokType enum to c-compatiable
Ed94 Dec 3, 2024
c6fba23
reduce ESpecifier to c-compatiable enum
Ed94 Dec 3, 2024
72d088c
reduction done on eoperator
Ed94 Dec 3, 2024
e00b2f8
Reduced ECode to C compatible vairant
Ed94 Dec 3, 2024
ba1dd18
WIP (Broken): Major changes to handling Strings in ast (StringCached …
Ed94 Dec 3, 2024
d686831
Completed initial conversion
Ed94 Dec 4, 2024
a3548a5
Added support for friend operator definitions
Ed94 Dec 4, 2024
6081834
bug fix
Ed94 Dec 4, 2024
3a55af9
WIP(broken): Converting base library to use c-linkage symbols only
Ed94 Dec 4, 2024
f7709bb
more progress
Ed94 Dec 4, 2024
cae1555
wip having nasty parser issue (fixed nasty lexer bug)
Ed94 Dec 4, 2024
a3e7ec4
successful compile of c_library for: platform, macros, basic_types, d…
Ed94 Dec 5, 2024
1c31342
preogress on getting dependencies compilable in C-library
Ed94 Dec 5, 2024
47b9c37
began to setup generation of Array_ssize and StringTable in the c-lib…
Ed94 Dec 5, 2024
a3407c1
First compiling version of operator overloading for C! (on both msvc …
Ed94 Dec 5, 2024
8bb2bc7
fixes on containers (compiles but still verifying parity with c++ tem…
Ed94 Dec 5, 2024
2661635
Finished draft pass verifying containers.array.hpp is equivalent to c…
Ed94 Dec 6, 2024
cf3908c
Added alpha warning message to header_start.hpp files.
Ed94 Dec 6, 2024
63dd772
update version (forgot)
Ed94 Dec 6, 2024
ec07c70
verified the C hashtable has parity with the C++ templated gencpp has…
Ed94 Dec 6, 2024
46562d5
parser: added support for enum_underlying macro
Ed94 Dec 6, 2024
9b059dc
C-library Finished setting up header dependencies (
Ed94 Dec 6, 2024
92e0d3a
DId a pass on ast.hpp, types.hpp and helper.hpp for C compatability (…
Ed94 Dec 6, 2024
ceea184
Update to c_library.cpp (now up to ast.hpp)
Ed94 Dec 6, 2024
4d638a7
borken : lots of stuff changed, explaining in later commit...v
Ed94 Dec 7, 2024
451b718
WIP: Broken af
Ed94 Dec 7, 2024
1c133bf
Massive total progress on c_library generation: (Summary of last 3 WI…
Ed94 Dec 7, 2024
99dbc49
WIP: code_types.hpp c_library.cpp conversion (issue with C struct pad…
Ed94 Dec 8, 2024
c016e24
still misbehaving (going to try alignas next...)
Ed94 Dec 8, 2024
65c3fab
C-library gen progress: Header files mostly done, starting dep c impl…
Ed94 Dec 8, 2024
12e3127
dependency impl compiles for C11 library (doing components next)
Ed94 Dec 9, 2024
500f216
ast.cpp compiles (among other things)
Ed94 Dec 9, 2024
ed9f719
impl up to interface.cpp compiles (upfront next)
Ed94 Dec 9, 2024
6147912
gen.h compiles with interface.upfront.cpp injected
Ed94 Dec 9, 2024
e6f30c7
TokType compiles for c lbirary
Ed94 Dec 9, 2024
e786d7c
prepped lexer and parser for c-library generation
Ed94 Dec 9, 2024
79a1951
more prep for parser.cpp for c-library gen
Ed94 Dec 10, 2024
cd7548c
parser finally compiles
Ed94 Dec 10, 2024
0ccffe3
interface.untyped.cpp impl compiles in gnerated c library
Ed94 Dec 10, 2024
a4143b5
builder compiles in c (some issues with filtering out preprocess #if)
Ed94 Dec 10, 2024
abdad1a
demacro AST and Code forwards/typedefs
Ed94 Dec 10, 2024
5aaef0f
get rid of Test.josnc
Ed94 Dec 10, 2024
0046c4a
c_library refacotring works, and compiles with all content from the b…
Ed94 Dec 10, 2024
e3b3882
correctionns to gen_unreal_engine
Ed94 Dec 10, 2024
2c51a2f
WIP: Restructuring project
Ed94 Dec 10, 2024
8e3e66b
Updates to docs and scripts
Ed94 Dec 10, 2024
7351ba6
testing link embedding
Ed94 Dec 10, 2024
eea4ebf
another test
Ed94 Dec 10, 2024
0ea88a2
third test
Ed94 Dec 10, 2024
a18b5b9
typo
Ed94 Dec 10, 2024
8891657
Large updates to docs
Ed94 Dec 11, 2024
ef78772
work on gettings things compiling again after restructuring
Ed94 Dec 11, 2024
0e32838
base works
Ed94 Dec 11, 2024
aecc2c5
segemented builds
Ed94 Dec 11, 2024
c8d6c27
singleheader compiles again
Ed94 Dec 11, 2024
913d9bf
fixed clean script
Ed94 Dec 11, 2024
c0aa4fe
updates on package_release.ps1 and clean.ps1
Ed94 Dec 11, 2024
44d0a9c
c_library compiles
Ed94 Dec 11, 2024
caec5d8
fix clang format for enum_underlying
Ed94 Dec 11, 2024
401f85f
corrections to c_library.cpp, package_release.ps1 working for all zips
Ed94 Dec 11, 2024
4dfb903
separated _generic macros from base/dependencies/macro.shpp
Ed94 Dec 11, 2024
9b86d84
typo fix
Ed94 Dec 11, 2024
cb89859
Updates to docs and various changes to project from working on them.
Ed94 Dec 11, 2024
65427bd
Update undef.macros.h
Ed94 Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ project/auxillary/vis_ast/dependencies/temp
test/gen/original
singleheader/gen/scratch.hpp
test/gen/scratch.cpp
gen_c_library/gen
14 changes: 0 additions & 14 deletions .vscode/bookmarks.json
Original file line number Diff line number Diff line change
@@ -1,14 +0,0 @@
{
"files": [
{
"path": "project/auxillary/vis_ast/dependencies/temp/raylib-master/src/rcamera.h",
"bookmarks": [
{
"line": 140,
"column": 14,
"label": ""
}
]
}
]
}
41 changes: 35 additions & 6 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"configurations": [
{
"name": "Win32 msvc",
"name": "Bootstrap",
"includePath": [
"${workspaceFolder}/**"
"${workspaceFolder}/base/**"
],
"defines": [
"_DEBUG",
Expand All @@ -15,15 +15,44 @@
"GEN_INTELLISENSE_DIRECTIVES",
"INTELLISENSE_DIRECTIVES"
],
"cStandard": "c11",
"cppStandard": "c++17",
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
"intelliSenseMode": "msvc-x64",
"compileCommands": "${workspaceFolder}/project/build/compile_commands.json"
"compileCommands": "${workspaceFolder}/.vscode/tasks.json",
"compilerArgs": [
"/EHsc-",
"/GR-",
"/Zc:preprocessor",
"/FC"
]
},
{
"name": "Win32 msvc c_library",
"includePath": [
"${workspaceFolder}/gen_c_library/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"GEN_TIME",
"GEN_IMPLEMENTATION",
// "GEN_DONT_USE_NAMESPACE"
"GEN_INTELLISENSE_DIRECTIVES",
"INTELLISENSE_DIRECTIVES"
],
"cppStandard": "c++17",
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
"intelliSenseMode": "msvc-x64",
"compileCommands": "${workspaceFolder}/.vscode/tasks.json"
},
{
"name": "Win32 clang",
"includePath": [
"${workspaceFolder}/**"
"${workspaceFolder}/base/**"
],
"defines": [
"_DEBUG",
Expand All @@ -36,9 +65,9 @@
"INTELLISENSE_DIRECTIVES"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Users/Ed/scoop/apps/llvm/current/bin/clang++.exe",
"compilerPath": "clang++.exe",
"intelliSenseMode": "windows-clang-x64",
"compileCommands": "${workspaceFolder}/project/build/compile_commands.json"
"compileCommands": "${workspaceFolder}/.vscode/tasks.json"
}
],
"version": 4
Expand Down
45 changes: 4 additions & 41 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,20 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug gentime lldb",
"program": "${workspaceFolder}/test/test.exe",
"args": [],
"cwd": "${workspaceFolder}/test/",
"postRunCommands": [
]
},
{
"type": "cppvsdbg",
"request": "launch",
"name": "Debug gentime vsdbg",
"program": "${workspaceFolder}/test/build/test.exe",
"name": "Debug base vsdbg",
"program": "${workspaceFolder}/base/build/base.exe",
"args": [],
"cwd": "${workspaceFolder}/test/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
},
{
"type": "cppvsdbg",
"request": "launch",
"name": "Debug bootstrap vsdbg",
"program": "${workspaceFolder}/project/build/bootstrap.exe",
"args": [],
"cwd": "${workspaceFolder}/project/",
"cwd": "${workspaceFolder}/base/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
},
{
"type": "cppvsdbg",
"request": "launch",
"name": "Debug singleheader vsdbg",
"program": "${workspaceFolder}/singleheader/build/gencpp_singleheader.exe",
"program": "${workspaceFolder}/singleheader/build/singleheader.exe",
"args": [],
"cwd": "${workspaceFolder}/singleheader/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
Expand All @@ -49,24 +30,6 @@
"args": [],
"cwd": "${workspaceFolder}/unreal_engine/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
},
{
"type": "cppvsdbg",
"request": "launch",
"name": "Debug raylib refactor vsdbg",
"program": "${workspaceFolder}/project/auxillary/vis_ast/dependencies/raylib/build/raylib_refactor.exe",
"args": [],
"cwd": "${workspaceFolder}/project/auxillary/vis_ast/dependencies/temp/raylib-master/src/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
},
{
"type": "cppvsdbg",
"request": "launch",
"name": "Debug VIS AST",
"program": "${workspaceFolder}/project/auxillary/vis_ast/binaries/vis_ast.exe",
"args": [],
"cwd": "${workspaceFolder}/project/auxillary/vis_ast/binaries/",
"visualizerFile": "${workspaceFolder}/scripts/gencpp.natvis"
}
]
}
27 changes: 24 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,26 @@
"propidl.h": "c",
"android_native_app_glue.h": "c",
"raylib.h": "c",
"*.m": "cpp"
"*.m": "cpp",
"atomic": "cpp",
"gen.h": "c",
"string_ops.hpp": "c",
"assert.h": "c",
"intrin.h": "c",
"bit": "cpp",
"cmath": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"iosfwd": "cpp",
"new": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"xstddef": "cpp"
},
"C_Cpp.intelliSenseEngineFallback": "disabled",
"mesonbuild.configureOnOpen": true,
Expand All @@ -48,8 +67,10 @@
"C_Cpp.files.exclude": {
"**/.vscode": true,
"**/.vs": true,
"**/sanity.gen.hpp": true
"**/sanity.gen.hpp": true,
"test/**":true,
},
"autoHide.autoHidePanel": false,
"autoHide.autoHideSideBar": false
"autoHide.autoHideSideBar": false,
"dimmer.enabled": false
}
144 changes: 144 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Bootstrap",
"type": "shell",
"command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
"args": [
"-ExecutionPolicy",
"Bypass",
"-File",
"${workspaceFolder}/scripts/build.ci.ps1",
"bootstrap",
"msvc"
],
"group": "build",
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*)\\((\\d+)\\)\\s*:\\s*(warning|error)\\s*(\\w+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"severity": 3,
"code": 4,
"message": 5
}
},
"presentation": {
"reveal": "always",
"panel": "shared",
"clear": true
}
},
{
"label": "Build C Library",
"type": "shell",
"command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
"args": [
"-ExecutionPolicy",
"Bypass",
"-File",
"${workspaceFolder}/scripts/build.ci.ps1",
"c_library",
"msvc"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*)\\((\\d+)\\)\\s*:\\s*(warning|error)\\s*(\\w+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"severity": 3,
"code": 4,
"message": 5
}
},
"presentation": {
"reveal": "always",
"panel": "shared",
"clear": true
}
},
{
"label": "Build Singleheader (MSVC)",
"type": "shell",
"command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
"args": [
"-ExecutionPolicy",
"Bypass",
"-File",
"${workspaceFolder}/scripts/build.ci.ps1",
"singleheader",
"msvc",
"debug"
],
"group": "build",
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": [
{
"regexp": "^(.*)\\((\\d+)\\)\\s*:\\s*(error|warning|info|note)\\s+(\\w{1,2}\\d+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"severity": 3,
"code": 4,
"message": 5
}
]
},
"presentation": {
"reveal": "always",
"panel": "shared",
"clear": true
}
},
{
"label": "Build Unreal (MSVC)",
"type": "shell",
"command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
"args": [
"-ExecutionPolicy",
"Bypass",
"-File",
"${workspaceFolder}/scripts/build.ci.ps1",
"unreal",
"msvc",
"debug"
],
"group": "build",
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": [
{
"regexp": "^(.*)\\((\\d+)\\)\\s*:\\s*(error|warning|info|note)\\s+(\\w{1,2}\\d+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"severity": 3,
"code": 4,
"message": 5
}
]
},
"presentation": {
"reveal": "always",
"panel": "shared",
"clear": true
}
}
]
}
Loading