41 Commits

Author SHA1 Message Date
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 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 cf23f77eac Allow program module body 2026-03-20 21:46:51 +01:00
belka b987dd741a Use operand record in TAC expression visitor 2026-02-22 00:11:41 +01:00
belka 2061fece3d Migrate documentation to LaTeX 2026-02-10 00:13:05 +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 cfef0550ca Implement array access expressions 2026-01-14 19:48:28 +01:00
belka 396c329b63 Calculate record field sizes 2026-01-07 17:07:20 +01:00
belka e4257b08be Allow enumeration field types 2026-01-05 18:24:03 +01:00
belka 955161b36e Use ninja for build 2026-01-04 21:04:43 +01:00
belka f86d06236c Remove support for hardware registers in TAC 2026-01-04 13:04:22 +01:00
belka 23b6f074c7 Merge GCC frontend into the branch 2025-12-02 17:14:18 +01:00
belka b5b129a90c Build documentation 2025-11-25 16:20:48 +01:00
belka c20d9b7240 Set expression type for enumeration values 2025-11-25 08:03:05 +01:00
belka d144cb2101 Move stages into subdirectories 2025-11-08 11:07:39 +01:00
belka 0b51634566 Generate record accessors automatically 2025-11-07 09:57:44 +01:00
belka 2519b3f9e9 Switch completely to the table based lexer 2025-09-29 16:55:38 +02:00
belka ee3b733a81 Implement if-else 2025-09-13 21:15:09 +02:00
belka 216dc59f0b Support comments between (* and *) 2025-09-11 13:05:04 +02:00
belka d16ec370dc Compile static initializers 2025-09-07 20:51:39 +02:00
belka e0ac57dc1d Add string literals 2025-09-05 17:17:28 +02:00
belka ed3e0e043c Implement arithmetic negation 2025-09-03 08:23:47 +02:00
belka 44fa140769 Support simple variable assignment 2025-09-01 14:53:05 +02:00
belka 627975775c Start over 2025-08-30 01:29:00 +02:00
belka 707f983fe9 Add symbol info for parameters and local variables 2025-05-10 23:24:03 +02:00
belka 3bd86e6e1c Add my homegrown cross compiler scripts 2025-05-05 23:11:52 +02:00
belka 0a0bc4e1f2 Tokenize single character symbols 2025-05-03 23:35:41 +02:00
belka dcfd6b1515 Properly tokenize declaration sections 2025-05-02 22:57:04 +02:00
belka f3a8b2626a Add semicolons separating the statements 2025-05-01 01:32:45 +02:00
belka 23b7a1ab30 Support preserved registers as identifiers
… in expressions
2025-04-29 23:08:46 +02:00
belka 9c66cec171 Implement if statements 2025-04-29 00:55:20 +02:00
belka a60e623af5 Implement simple binary expressions 2025-04-26 23:14:38 +02:00
belka fee1781a5b Change label and jump (now goto) syntax 2025-04-25 23:12:36 +02:00
belka f343296463 Compile procedure headers 2025-04-23 23:16:00 +02:00
belka 536443b020 Add stages and a rakefile 2025-04-21 22:56:50 +02:00