belka
|
b891573bbc
|
Collect declarations before doing name analysis
|
2026-06-21 23:15:51 +02:00 |
|
belka
|
c8cddbe271
|
Delcare extern procedures from libc
|
2026-06-19 23:52:02 +02:00 |
|
belka
|
9515e2f77e
|
Use buffered I/O
|
2026-06-19 12:29:18 +02:00 |
|
belka
|
b58f8a8c45
|
Generate automatic label during the TAC pass
|
2026-06-17 23:56:50 +02:00 |
|
belka
|
8e3644a8b5
|
Remove unused tokens
|
2026-06-14 01:06:40 +02:00 |
|
belka
|
c2a0c80ea4
|
Check for parsing errors
|
2026-06-13 23:25:52 +02:00 |
|
belka
|
0fc5958f6e
|
Return 2 word aggregate types
|
2026-06-07 00:59:59 +02:00 |
|
belka
|
d03bded899
|
Handle string as data pointer and length in TAC
|
2026-06-04 21:59:02 +02:00 |
|
belka
|
9634ad51a2
|
Parse escape sequences in strings
|
2026-05-31 08:45:09 +02:00 |
|
belka
|
7401038971
|
Implement 2 word argument support
|
2026-05-29 01:05:34 +02:00 |
|
belka
|
b09ddfcbbe
|
Remove need for trailing semicolons
|
2026-05-27 14:05:17 +02:00 |
|
belka
|
e814ebae83
|
Make booleans a character to 1-byte types
|
2026-05-25 16:48:48 +02:00 |
|
belka
|
90a48de0a5
|
Implement 1 byte variable operations
|
2026-05-23 00:42:02 +02:00 |
|
belka
|
1802aa21d8
|
Implement cast expressions
|
2026-05-13 22:52:07 +02:00 |
|
belka
|
eaa7fc2ca2
|
Document operator and delimiters
|
2026-05-11 23:07:50 +02:00 |
|
belka
|
67fdf3d233
|
Describe the comment syntax
|
2026-05-10 11:02:48 +02:00 |
|
belka
|
92e88cfcb2
|
Implement aggregate values assignment
|
2026-05-07 07:57:16 +02:00 |
|
belka
|
eaef813be1
|
Implement copy_to_offset for aggregate sources
|
2026-05-05 23:24:44 +02:00 |
|
belka
|
ebb2af7ae9
|
Let elna_tac_make_variable accept an ElnaTacOperand type
|
2026-05-01 21:11:51 +02:00 |
|
belka
|
14d130f285
|
Allow assigning variables refering to aggregates
|
2026-04-29 22:57:01 +02:00 |
|
belka
|
2342dd8429
|
Loading static variable address at a later, allocation stage
|
2026-04-24 22:49:52 +02:00 |
|
belka
|
89672f6d74
|
Process global variables as pseudo in the move instruction
|
2026-04-22 22:01:16 +02:00 |
|
belka
|
f3ddf0d671
|
Save global symbols in the symbol table
|
2026-04-17 22:37:37 +02:00 |
|
belka
|
5fbf413498
|
Implement aggregate assignment
|
2026-04-16 22:34:23 +02:00 |
|
belka
|
a54285c71c
|
Rename RTL symbol to data
|
2026-04-11 23:02:41 +02:00 |
|
belka
|
2e27f78cff
|
Subtract a number from a pointer
|
2026-04-10 10:19:49 +02:00 |
|
belka
|
5bff8c38a4
|
Swap source and target operands for unary TAC operators
|
2026-04-10 06:02:14 +02:00 |
|
belka
|
f26a8b639a
|
Make destination be the last argument of the TAC binary instructions
|
2026-04-09 22:11:15 +02:00 |
|
belka
|
d11579d041
|
Use add_ptr instruction for array access expressions
|
2026-04-08 22:07:00 +02:00 |
|
belka
|
4fb6b702b4
|
Start stage 21
|
2026-04-07 22:41:25 +02:00 |
|
belka
|
7c37f7f1c7
|
Implement add_ptr instruction
|
2026-04-04 22:35:42 +02:00 |
|
belka
|
8514fb4fa0
|
Implement copy_to_offset and copy_from_offset TAC instructions
|
2026-04-03 18:15:49 +02:00 |
|
belka
|
96c6ba5087
|
Add offset field to the RTL operand
|
2026-03-25 22:30:07 +01:00 |
|
belka
|
6256f66c34
|
Generate same instructions for global and local variable assignment
|
2026-03-22 14:42:27 +01:00 |
|
belka
|
cf23f77eac
|
Allow program module body
|
2026-03-20 21:46:51 +01:00 |
|
belka
|
5230d65efd
|
Reduce the number of used temporary registers
|
2026-03-20 19:00:34 +01:00 |
|
belka
|
5fb3c910a6
|
Accept pseudo registers in the move instruction
|
2026-03-17 17:24:27 +01:00 |
|
belka
|
953447dc23
|
Handle TAC global and local variables
|
2026-03-14 21:39:53 +01:00 |
|
belka
|
cb6d970fdf
|
Rewrite elna_parser_record_type_expression without manual pointer arithmetic
|
2026-03-14 08:20:53 +01:00 |
|
belka
|
f8ff357045
|
Align the stack upon function entry
|
2026-03-13 18:14:35 +01:00 |
|
belka
|
e1971b469e
|
Track token source position
|
2026-03-08 18:16:06 +01:00 |
|
belka
|
aab7e42260
|
Move register allocation into the allocation pass
|
2026-03-07 22:50:13 +01:00 |
|
belka
|
8678a09694
|
Allow peeking and reading tokens
|
2026-03-04 18:02:12 +01:00 |
|
belka
|
9cf052dfeb
|
Pass lexer state explicitly
|
2026-03-01 23:14:24 +01:00 |
|
belka
|
63ecc4e71b
|
Do not generate pseudo variables for literals and local variables
|
2026-02-26 21:24:19 +01:00 |
|
belka
|
68a305b00b
|
Rewrite RTL with the new singly linked list
|
2026-02-25 23:15:35 +01:00 |
|
belka
|
c3d4449fc7
|
Extend ElnaErrorList to a generic ElnaList
|
2026-02-23 23:51:20 +01:00 |
|
belka
|
b987dd741a
|
Use operand record in TAC expression visitor
|
2026-02-22 00:11:41 +01:00 |
|
belka
|
8142680fb7
|
Allow compound types on the stack
|
2026-02-17 19:59:15 +01:00 |
|
belka
|
512a57ccca
|
Add statement section description
|
2026-02-15 19:29:10 +01:00 |
|