Commit Graph

25 Commits

Author SHA1 Message Date
8a0751dfb0
Add a state monad transformer to the Elf generator 2024-09-10 02:03:20 +02:00
bb33423c31
Create empty relocations section 2024-09-09 23:10:37 +02:00
1cbbef19af
Stub the implementation for all phases 2024-09-08 02:08:13 +02:00
042e4e8714
Add command line parser 2024-09-05 23:18:48 +02:00
be73032b93
Add rake task to build a cross toolchain 2024-09-04 22:05:55 +02:00
ad0bf43ba5
Create numerated temporary variables 2024-08-30 14:55:40 +02:00
0c45a9886a
Add Intermediate monad stack for the code generation 2024-08-27 14:21:50 +02:00
2bd965bd5c
Generate IR for while and calls 2024-08-18 20:13:59 +02:00
6a54b66421
Generate the code for IfStatement 2024-08-17 14:16:16 +02:00
d405072dbf
Access multidimensional arrays 2024-08-15 20:13:56 +02:00
f78592378a
Add IR quadruple definitions 2024-08-12 21:00:52 +02:00
38a8d6811c
Write parameter info into procedure info 2024-08-12 00:50:36 +02:00
5e7683af32
Check types 2024-08-09 20:16:41 +02:00
18a299098c
Typecheck statements 2024-08-08 19:11:24 +02:00
573990551c
Determine an expression type 2024-08-07 22:47:35 +02:00
385322235d
Look for undefined symbols 2024-08-06 17:02:18 +02:00
a1863147f8
Don't allow identifier duplicates 2024-08-05 22:56:35 +02:00
9cb9ab536f Create procedure local symbol table 2024-08-04 12:23:19 +02:00
5f8d9abe76 Require trailing semicolon for type declarations 2024-08-02 00:09:57 +03:00
d4471ca2fa Collect types into the global symbol table 2024-07-31 00:49:16 +03:00
92990e52f0 Add typeExpression to type converter 2024-07-29 08:26:47 +03:00
ce7652c618
Add types for name analysis 2024-07-26 12:22:07 +02:00
bf774475cc
Parse all statements 2024-07-25 01:39:53 +02:00
947c5aa7ef Parse expressions 2024-07-24 01:22:20 +02:00
9d1f038594
Split in lib and tests 2024-07-23 22:44:42 +02:00