|
b8387ec23c
|
Type check if and while conditions
|
2024-12-20 15:49:33 +01:00 |
|
|
3a6de872e0
|
Type check binary expressions
|
2024-12-20 15:49:33 +01:00 |
|
|
71d675edde
|
Add missing virtual distructors
|
2024-12-20 15:49:33 +01:00 |
|
|
107cc1043d
|
Add a tester script
|
2024-12-20 15:49:33 +01:00 |
|
|
ec20492803
|
Remove libc dependency for the generated code
|
2024-12-20 15:49:33 +01:00 |
|
|
a614d96ac5
|
Determine the build target automatically
|
2024-12-20 15:49:33 +01:00 |
|
|
f675470fa9
|
Introduce a procedure type
|
2024-12-20 15:49:33 +01:00 |
|
|
652070d4ad
|
Type check pointer dereferencing
|
2024-12-20 15:49:33 +01:00 |
|
|
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 |
|