|
|
96c6ba5087
|
Add offset field to the RTL operand
|
2026-03-25 22:30:07 +01:00 |
|
|
|
6256f66c34
|
Generate same instructions for global and local variable assignment
|
2026-03-22 14:42:27 +01:00 |
|
|
|
cf23f77eac
|
Allow program module body
|
2026-03-20 21:46:51 +01:00 |
|
|
|
5230d65efd
|
Reduce the number of used temporary registers
|
2026-03-20 19:00:34 +01:00 |
|
|
|
5fb3c910a6
|
Accept pseudo registers in the move instruction
|
2026-03-17 17:24:27 +01:00 |
|
|
|
953447dc23
|
Handle TAC global and local variables
|
2026-03-14 21:39:53 +01:00 |
|
|
|
cb6d970fdf
|
Rewrite elna_parser_record_type_expression without manual pointer arithmetic
|
2026-03-14 08:20:53 +01:00 |
|
|
|
f8ff357045
|
Align the stack upon function entry
|
2026-03-13 18:14:35 +01:00 |
|
|
|
e1971b469e
|
Track token source position
|
2026-03-08 18:16:06 +01:00 |
|
|
|
aab7e42260
|
Move register allocation into the allocation pass
|
2026-03-07 22:50:13 +01:00 |
|
|
|
8678a09694
|
Allow peeking and reading tokens
|
2026-03-04 18:02:12 +01:00 |
|
|
|
9cf052dfeb
|
Pass lexer state explicitly
|
2026-03-01 23:14:24 +01:00 |
|
|
|
63ecc4e71b
|
Do not generate pseudo variables for literals and local variables
|
2026-02-26 21:24:19 +01:00 |
|
|
|
68a305b00b
|
Rewrite RTL with the new singly linked list
|
2026-02-25 23:15:35 +01:00 |
|
|
|
c3d4449fc7
|
Extend ElnaErrorList to a generic ElnaList
|
2026-02-23 23:51:20 +01:00 |
|
|
|
b987dd741a
|
Use operand record in TAC expression visitor
|
2026-02-22 00:11:41 +01:00 |
|
|
|
8142680fb7
|
Allow compound types on the stack
|
2026-02-17 19:59:15 +01:00 |
|
|
|
e9bcd234e5
|
Save TAC pseudo registers in the symbol table
|
2026-02-04 23:13:15 +01:00 |
|
|
|
8e89d33c21
|
Split up the rakefile
|
2026-02-04 18:17:47 +01:00 |
|
|
|
a00f0d57b8
|
Lower global static array and record access
|
2026-01-30 23:21:19 +01:00 |
|
|
|
08b5325f58
|
Generate pseudo variables where possible
|
2026-01-28 20:51:04 +01:00 |
|
|
|
f0f0f431ba
|
Parse more than 7 procedure arguments
|
2026-01-22 16:05:34 +01:00 |
|
|
|
ec83bbcc1e
|
Use static arrays as instruction operands
|
2026-01-19 12:45:52 +01:00 |
|
|
|
cfef0550ca
|
Implement array access expressions
|
2026-01-14 19:48:28 +01:00 |
|
|
|
30e18517ab
|
Fix static arrays in type expressions
|
2026-01-10 12:11:38 +01:00 |
|
|
|
396c329b63
|
Calculate record field sizes
|
2026-01-07 17:07:20 +01:00 |
|
|
|
e4257b08be
|
Allow enumeration field types
|
2026-01-05 18:24:03 +01:00 |
|
|
|
f86d06236c
|
Remove support for hardware registers in TAC
|
2026-01-04 13:04:22 +01:00 |
|
|
|
58e708f44c
|
Implement type size trait
|
2026-01-01 21:52:14 +01:00 |
|
|
|
3db3a0f20e
|
Make designator independent of hardware registers
|
2025-12-29 00:33:32 +01:00 |
|
|
|
b4eabfae4e
|
Use pseudo register in binary expressions
|
2025-12-22 20:38:26 +01:00 |
|
|
|
3a8bf8ae88
|
Preserve passed procedure parameters
|
2025-12-17 12:00:25 +01:00 |
|
|
|
1cf71f1a5f
|
Move procedure call register allocation to RTL
|
2025-12-12 18:32:01 +01:00 |
|
|
|
305032b534
|
Assign stack offset to local variables in a later pass
|
2025-12-09 18:49:11 +01:00 |
|
|
|
1c2a8e6da8
|
Add boolean literals and type
|
2025-12-02 22:28:40 +01:00 |
|
|
|
5f7d839741
|
Replace getters and setters with field access
|
2025-11-30 19:41:16 +01:00 |
|
|
|
eb691db24a
|
Allow parsing multiple designator expressions in a row
|
2025-11-28 12:42:51 +01:00 |
|
|
|
f35bdd07c2
|
Annotate record field access expressions
|
2025-11-25 17:49:55 +01:00 |
|
|
|
c20d9b7240
|
Set expression type for enumeration values
|
2025-11-25 08:03:05 +01:00 |
|
|
|
c3eff02f8d
|
Visit expressions in the type checker
|
2025-11-22 23:27:00 +01:00 |
|
|
|
52b9152158
|
Support nil literals
|
2025-11-20 15:43:08 +01:00 |
|
|
|
fd9e8a36b5
|
Add jump_if_not_zero and bnez instructions
|
2025-11-19 13:05:51 +01:00 |
|
|
|
76f55d0796
|
Rename RTL instructions to Risc-V versions
|
2025-11-18 20:10:34 +01:00 |
|
|
|
8da9241233
|
Use custom 3-address code operands
|
2025-11-16 09:26:13 +01:00 |
|
|
|
cc3acdfd12
|
Handle immediate values in RTL
|
2025-11-13 20:40:17 +01:00 |
|
|
|
c24373927c
|
Add assembly generation stage
|
2025-11-12 20:07:24 +01:00 |
|
|
|
d144cb2101
|
Move stages into subdirectories
|
2025-11-08 11:07:39 +01:00 |
|
|
|
0b51634566
|
Generate record accessors automatically
|
2025-11-07 09:57:44 +01:00 |
|
|
|
63c211a8e9
|
Rename elna_generator to elna_tac
|
2025-11-03 16:16:48 +01:00 |
|
|
|
64dc00c71f
|
Make TAC generation stage
|
2025-11-02 08:42:39 +01:00 |
|