Commit graph

507 commits

Author SHA1 Message Date
2d045759f2
Moved AST generation to its own package 2024-07-01 15:05:15 +02:00
8453273d73
Implemented an abstract syntax tree 2024-06-30 22:54:59 +02:00
3b29d4cdee
Reorganized functions 2024-06-30 14:14:24 +02:00
ef7deb30b7
Implemented definitions 2024-06-30 12:28:43 +02:00
aba9cf2412
Implemented compilation finished events 2024-06-30 11:41:59 +02:00
b8c011d742
Improved variable lifetime tracking 2024-06-30 00:17:14 +02:00
1510f88165
Added tests for examples 2024-06-29 21:40:14 +02:00
a0edc45e19
Implemented return values 2024-06-29 21:06:59 +02:00
67b3a3d820
Cleaned up function type 2024-06-29 11:49:32 +02:00
f870a5f1f8
Added more tests 2024-06-28 23:13:55 +02:00
b20a79080f
Reordered tokenizer cases 2024-06-28 21:11:05 +02:00
b8d7e2444b
Added single line comments 2024-06-28 20:29:07 +02:00
0553706891
Implemented invalid character checks 2024-06-28 19:54:26 +02:00
8362d0a91a
Improved tokenizer benchmarks 2024-06-28 19:33:02 +02:00
7f8579fa11
Improved benchmarks 2024-06-28 15:34:25 +02:00
81cc7e6a75
Improved performance 2024-06-28 11:45:54 +02:00
9867550c11
Reduced memory usage 2024-06-28 10:28:23 +02:00
d77660cdb8
Added more tests 2024-06-27 21:39:04 +02:00
b6947dab18
Cleaned up linter warnings 2024-06-27 20:54:07 +02:00
c67cb81830
Improved CLI 2024-06-27 20:30:33 +02:00
8beed6dd21
Implemented dead code elimination 2024-06-27 17:36:45 +02:00
10d195d286
Improved verbose output 2024-06-27 17:13:48 +02:00
be81c5c86b
Added assembler syntax highlighting 2024-06-27 16:05:23 +02:00
e7208b8ba3
Simplified test program 2024-06-27 15:26:18 +02:00
6b5bc22ec6
Added simple variable lifetimes 2024-06-27 15:23:02 +02:00
9e3112ad52
Added call registers 2024-06-27 14:25:53 +02:00
8867845310
Added push and pop instructions 2024-06-27 12:59:41 +02:00
0d8891d8a7
Implemented parameters 2024-06-27 10:12:41 +02:00
51a2308179
Enforced consistent naming 2024-06-26 23:24:11 +02:00
0394d68bdf
Implemented complex expressions 2024-06-26 22:51:14 +02:00
03a7651cad
Added build result struct 2024-06-26 20:16:18 +02:00
2676ac1ebb
Added tokenizer benchmark 2024-06-26 18:49:03 +02:00
8464ed3df1
Improved test coverage 2024-06-26 15:24:10 +02:00
c5b61c1148
Improved assembler 2024-06-26 14:14:11 +02:00
47d94acd43
Added more tests 2024-06-26 12:55:22 +02:00
871ebc147f
Improved function names 2024-06-25 23:37:14 +02:00
37e222e022
Implemented simple expressions 2024-06-25 20:50:06 +02:00
c437b1d0f8
Implemented assignments 2024-06-25 17:09:25 +02:00
e736a2bde4
Reversed parameter order 2024-06-25 16:31:59 +02:00
e9c46bc3cd
Implemented register push and pop 2024-06-25 16:19:47 +02:00
3aedcef9eb
Implemented division 2024-06-25 00:19:01 +02:00
432397043d
Implemented multiplication 2024-06-24 22:43:01 +02:00
81fcb50e77
Improved x64 encoder 2024-06-24 21:54:03 +02:00
c1d3e0d11b
Added more tests 2024-06-24 17:51:24 +02:00
9e3af3b01c
Implemented subtraction 2024-06-24 16:55:15 +02:00
0657b88945
Implemented addition 2024-06-24 14:14:07 +02:00
b6722c5482
Implemented infinite loops 2024-06-24 11:00:32 +02:00
121f77fe76
Implemented block instruction parsing 2024-06-24 00:03:26 +02:00
a9d43a8716
Implemented register to register instructions 2024-06-23 20:26:53 +02:00
1c27f0cad2
Reduced number of tokens processed 2024-06-23 14:46:04 +02:00