|
|
f3ddf0d671
|
Save global symbols in the symbol table
|
2026-04-17 22:37:37 +02:00 |
|
|
|
5fbf413498
|
Implement aggregate assignment
|
2026-04-16 22:34:23 +02:00 |
|
|
|
a54285c71c
|
Rename RTL symbol to data
|
2026-04-11 23:02:41 +02:00 |
|
|
|
2e27f78cff
|
Subtract a number from a pointer
|
2026-04-10 10:19:49 +02:00 |
|
|
|
5bff8c38a4
|
Swap source and target operands for unary TAC operators
|
2026-04-10 06:02:14 +02:00 |
|
|
|
f26a8b639a
|
Make destination be the last argument of the TAC binary instructions
|
2026-04-09 22:11:15 +02:00 |
|
|
|
d11579d041
|
Use add_ptr instruction for array access expressions
|
2026-04-08 22:07:00 +02:00 |
|
|
|
4fb6b702b4
|
Start stage 21
|
2026-04-07 22:41:25 +02:00 |
|
|
|
7c37f7f1c7
|
Implement add_ptr instruction
|
2026-04-04 22:35:42 +02:00 |
|
|
|
8514fb4fa0
|
Implement copy_to_offset and copy_from_offset TAC instructions
|
2026-04-03 18:15:49 +02:00 |
|
|
|
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 |
|