Commit Graph

79 Commits

Author SHA1 Message Date
Kayne Ruse
2bf721867b Comparions and the ! operator work 2022-08-20 06:20:20 +01:00
Kayne Ruse
4f0aebc32f Type casting is working: 2022-08-19 19:24:07 +01:00
Kayne Ruse
574a864dd0 Reworked the type system, types now have a single value 2022-08-17 17:39:33 +01:00
Kayne Ruse
7e01ead6ff Fixed some issues in scope 2022-08-15 10:15:24 +01:00
Kayne Ruse
6b834ca6d1 Type checking in place 2022-08-15 03:52:44 +01:00
Kayne Ruse
4cda75df11 Added a limit to string and identifier lengths 2022-08-15 02:53:30 +01:00
Kayne Ruse
9e899f5974 Got scope-based variable shadowing working 2022-08-14 21:32:13 +01:00
Kayne Ruse
4aa6f75ea7 Expression statements and assignemnts are working 2022-08-14 19:57:24 +01:00
Kayne Ruse
633df5f376 Tweaked example.toy 2022-08-13 16:34:07 +01:00
Kayne Ruse
3098d75d01 Caught some loose memory 2022-08-13 16:26:51 +01:00
Kayne Ruse
afad0d99cb I think var declarations are working correctly; no type checking yet 2022-08-13 15:57:30 +01:00
Kayne Ruse
55aa6eb273 The value is displaying correctly, but not the type 2022-08-12 17:27:57 +01:00
Kayne Ruse
7424a681d6 Fixed a segfault 2022-08-12 15:14:21 +01:00
Kayne Ruse
53f0996fd1 Types are being read into the variable declaration, not yet used 2022-08-12 15:06:41 +01:00
Kayne Ruse
2f18989f25 Types now exist, but they're not being embedded into bytecode yet 2022-08-12 09:11:43 +01:00
Kayne Ruse
32ac46d9a0 Fiddled with the .toy file 2022-08-11 12:05:04 +01:00
Kayne Ruse
603d9d2b06 Recursive arrays and dictionaries! 2022-08-11 09:24:13 +01:00
Kayne Ruse
380b7a3699 fixed a bug 2022-08-10 18:22:02 +01:00
Kayne Ruse
67f7b3e436 Arrays and dictionaries have been implemented, read more
The arrays and dictionaries are currently being printed out correctly,
afaik. This means I should be able to go back and work on the type
system, assuming nothing happens.
2022-08-10 17:42:04 +01:00
Kayne Ruse
9603baeb0a Added console colors, tweaked help menu 2022-08-09 13:51:03 +01:00
Kayne Ruse
6d5549fc8e Added scopes using '{}' symbols, read more
I've also added a new literal type called 'identifier'. This will be
used for variable names, and has a type mask embedded in it.
2022-08-08 15:02:12 +01:00
Kayne Ruse
9a415738d9 Implemented groupings 2022-08-07 15:04:19 +01:00
Kayne Ruse
6b33895f75 Added optimisation levels 2022-08-06 05:59:29 +01:00
Kayne Ruse
577d1965cb Fixed a missing string terminator 2022-08-05 17:14:33 +01:00
Kayne Ruse
bfaf4e83bb Fixed a string comparison bug 2022-08-05 17:11:21 +01:00
Kayne Ruse
8f2ba5cd50 Tested long literals, fixed a dissection bug 2022-08-05 16:47:09 +01:00
Kayne Ruse
cd05d5d84a Got the compiler partially working 2022-08-05 16:29:12 +01:00
Kayne Ruse
1ff32fe101 Lexer partially working 2022-08-03 14:06:54 +01:00
Kayne Ruse
3cad70dddd Wrote a basic lexer 2022-08-03 09:35:20 +01:00