Commit Graph

19 Commits

Author SHA1 Message Date
Bananymous 79ca8e78b3 Optimize binary_op generation to use less stack if possible 2024-04-29 18:18:24 +03:00
Bananymous 56bcad6fc1 Generated code is now kept as list of instructions 2024-04-29 17:22:49 +03:00
Bananymous 8c8d294527 Cleanup arguments 2024-04-28 03:22:32 +03:00
Bananymous 8656d74139 Cleanup code and add arguments for compiling code 2024-04-28 03:02:25 +03:00
Bananymous 5c5942629d Implement date attribute reading
This is very inefficient implementation.

This calls strftime with correct modifier and then atoi() to
turn the result into integer
2024-04-28 02:22:32 +03:00
Bananymous 1c1d721f7c Fix attribute_{read,write} types to int 2024-04-28 02:20:35 +03:00
Bananymous 9238eae5ee Implement simple assembly transpiler for phase 4
The code produced is not optimized at all. This fills all other
aspects of phase4 except for date attribute access.
2024-04-28 01:37:24 +03:00
Bananymous 53e945fbe5 Fix true/false naming on unless_expression 2024-04-28 01:35:48 +03:00
Bananymous 04a899247e Implement proper semantic checking for full AST 2024-04-27 00:05:53 +03:00
Bananymous 7a306b7904 Add phase 3 text document 2024-04-13 23:26:13 +03:00
Bananymous 91a3a0ba2e Implement phase 3 semantic checking 2024-04-13 22:56:20 +03:00
Bananymous 004ee25273 Make comments greedy
This allows having multiple comments
2024-03-15 08:35:17 +02:00
Bananymous cb4c194420 Add exception handling for date parsing in lexer 2024-03-04 02:01:52 +02:00
Bananymous 3ae6068215 Phase 02: write required text document 2024-03-04 01:54:59 +02:00
Bananymous edadabc7ba Implement phase 02 syntax analysis 2024-03-04 01:54:42 +02:00
Bananymous d4708ae322 Add README.md for phase 1 2024-02-14 02:41:33 +02:00
Bananymous 9510c0d7a6 Implement phase 1 lexer 2024-02-14 02:32:21 +02:00
Jyke Savia 91716ae12f spring 2024 git template 2023-12-18 07:45:29 +02:00
repolainen c98ef5f0bf Template repository initialization 2023-12-15 11:12:30 +02:00