Commit graph

104 commits

Author SHA1 Message Date
overflowerror
3070393ff2 feat: Add while loops 2024-02-20 22:10:46 +01:00
overflowerror
f2553d5044 feat: Add while loops to grammar 2024-02-20 21:59:38 +01:00
overflowerror
94f6441aaf feat: Remove semicolon after if statements 2024-02-20 21:48:00 +01:00
overflowerror
1970130145 feat: Add proper block scope 2024-02-20 21:46:06 +01:00
overflowerror
442618ed87 fix: dict iterator gets stuck on first element in bucket 2024-02-20 21:44:24 +01:00
overflowerror
19ed35d535 refactor: Change to scope based system 2024-02-19 23:15:53 +01:00
overflowerror
f0a04a6a65 feat: Add support for reassigning variables 2024-02-18 21:19:33 +01:00
overflowerror
6eacf766cf refactor: Split declaration and assignment ast nodes
preparation for standalone assignments
2024-02-18 11:45:16 +01:00
overflowerror
2a88a986ee fix: missing reset in clone 2024-02-18 00:13:10 +01:00
overflowerror
bed6d3b2d7 feat: Add if-else statement 2024-02-17 22:22:28 +01:00
overflowerror
a6922b8372 feat: Add ast construction for if-else 2024-02-17 21:46:57 +01:00
overflowerror
635f90e8e0 refactor: change program type to block 2024-02-17 21:40:41 +01:00
overflowerror
8c7f2c8603 feat: Add grammar support for if-else 2024-02-16 23:45:59 +01:00
overflowerror
035275084b fix: Memory leak in to_str macro 2024-02-16 23:38:58 +01:00
overflowerror
5c78266f8a feat: Add modulo 2024-02-16 23:33:16 +01:00
overflowerror
980bab6b2a feat: Add division 2024-02-16 23:24:56 +01:00
overflowerror
cf969566f2 cleanup: Better logging + begin of debug mode 2024-02-16 18:17:05 +01:00
overflowerror
5efc5659ba feat: Add support for addition, subtraction and multiplication 2024-02-16 18:16:51 +01:00
overflowerror
59257e47b6 feat: Extend parser to allow calculations 2024-02-16 14:05:11 +01:00
overflowerror
36b75d5654 feat: Added indicator for allocated regions 2024-02-16 13:41:21 +01:00
overflowerror
8ec648601d cleanup: Use non-standard index for add/sub macros 2024-02-16 13:14:50 +01:00
overflowerror
0d4cc9f864 cleanup: Move offset calculation to macro 2024-02-16 13:13:45 +01:00
overflowerror
7fb2f387de feat: Add to_str macro 2024-02-16 12:50:13 +01:00
overflowerror
bc600d11a2 feat: Add grammar support for numbers 2024-02-16 10:56:35 +01:00
overflowerror
62bcd95590 refactor: Move useful codegen macros to header 2024-02-16 10:32:18 +01:00
overflowerror
541fd31eb2 feat: Add plugin system 2024-02-15 21:22:34 +01:00
overflowerror
ba31675d71 feat: Prepare for proc macros 2024-02-15 20:55:41 +01:00
overflowerror
712d01a78b cleanup: Replace print_repeat function with macro 2024-02-15 20:13:34 +01:00
overflowerror
4438ff1159 cleanup: Add macros for common statements in codegen module 2024-02-15 20:10:17 +01:00
overflowerror
bcec1342e9 test: Add test case for variable that reuse regions 2024-02-15 19:51:27 +01:00
overflowerror
efd1d5a5a1 test: Add test case for multiple variables with non-overlapping regions 2024-02-15 19:48:31 +01:00
overflowerror
3d840e5f7a fix: underflow when free space matches allocated space exactly 2024-02-15 19:47:52 +01:00
overflowerror
b8dfb1727f feat: Add variable expressions 2024-02-15 19:19:17 +01:00
overflowerror
e56b3787d9 feat: Add variable declarations 2024-02-15 19:06:47 +01:00
overflowerror
8a7d713728 fix: test cases + make resets more efficient 2024-02-15 15:32:04 +01:00
overflowerror
06f977efde cleanup: Remove debug statement 2024-02-15 12:57:03 +01:00
overflowerror
36a1660d2b feat: regions can now be reused 2024-02-15 12:56:43 +01:00
overflowerror
537de0c116 fix: wrong position update in print statement 2024-02-15 12:46:27 +01:00
overflowerror
3cc79e67ef feat: Add support for string literals 2024-02-14 11:37:24 +01:00
overflowerror
177d9ea991 feat: Add strings to lexer 2024-02-14 11:18:59 +01:00
overflowerror
d4b2aaa94a fix: unnecessary newline in test case 2024-02-14 11:18:26 +01:00
overflowerror
37d337b99c style: Add newline after statements 2024-02-14 10:26:57 +01:00
overflowerror
3cb516b8c0 test: fix first test case 2024-02-14 10:20:48 +01:00
overflowerror
68c18e43e6 feat: basic codegen structure 2024-02-14 10:17:16 +01:00
overflowerror
1c915af078 fix: list, dict and band modules 2024-02-14 10:16:54 +01:00
overflowerror
179757fe3a fix: Change hash function 2024-02-11 22:10:32 +01:00
overflowerror
e5b1996845 feat: Add band module for memory and variable management 2024-02-11 22:00:41 +01:00
overflowerror
d1a8fb2229 feat: Add remove functions to list and dict 2024-02-11 21:58:12 +01:00
overflowerror
8765e9b38a feat: Add dict module 2024-02-11 21:08:52 +01:00
overflowerror
3c7fa8e351 feat: Add dynamic list module 2024-02-11 20:36:58 +01:00