40 Commits

Author SHA1 Message Date
af9ad5b712 Implement enumeration 2025-10-05 11:13:24 +02:00
2519b3f9e9 Switch completely to the table based lexer 2025-09-29 16:55:38 +02:00
8ccb635302 Make begin optional in procedures with only return 2025-09-25 10:38:19 +02:00
0cc41f2d83 Implement elsif for if-statements 2025-09-23 22:22:38 +02:00
6e9086aa26 Support multiline comments 2025-09-20 18:22:54 +02:00
1e97b660bf Support named local variables and parameters 2025-09-18 13:01:00 +02:00
c5f2986120 Do not support assembly inline statements 2025-09-15 12:50:32 +02:00
ee3b733a81 Implement if-else 2025-09-13 21:15:09 +02:00
216dc59f0b Support comments between (* and *) 2025-09-11 13:05:04 +02:00
d16ec370dc Compile static initializers 2025-09-07 20:51:39 +02:00
e0ac57dc1d Add string literals 2025-09-05 17:17:28 +02:00
4888252274 Implement string literals 2025-09-04 22:07:01 +02:00
4b42c59649 Implement binary logical expressions 2025-09-03 19:38:10 +02:00
ed3e0e043c Implement arithmetic negation 2025-09-03 08:23:47 +02:00
44fa140769 Support simple variable assignment 2025-09-01 14:53:05 +02:00
627975775c Start over 2025-08-30 01:29:00 +02:00
e614d43ea9 Support procedure without _ in the first stage 2025-05-13 23:14:20 +02:00
1b31f532df Unify taking an identifier address 2025-05-12 23:07:02 +02:00
d85183c7a6 Support named identifiers on the right side 2025-05-12 00:06:02 +02:00
707f983fe9 Add symbol info for parameters and local variables 2025-05-10 23:24:03 +02:00
890486532c Wrap the mmap2 syscall 2025-05-09 18:42:46 +02:00
92f50fff5f Parse procedure parameters 2025-05-08 23:36:29 +02:00
3f11d63a0f Add builtin symbols 2025-05-08 00:13:07 +02:00
40701008f0 Replace _read_token with the lexer 2025-05-06 23:58:46 +02:00
3bd86e6e1c Add my homegrown cross compiler scripts 2025-05-05 23:11:52 +02:00
df1c0486c5 Fix strings search looping 2025-05-04 23:49:39 +02:00
0a0bc4e1f2 Tokenize single character symbols 2025-05-03 23:35:41 +02:00
dcfd6b1515 Properly tokenize declaration sections 2025-05-02 22:57:04 +02:00
768821c689 Create tokenization tables 2025-05-01 23:37:50 +02:00
f3a8b2626a Add semicolons separating the statements 2025-05-01 01:32:45 +02:00
23b7a1ab30 Support preserved registers as identifiers
… in expressions
2025-04-29 23:08:46 +02:00
9c66cec171 Implement if statements 2025-04-29 00:55:20 +02:00
963d32e8d1 Add return statements 2025-04-27 23:18:06 +02:00
a60e623af5 Implement simple binary expressions 2025-04-26 23:14:38 +02:00
fee1781a5b Change label and jump (now goto) syntax 2025-04-25 23:12:36 +02:00
2e0c958aa3 Compile procedure calls 2025-04-24 23:01:12 +02:00
f343296463 Compile procedure headers 2025-04-23 23:16:00 +02:00
5aaf9ded36 Support global variables and constants 2025-04-22 22:51:11 +02:00
536443b020 Add stages and a rakefile 2025-04-21 22:56:50 +02:00
148da8ed91 Initial commit 2025-04-19 23:23:53 +02:00