Commit Graph

305 Commits

Author SHA1 Message Date
Felix Müller aeeec168a3 added type comparison in assign 2024-06-09 00:37:24 +02:00
Sven Vogel 7f93daa780 Merge remote-tracking branch 'origin/90-implement-the-struct-tree-for-the-parser' into 85-implement-llvm-backend 2024-06-08 23:28:15 +02:00
Felix Müller c4e803fc23 first finalized form of set 2024-06-08 23:26:40 +02:00
Sven Vogel d5193f66be fixed: wrong struct cast 2024-06-08 23:26:40 +02:00
Sven Vogel 98ecd8a6ae Merge remote-tracking branch 'origin/90-implement-the-struct-tree-for-the-parser' into 85-implement-llvm-backend
# Conflicts:
#	src/cfg/opt.c
#	src/set/types.h
2024-06-08 23:10:15 +02:00
Sven Vogel 9ddf215d35 added: linker arguments 2024-06-08 23:08:38 +02:00
Felix Müller 8af6825567 first finalized form of set 2024-06-08 23:03:28 +02:00
Sven Vogel 77ef7d0f07 Merge remote-tracking branch 'origin/main' into 85-implement-llvm-backend
# Conflicts:
#	src/ast/ast.h
#	src/cfg/opt.c
#	src/compiler.c
#	src/io/files.c
#	src/main.c
#	tests/CMakeLists.txt
2024-06-08 22:39:51 +02:00
Sven Vogel ac813ae8bf added: linker wrapper for lld 2024-06-08 22:31:33 +02:00
Felix Müller c53c3c33f3 solved segfault 2024-06-08 17:52:50 +02:00
Felix Müller 5eded1aa20 added references, derefs and addressOf to set 2024-06-08 17:33:28 +02:00
Felix Müller bfd3040df4 Merge remote-tracking branch 'origin/90-implement-the-struct-tree-for-the-parser' into 90-implement-the-struct-tree-for-the-parser
# Conflicts:
#	src/set/set.c
#	src/set/types.c
2024-06-08 17:28:41 +02:00
Felix Müller 71755e48a4 added references, derefs and addressOf to set 2024-06-08 17:06:55 +02:00
Sven Vogel 6e59b7ac73 added: new types.h 2024-06-08 16:14:24 +02:00
Sven Vogel 150f87990a fixed: memory leaks
added: memory cache for GLIB arrays and hashtables
2024-06-08 14:55:40 +02:00
Sven Vogel 7f0ca78f92 added: delete routines for set 2024-06-07 15:36:02 +02:00
Sven Vogel f51e72d154 fixed: clone not using memory cache 2024-06-07 12:37:50 +02:00
Felix Müller b9226ad3f5 merged main in branch 2024-06-06 23:21:06 +02:00
Felix Müller af07d82d94 Merge remote-tracking branch 'origin/main' into 90-implement-the-struct-tree-for-the-parser
# Conflicts:
#	src/compiler.c
#	src/main.c
2024-06-06 23:05:10 +02:00
servostar a639b988ed
Merge branch 'main' into 119-fix-ast-memory-leak 2024-06-06 22:50:21 +02:00
Sven Vogel bd368f99ef added: linker file discovery 2024-06-06 22:47:53 +02:00
Felix Müller 6502a7f4bb first working implementation of set 2024-06-06 21:48:41 +02:00
Sven Vogel 110946b1e1 added: option to force colorized output 2024-06-06 20:38:17 +02:00
Sven Vogel b33e769cf8 fixed: false backend error generation 2024-06-06 11:55:21 +02:00
Sven Vogel b843a9aa79 Merge remote-tracking branch 'origin/85-implement-llvm-backend' into 85-implement-llvm-backend 2024-06-06 11:26:36 +02:00
Sven Vogel 3e43960508 transitioned from manual file utilites to glib 2024-06-06 11:26:26 +02:00
Felix Müller 4067339df8 first kind of working implementation of set 2024-06-05 23:55:30 +02:00
Sven Vogel 30230249ae added: verification of llvm module after compilation 2024-06-05 21:38:46 +02:00
Felix Müller 069369ca61 minor change 2024-06-05 21:20:21 +02:00
Felix Müller b8660c1595 major set build
Co-authored-by: SirTalksalot75 <SirTalksalot75@users.noreply.github.com>
2024-06-05 21:16:52 +02:00
Sven Vogel 03d64fce2e added: garbage collector 2024-06-05 20:00:14 +02:00
Sven Vogel 1e2f3c263a fixed: lexer memory leak due to strdup 2024-06-05 15:03:23 +02:00
Sven Vogel 2de4f7b460 fixed: ast memory leak leaf nodes 2024-06-05 14:37:34 +02:00
Sven Vogel f069d04ad1 changed ast implementation to use glib 2024-06-05 14:08:52 +02:00
Felix Müller 80c73e8b81 finished if branch 2024-06-05 12:53:50 +02:00
Sven Vogel b75ff7e44f fixed: macro definitions 2024-06-05 11:59:03 +02:00
Sven Vogel f9a18fc107 fixed: implicit function _mkdir 2024-06-05 11:54:27 +02:00
Sven Vogel 3587451b93 fixed: implicit function _fullpath 2024-06-05 11:49:55 +02:00
Felix Müller d0b1d367d5 major set building
Co-authored-by: SirTalksalot75 <SirTalksalot75@users.noreply.github.com>
Co-authored-by: servostar <Servostar@users.noreply.github.com>
2024-06-05 00:31:40 +02:00
Sven Vogel 14c5ba320c moved modules for llvm-ir generation into subfolder 2024-06-04 15:34:47 +02:00
Sven Vogel e893dd327b added llvm/link module 2024-06-04 15:28:41 +02:00
Sven Vogel 4ac0ee79d1 fixed: missing init of asm parsers 2024-06-04 15:18:22 +02:00
Sven Vogel 1c476cd561 fixed test not passing 2024-06-04 14:58:40 +02:00
Sven Vogel 54c7103df1 build bridge between compiler config and backend config 2024-06-04 14:22:12 +02:00
Sven Vogel 05634db44a Merge remote-tracking branch 'origin/main' into 85-implement-llvm-backend
# Conflicts:
#	src/main.c
#	tests/CMakeLists.txt
2024-06-04 11:57:45 +02:00
Felix Müller 4d33c81c3f major reconstruction of SET
Co-authored-by: servostar <Servostar@users.noreply.github.com>
Co-authored-by: SirTalksalot75 <SirTalksalot75@users.noreply.github.com>
2024-06-03 23:58:19 +02:00
Felix Müller 64c637b860 Merge remote-tracking branch 'origin/main' into 90-implement-the-struct-tree-for-the-parser 2024-06-03 21:56:14 +02:00
Felix Müller 40ba9ad95d commit before merge 2024-06-03 21:52:49 +02:00
Felix Müller 1de671cd8b major reconstruction
Co-authored-by: servostar <Servostar@users.noreply.github.com>
Co-authored-by: SirTalksalot75 <SirTalksalot75@users.noreply.github.com>
2024-06-03 21:39:07 +02:00
servostar aa5d0b0710
Merge pull request #114 from Servostar/76-add-rules-for-references
76 add rules for references
2024-06-03 20:04:42 +02:00
Felix Müller 879940dee9 midway of creating Bit Operation in expression 2024-06-03 19:42:58 +02:00
Sven Vogel 8f3bef3b95 added reference type definition
added reference access (array)
2024-06-03 15:58:41 +02:00
Felix Müller 8a2eeb63b8 added Bool Not to expression 2024-06-03 13:54:03 +02:00
Sven Vogel 3c5b9b7fe3 added build project test and fixed segfault 2024-06-03 12:35:55 +02:00
Sven Vogel 4703486daf added missing doxygen 2024-06-03 12:14:00 +02:00
Felix Müller 523a9f19cc added relational and boolian operands 2024-06-03 11:53:09 +02:00
Sven Vogel 814d3483b7 removed unused include 2024-06-03 11:12:46 +02:00
Sven Vogel 4404cea019 fixed option handling 2024-06-03 11:08:25 +02:00
Sven Vogel 22ed50f441 made error to info for not finding project file 2024-06-03 10:18:33 +02:00
Sven Vogel e25fd4b559 added missing --help 2024-06-03 10:14:25 +02:00
Sven Vogel f16c10d94b fixed not passing sdk check 2024-06-03 00:31:22 +02:00
Sven Vogel 33988beb10 added proper handling of arguments 2024-06-03 00:24:17 +02:00
Felix Müller 70859e0a6a added default values to enums 2024-06-02 23:27:22 +02:00
Felix Müller 7922fbc8b7 added expressions and types 2024-06-02 23:26:51 +02:00
Sven Vogel fcbfb548c3 added doxygen and added new compiler module 2024-06-02 20:57:59 +02:00
Sven Vogel 01f5ef953d fixed devkit not cloning submodules 2024-06-01 14:52:59 +02:00
Sven Vogel 3a8796a462 fixed segfaults 2024-06-01 01:00:22 +02:00
Sven Vogel 8f24596779 fixed implementation vaults 2024-05-31 21:25:37 +02:00
Sven Vogel 76b011511a targets are now read in 2024-05-31 19:09:28 +02:00
Felix Müller 8e1a1664da added enum type values to set 2024-05-31 18:36:40 +02:00
Sven Vogel 68ca76cb45 added missing default target options 2024-05-31 16:57:25 +02:00
Sven Vogel 5fb10bca88 added option to compile for app or lib 2024-05-31 16:55:43 +02:00
Sven Vogel c527c99392 added license and description to project 2024-05-31 16:33:48 +02:00
Sven Vogel 0c722f3635 Merge remote-tracking branch 'origin/main' into 6-add-mechanism-to-read-and-globally-save-options
# Conflicts:
#	CMakeLists.txt
#	src/main.c
2024-05-31 16:21:25 +02:00
Felix Müller 5a06c17fa4 first implementation of the sematic analysis 2024-05-31 16:17:06 +02:00
Sven Vogel e69af85e37 added options 2024-05-31 16:15:59 +02:00
Sven Vogel b9d8b23601 Merge remote-tracking branch 'origin/main' into 91-allow-to-parse-multiple-files
# Conflicts:
#	src/yacc/parser.y
2024-05-30 21:53:30 +02:00
Sven Vogel d60ebd6812 fixed: return 1 if no input files specified 2024-05-30 21:46:44 +02:00
Sven Vogel cb8c7647bf fixed: failing tests due to changes 2024-05-30 21:43:14 +02:00
Sven Vogel 472a4a623c feature: added error diagnostics and the ability to parse multiple files 2024-05-30 21:06:03 +02:00
Sven Vogel 7e59ac3520 feature: added if statement 2024-05-30 13:11:51 +02:00
Sven Vogel 2ba48e904e Merge remote-tracking branch 'origin/89-implement-structs-for-parser' into 89-implement-structs-for-parser 2024-05-29 21:24:56 +02:00
Sven Vogel 875574eb69 fixed: added type to expressions 2024-05-29 21:24:17 +02:00
Sven Vogel 8494df56cd feature: added name to function 2024-05-29 21:21:03 +02:00
Sven Vogel a5b5a04762 feature: added function call 2024-05-29 21:17:13 +02:00
Sven Vogel 61249d6eaf feature: implemented while statement 2024-05-29 13:03:39 +02:00
Sven Vogel 1ac9664c4d finished implementing expressions 2024-05-29 09:02:46 +02:00
Sven Vogel 3ba11ec97b feature: added logical operators 2024-05-28 23:12:56 +02:00
Sven Vogel 28a4f619a0 fixed: added missing header func.h 2024-05-28 22:10:04 +02:00
Sven Vogel f9eacef52f added bitwise operators 2024-05-28 15:58:30 +02:00
Sven Vogel 5fae7a12c1 added: expressions 2024-05-28 15:34:21 +02:00
Sven Vogel 0fe3fb68a6 reverted: removed box access from assignment 2024-05-28 13:57:13 +02:00
Sven Vogel f590e3c42e fixed: missing box member access in assignment 2024-05-28 13:44:40 +02:00
Sven Vogel 9eddfd75bc added assign implementation 2024-05-28 13:32:56 +02:00
Sven Vogel 119dfd7796 Merge remote-tracking branch 'origin/89-implement-structs-for-parser' into 89-implement-structs-for-parser 2024-05-28 12:36:48 +02:00
Sven Vogel 1aa8206268 fixed: missing kind in statement 2024-05-28 12:36:33 +02:00
Sven Vogel 48110c85f2 added function definition block 2024-05-28 11:51:24 +02:00
Sven Vogel 0d1f312ae2 fixed: various implementation faults
fixed typo of parameter
added function struct to group their declaration and definitons
added block to function definiton
added operands to cast and operators
2024-05-28 00:12:32 +02:00
Sven Vogel 68622fbd00 added function parsing 2024-05-27 23:50:29 +02:00
Sven Vogel 6197acf3b2 fixed: llvm dependencies in sdk 2024-05-27 21:22:06 +02:00