126 Commits

Author SHA1 Message Date
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
belka 80364d429e Remove the old version code 2026-02-15 13:17:33 +01:00
belka fe055aa1ae Document expressions 2026-02-14 21:25:33 +01:00
belka d7c27f1c63 Split documentation chapters into files 2026-02-12 23:44:22 +01:00
belka b37eb0690c Remove the old, not self-hosted frontend 2026-02-12 14:50:09 +01:00
belka 2061fece3d Migrate documentation to LaTeX 2026-02-10 00:13:05 +01:00
belka e9bcd234e5 Save TAC pseudo registers in the symbol table 2026-02-04 23:13:15 +01:00
belka 8e89d33c21 Split up the rakefile 2026-02-04 18:17:47 +01:00
belka 39197fe88a Remove GCC glue code 2026-02-01 19:01:06 +01:00
belka a00f0d57b8 Lower global static array and record access 2026-01-30 23:21:19 +01:00
belka 08b5325f58 Generate pseudo variables where possible 2026-01-28 20:51:04 +01:00
belka f0f0f431ba Parse more than 7 procedure arguments 2026-01-22 16:05:34 +01:00
belka ec83bbcc1e Use static arrays as instruction operands 2026-01-19 12:45:52 +01:00
belka cfef0550ca Implement array access expressions 2026-01-14 19:48:28 +01:00
belka 30e18517ab Fix static arrays in type expressions 2026-01-10 12:11:38 +01:00