Commit Graph

305 Commits

Author SHA1 Message Date
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
Sven Vogel fb6f6e9777 finished global variable test 2024-05-27 18:17:15 +02:00
Sven Vogel 0fcb0d7af8 added test for llvm vars 2024-05-27 16:47:32 +02:00
Sven Vogel e01d4c4808 added debug and error messages 2024-05-27 15:56:44 +02:00
Sven Vogel 92f4708ce7 feature: codegen 2024-05-27 13:05:56 +02:00
Sven Vogel ad7355c94c removed llvm tests 2024-05-27 01:24:37 +02:00
Sven Vogel f16e2cfbaa fixed: mismatched pointer type 2024-05-26 22:52:48 +02:00
Sven Vogel b91c277ac4 added global variables 2024-05-26 22:51:49 +02:00
Sven Vogel 78e6310b05 moved module generation to backend parser 2024-05-26 17:30:53 +02:00
Sven Vogel d0cd74c697 modified codegen backend to use set module 2024-05-26 17:23:08 +02:00
servostar 932e1fa961
Merge pull request #105 from Servostar/89-implement-structs-for-parser
89 implement structs for parser
2024-05-26 15:14:00 +00:00
Sven Vogel 9a5f392b67 Merge branch '89-implement-structs-for-parser' of github.com:Servostar/gemstone into 89-implement-structs-for-parser 2024-05-26 17:12:23 +02:00
Sven Vogel dcd309c7b4 added module type 2024-05-26 17:11:43 +02:00
Sven Vogel 614c917b81 removed redundant files 2024-05-26 17:07:39 +02:00
servostar 220b5d7dcb
Merge pull request #104 from Servostar/89-implement-structs-for-parser
89 implement structs for parser
2024-05-26 15:03:46 +00:00
Felix Müller b7c7fd040a added ast pointer to all structs
removed StringLiteralType because of multiple definitions if used
2024-05-26 16:42:12 +02:00
Sven Vogel 8c17749923 refactored transmute rule and added bracketed expressions 2024-05-26 14:09:53 +02:00
Sven Vogel 7705aea238 added header for semantic tree types 2024-05-23 21:54:37 +02:00
Sven Vogel 8603656e3e added basic expression support 2024-05-22 20:27:40 +02:00
Sven Vogel 00089a4939 added error handling 2024-05-22 16:11:00 +02:00
Sven Vogel 3b78d117b5 added default values for composites 2024-05-21 15:55:22 +02:00
Sven Vogel 6967770d0e added declarations 2024-05-21 14:36:37 +02:00
Sven Vogel fa32df1010 backend parses type and function declarations 2024-05-21 13:08:41 +02:00
SirTalksalot75 58f7170df6
changed lookuptable for casts in ast.c 2024-05-21 12:20:45 +02:00
Sven Vogel 4a3b974d9f added functions to scope 2024-05-21 11:59:44 +02:00
Sven Vogel cc1dc790e1 added test for typedef 2024-05-21 00:41:03 +02:00
Sven Vogel 17e2cd7110 added scope 2024-05-21 00:17:11 +02:00
Sven Vogel 2804fd552b added function backend 2024-05-19 16:07:27 +02:00
Ur Mom 8d7c6a4a2b changed ast implementation for cast 2024-05-16 18:04:02 +02:00
Sven Vogel 1e60890919 added type interface 2024-05-16 12:29:11 +02:00
Ur Mom e57682d717 changed node-name according to ast.h 2024-05-16 11:34:51 +02:00
Ur Mom 2757132cf2 Fixed Typo 2024-05-16 10:27:44 +02:00
SirTalksalot75 af32c32c6a
Merge branch 'main' into 41-add-parser-rules-for-casts 2024-05-16 08:24:19 +02:00
Sven Vogel 16fcd6c8e2 added backend lib 2024-05-16 00:44:02 +02:00
Felix Müller addaff4818 i am not a smart man 2024-05-15 19:30:29 +02:00
Filleo 8b61cca153
Merge branch 'main' into 68-generate-ast-from-parser-rules 2024-05-15 19:19:03 +02:00
Felix Müller 7789c7e597 added removal of root node after output generation 2024-05-15 17:03:18 +02:00
Felix Müller d7b690ec8a solved error in test 2024-05-15 16:26:40 +02:00
Felix Müller f2317c78ce solved bug from fun def 2024-05-15 16:14:55 +02:00
Ur Mom 7da3c9151d fixed shift reduce conflicts in typecast 2024-05-15 15:50:26 +02:00
SirTalksalot75 addc6fe7f6
Merge branch 'main' into 6-add-mechanism-to-read-and-globally-save-options 2024-05-15 13:15:14 +02:00
Felix Müller ac7ceaab9b added while to the syntax tree 2024-05-15 10:41:08 +02:00
Felix Müller f11ade2ef2 changed If else branches, so that the whole branch is under one stmt node 2024-05-15 10:29:47 +02:00
Ur Mom 027b54d087 Second commit 2024-05-14 22:32:44 +02:00
Ur Mom 20ef894f88 Initial commit 2024-05-14 21:55:42 +02:00
Sven Vogel c24a430fd2 fixed if statement 2024-05-14 20:23:29 +02:00
Sven Vogel 32b964444a added C like precedence for operators 2024-05-14 19:20:58 +02:00
Sven Vogel 3ea179b4a9 added precedence for +,-,*,/ 2024-05-14 19:08:42 +02:00
Felix Müller 1055aa0f73 add identlist 2024-05-14 17:01:42 +02:00
Felix Müller a14faeeee7 added specific lists
solved bug in Funcall
2024-05-14 15:30:13 +02:00
Felix Müller 8c063d7016 changed little error in main 2024-05-14 14:57:15 +02:00
Felix Müller b3ad82cc49 moved root node to main
moved output code to main
removed '"' from string literals
2024-05-14 14:03:45 +02:00
Sven Vogel 4c61851a48 fixed build errors 2024-05-14 13:28:05 +02:00
Sven Vogel fa8c97d84f lexer unknown token passthrough 2024-05-14 12:27:21 +02:00
Felix Müller 3d3083c894 first functional state of syntax tree 2024-05-13 22:17:43 +02:00
Sven Vogel 02e7c2775b added better parser error messages 2024-05-13 16:13:49 +02:00
Ur Mom 9eba9d1437 fixed shift-reduce conflict 2024-05-13 13:45:22 +02:00
Felix Müller 0e5736e50c AST implementation WIP 2024-05-13 11:33:23 +02:00
Felix Müller bb474d75ad start of the syntax tree 2024-05-12 23:33:15 +02:00
Ur Mom 76558e89ed Merge branch '41-add-parser-rules-for-casts' of https://github.com/Servostar/gemstone into 41-add-parser-rules-for-casts 2024-05-12 22:55:03 +02:00
Ur Mom eccce505e5 -added Type-Cast
-added Reinterpret-Cast
2024-05-12 22:54:58 +02:00
Filleo 730248595e
Merge pull request #66 from Servostar/concept/ast-design
Concept/ast design
2024-05-12 21:28:53 +02:00
Sven Vogel 23968f7acc required C standard is C23
refactored logger function names to remove underscores
added function attributes
2024-05-10 15:09:52 +02:00
Sven Vogel 12a522b0e6 added missing free for child array 2024-05-10 13:51:23 +02:00
Sven Vogel 80888fdb8d added function for removing and detaching a node 2024-05-10 13:49:04 +02:00
Sven Vogel dd4d70829e added more documentation to AST header 2024-05-10 13:00:25 +02:00
Sven Vogel efeb482128 removed gc 2024-05-08 22:10:14 +02:00
Sven Vogel eac3b23432 Revert "added detach function"
This reverts commit 4322797eae.
2024-05-08 22:06:54 +02:00
Felix Müller abbbe59b08 added string.h in ast.c 2024-05-08 21:56:33 +02:00
servostar 2d411e3b7b
Merge branch 'concept/memory-safety' into concept/ast-design 2024-05-08 19:19:32 +00:00
Sven Vogel 4322797eae added detach function 2024-05-08 20:44:52 +02:00
Felix Müller f05ebf6ac2 added Self token
changed program rule
added rules for box
removed second assign
added storagequalifier
added typedefine
2024-05-08 15:51:30 +02:00
Sven Vogel 94efa65ed0 added test for graphviz 2024-05-08 13:49:06 +02:00
Filleo cd6ebc60ad
Merge pull request #58 from Servostar/39-add-parser-rule-for-functions
added function parser rules
2024-05-08 13:23:58 +02:00
Filleo 0c9c5f37b4
Merge pull request #55 from Servostar/37-add-parser-rule-for-while
added while parser rule
2024-05-08 13:20:16 +02:00
Felix Müller b8723bf83c removed empty lines 2024-05-08 13:18:34 +02:00
SirTalksalot75 743f8899f4
Merge branch 'parser-devel' into add-parser-rule-for-modules-import 2024-05-08 13:16:10 +02:00
Filleo e65761a64f
Merge branch 'parser-devel' into 39-add-parser-rule-for-functions 2024-05-08 09:32:25 +02:00
Filleo 03010bcf42
Merge branch 'parser-devel' into 37-add-parser-rule-for-while 2024-05-08 09:28:34 +02:00
Sven Vogel 565d50b639 added gc module 2024-05-07 15:24:42 +02:00
Sven Vogel 86c74f66c2 added mote syntax elements 2024-05-07 13:04:22 +02:00
Ur Mom 198c27f676 changed moduleimport in parser 2024-05-07 10:07:00 +02:00
Sven Vogel 0a54dd5783 Merge branch 'concept/ast-design' of github.com:Servostar/gemstone into concept/ast-design
merged local changes
2024-05-07 09:51:19 +02:00
servostar 0b832bf199
Merge branch 'concept/ast-design' into 47-add-tests 2024-05-07 07:48:12 +00:00
Felix Müller 08943e3e6e added function parser rules 2024-05-06 22:14:42 +02:00
Sven Vogel 02628a56d6 fixed shift reduce conflicts by removing epsilon functions 2024-05-06 16:41:23 +02:00
Felix Müller 5d155416b4 added while parser rule 2024-05-06 14:13:43 +02:00
Ur Mom 4ee6be3eb8 Changed Key for Function name 2024-05-06 12:09:58 +02:00
Ur Mom 6038241a1b initial commit for adding Module Import 2024-05-06 12:00:03 +02:00
servostar 96a50f4289
Merge branch 'parser-devel' into 40-add-parser-rule-for-calling-functions 2024-05-06 08:51:21 +00:00
servostar 07b3198c06
Merge pull request #51 from Servostar/36-add-parser-rule-for-if
36 add parser rule for if
2024-05-06 08:48:39 +00:00
servostar 4d7dcc4c73
Merge branch 'parser-devel' into 43-add-parser-rule-for-operators 2024-05-06 08:46:07 +00:00
Sven Vogel 03855c5ae6 added more AST elements 2024-05-06 10:32:05 +02:00
Sven Vogel 98c60aef16 added rule for branches 2024-05-05 21:51:51 +02:00
Sven Vogel 6f6b34792f function calls can now have more than 1 parameter list 2024-05-05 21:11:28 +02:00
Felix Müller a1c12f03db removed some empty lines 2024-05-05 21:05:37 +02:00
Sven Vogel c6d8651ab6 added debug statements 2024-05-05 16:31:55 +02:00
Sven Vogel 914935aafb added function to convert AST to graphviz diagram 2024-04-30 14:01:00 +02:00
Sven Vogel 970b45ac3c added less and greater operator 2024-04-30 11:51:59 +02:00
Sven Vogel 3e6469e239 added parser rule for function calling 2024-04-29 14:12:27 +02:00
Sven Vogel 7547331705 added rules for operators 2024-04-29 12:39:44 +02:00