Commit Graph

14 Commits

Author SHA1 Message Date
Bananymous 999cc0d5d1 Fix bugs about bound checking for immediate 2024-04-29 22:00:41 +03:00
Bananymous db4f37709f Optimize consecutive mov/add/sub instructions to single instruction 2024-04-29 22:00:41 +03:00
Bananymous 1e8bdf6cd2 Optimize addition/subtraction of immediate 1 and zeroring registers 2024-04-29 21:34:44 +03:00
Bananymous 2141a17d1e Optimize artithmetic with immediate values 2024-04-29 21:19:16 +03:00
Bananymous 351634e512 Fix bug with temporary registers and optimize binary_op code gen 2024-04-29 21:03:39 +03:00
Bananymous 69ae83efcb Implement basic optimization step for generated assembly 2024-04-29 18:18:42 +03:00
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 04a899247e Implement proper semantic checking for full AST 2024-04-27 00:05:53 +03:00