|
9df075ca9d
|
Generate a bison parser
|
2024-07-07 18:50:15 +02:00 |
|
|
0dbbd3f403
|
Check assignment type
|
2024-07-07 18:41:54 +02:00 |
|
|
4dbc5aca0d
|
Type check if and while conditions
|
2024-06-05 19:53:04 +02:00 |
|
|
7845c700d8
|
Type check binary expressions
|
2024-05-28 23:39:04 +02:00 |
|
|
83c16e7ad9
|
Add missing virtual distructors
|
2024-05-27 22:58:54 +02:00 |
|
|
db0077e3a8
|
Add a tester script
|
2024-05-27 11:03:23 +02:00 |
|
|
8ea09ff3b4
|
Remove libc dependency for the generated code
|
2024-05-23 01:13:16 +02:00 |
|
|
189b2e6054
|
Determine the build target automatically
|
2024-05-20 01:42:56 +02:00 |
|
|
ebd68d7878
|
Introduce a procedure type
|
2024-05-19 00:43:59 +02:00 |
|
|
9f2c5ad9e3
|
Type check pointer dereferencing
|
2024-05-16 21:01:11 +02:00 |
|
|
68264016ce
|
Add scripts to build a toolchain for running VM tests
|
2024-05-14 22:09:05 +02:00 |
|
|
51fa3efc32
|
Run tests and check expectations in 2 loops
|
2024-05-05 01:52:08 +02:00 |
|
|
4d399e10db
|
Split result into symboltable and types
|
2024-05-01 10:39:18 +02:00 |
|
|
f48fae4878
|
Generate code for loops
|
2024-04-18 12:15:26 +02:00 |
|
|
9c7614dd25
|
Don't relax function calls
|
2024-04-12 00:07:46 +02:00 |
|
|
159a3a4f38
|
Parse reference and dereference operators
|
2024-04-10 22:43:12 +02:00 |
|
|
60acf3b9a3
|
Parse pointer types
|
2024-04-07 23:39:56 +02:00 |
|
|
aa3df7f4d3
|
Tokenize the input with flex
|
2024-04-06 16:10:07 +02:00 |
|
|
4251c361c7
|
Implement comparison operators
|
2024-04-02 09:07:26 +02:00 |
|
|
3c19bf1504
|
Include the filename in the error messages
|
2024-03-30 00:21:58 +01:00 |
|
|
e04a816024
|
Support multiple function arguments
|
2024-03-29 11:01:19 +01:00 |
|
|
07521f2b58
|
Parse parameter list
|
2024-03-28 00:55:13 +01:00 |
|
|
44e32760ca
|
Support procedure calls without arguments
|
2024-03-26 23:04:20 +01:00 |
|
|
f2a20c2825
|
Support failure tests
|
2024-03-23 14:53:26 +01:00 |
|
|
7e5f7f492d
|
Implement first intrinsics for output
|
2024-03-20 17:56:38 +01:00 |
|
|
263b868a45
|
Replace ! with a function call writei
|
2024-03-19 09:35:50 +01:00 |
|
|
bfabdb1d08
|
Write parts of generated code directly to objects
|
2024-03-18 09:55:25 +01:00 |
|
|
17b0650f77
|
Implement simple if conditions
|
2024-03-17 01:00:44 +01:00 |
|
|
8240443cd1
|
Assign variables
|
2024-03-14 08:52:45 +01:00 |
|
|
42d2038c4d
|
Support compound statements
|
2024-03-11 10:43:26 +01:00 |
|
|
2d31c77c14
|
Support surrounding begin and end
|
2024-03-10 08:50:55 +01:00 |
|
|
1af995eafd
|
Implement division
|
2024-03-09 08:36:07 +01:00 |
|
|
4ac29669ad
|
Split code generation from the ui
|
2024-03-07 09:15:11 +01:00 |
|
|
f84fd91426
|
Get rid of the raw pointers in the parser
|
2024-03-06 07:51:56 +01:00 |
|
|
632dc53b53
|
Implement multiplication
|
2024-03-03 13:11:39 +01:00 |
|
|
223f54d38d
|
Remove the IR for know for simplicity
|
2024-03-01 10:13:55 +01:00 |
|
|
4d46fc6b4d
|
Print test summary
|
2024-02-28 16:18:39 +01:00 |
|
|
03a72fc583
|
Extend the tester to compile sources
|
2024-02-25 15:16:19 +01:00 |
|
|
ad29dbdc14
|
Create a minimal interactive shell
|
2024-02-22 21:29:25 +01:00 |
|
|
86d579e8d5
|
Grow stack automatically
|
2024-02-18 11:26:57 +01:00 |
|
|
df2494e145
|
Update the toolchain
|
2024-02-15 15:13:47 +01:00 |
|
|
0d3453e7a9
|
Generate IR in a visitor
|
2022-06-25 15:24:43 +02:00 |
|
|
b785147ded
|
Implement subtraction
|
2022-06-15 19:00:54 +02:00 |
|
|
799c3fd89c
|
Put + operator inbetween
|
2022-06-14 23:06:02 +02:00 |
|
|
fbbabe115f
|
Save ELF symbols in a hash table
|
2022-06-13 17:46:02 +02:00 |
|
|
72a60be386
|
Write an IR visitor
|
2022-06-12 23:48:50 +02:00 |
|
|
3f1492947c
|
Implement symbol table for functions
|
2022-06-11 22:52:13 +02:00 |
|
|
f5c4a27a6d
|
Implement a RISC-V backend
|
2022-06-11 00:38:03 +02:00 |
|
|
77857ad118
|
Add intermediate assembler representation
|
2022-06-08 08:34:44 +02:00 |
|
|
473cd4e498
|
Abstract the file reading
|
2022-06-06 22:56:28 +02:00 |
|