32 Commits

Author SHA1 Message Date
ec4fcbddd1 Add scripts to build a toolchain for running VM tests 2024-12-20 15:49:33 +01:00
43d0a0d699 Run tests and check expectations in 2 loops 2024-12-20 15:49:33 +01:00
2eb409577d Split result into symboltable and types 2024-12-20 15:49:33 +01:00
bdcc95dd62 Generate code for loops 2024-12-20 15:49:33 +01:00
2767c5992b Don't relax function calls 2024-12-20 15:49:33 +01:00
1b9d57e613 Parse reference and dereference operators 2024-12-20 15:49:33 +01:00
3b086a0872 Parse pointer types 2024-12-20 15:49:33 +01:00
455b52a0b0 Tokenize the input with flex 2024-12-20 15:49:33 +01:00
a3cc21cc9e Implement comparison operators 2024-12-20 15:49:33 +01:00
e0eaef7454 Include the filename in the error messages 2024-12-20 15:49:33 +01:00
8b6ccbaa6d Support multiple function arguments 2024-12-20 15:49:33 +01:00
5dfa2b3d99 Parse parameter list 2024-12-20 15:49:33 +01:00
5caa08673e Support procedure calls without arguments 2024-12-20 15:49:33 +01:00
031f6724bd Support failure tests 2024-12-20 15:49:33 +01:00
ee65360f60 Implement first intrinsics for output 2024-12-20 15:49:33 +01:00
4af742ab02 Replace ! with a function call writei 2024-12-20 15:49:33 +01:00
688557b012 Write parts of generated code directly to objects 2024-12-20 15:49:33 +01:00
b44431f9cd Implement simple if conditions 2024-12-20 15:49:33 +01:00
546e0affb4 Assign variables 2024-12-20 15:49:33 +01:00
5e8cd73705 Support compound statements 2024-12-20 15:49:33 +01:00
87150fca0b Support surrounding begin and end 2024-12-20 15:49:33 +01:00
e3e9c76ead Implement division 2024-12-20 15:49:33 +01:00
219f08fe7c Split code generation from the ui 2024-12-20 15:49:33 +01:00
f5427424f2 Get rid of the raw pointers in the parser 2024-12-20 15:49:33 +01:00
b0f33da7af Implement multiplication 2024-12-20 15:49:33 +01:00
55f443ed40 Remove the IR for know for simplicity 2024-12-20 15:49:33 +01:00
31c178ad9c Print test summary 2024-12-20 15:49:33 +01:00
40f2c1eede Extend the tester to compile sources 2024-12-20 15:49:33 +01:00
160a97930e Create a minimal interactive shell 2024-12-20 15:49:33 +01:00
bfb15f2d4a Grow stack automatically 2024-12-20 15:49:33 +01:00
7b3dac3c3b Add an argument parser 2024-12-20 15:49:33 +01:00
5490f6ce1c
Initial commit 2022-06-05 15:16:04 +02:00