38 Commits

Author SHA1 Message Date
30fb21c4eb Remove unused section writer 2024-12-20 16:08:45 +01:00
c390b6b28e Check assignment type 2024-12-20 16:08:45 +01:00
adfa28be47 Type check if and while conditions 2024-12-20 16:08:45 +01:00
6b89074f58 Type check binary expressions 2024-12-20 16:08:45 +01:00
eaaf782392 Add missing virtual distructors 2024-12-20 16:08:45 +01:00
e748ae9c77 Add a tester script 2024-12-20 16:08:45 +01:00
b8e2be6b38 Remove libc dependency for the generated code 2024-12-20 16:08:45 +01:00
cf5dc3ec31 Determine the build target automatically 2024-12-20 16:08:45 +01:00
27065714b9 Introduce a procedure type 2024-12-20 16:08:45 +01:00
3f13adcfe7 Type check pointer dereferencing 2024-12-20 16:08:45 +01:00
30e84f1cdd Add scripts to build a toolchain for running VM tests 2024-12-20 16:08:45 +01:00
4be997abcf Run tests and check expectations in 2 loops 2024-12-20 16:08:45 +01:00
052dda78f8 Split result into symboltable and types 2024-12-20 16:08:45 +01:00
aa5579f234 Generate code for loops 2024-12-20 16:08:45 +01:00
c6ef27d809 Don't relax function calls 2024-12-20 16:08:45 +01:00
ad45de9049 Parse reference and dereference operators 2024-12-20 16:08:45 +01:00
986bcdd0c7 Parse pointer types 2024-12-20 16:08:45 +01:00
0876e25f90 Tokenize the input with flex 2024-12-20 16:08:45 +01:00
0cad759415 Implement comparison operators 2024-12-20 16:08:45 +01:00
33a951687b Include the filename in the error messages 2024-12-20 16:08:45 +01:00
5cf0863e0a Support multiple function arguments 2024-12-20 16:08:45 +01:00
90430c47f4 Parse parameter list 2024-12-20 16:08:45 +01:00
12869f0ec7 Support procedure calls without arguments 2024-12-20 16:08:45 +01:00
30f80bcb88 Support failure tests 2024-12-20 16:08:45 +01:00
a78e08521e Implement first intrinsics for output 2024-12-20 16:08:45 +01:00
c210c55a17 Replace ! with a function call writei 2024-12-20 16:08:45 +01:00
e7d8f9116a Write parts of generated code directly to objects 2024-12-20 16:08:45 +01:00
27197c7725 Implement simple if conditions 2024-12-20 16:08:45 +01:00
99a1ef5f96 Assign variables 2024-12-20 16:08:45 +01:00
25657ac36d Support compound statements 2024-12-20 16:08:45 +01:00
2c396ece17 Support surrounding begin and end 2024-12-20 16:08:45 +01:00
a3e3be5ec7 Implement division 2024-12-20 16:08:45 +01:00
fe805ca893 Split code generation from the ui 2024-12-20 16:08:45 +01:00
4dbf3ddb47 Get rid of the raw pointers in the parser 2024-12-20 16:08:45 +01:00
d2516cb76c Implement multiplication 2024-12-20 16:08:45 +01:00
3a6d89767b Remove the IR for know for simplicity 2024-12-20 16:08:45 +01:00
f37700a02d Print test summary 2024-12-20 16:08:45 +01:00
5490f6ce1c
Initial commit 2022-06-05 15:16:04 +02:00