Kayne Ruse
5300e2ceec
Gonna start unit testing to resolve issues
2022-08-28 07:03:12 +01:00
Kayne Ruse
e523a6f60a
Interpreter adopts inner interpreter panic state on assert failure
2022-08-27 12:07:41 +01:00
Kayne Ruse
90e5a5d08b
Rest parameter working
2022-08-27 11:59:54 +01:00
Kayne Ruse
7bd67765aa
Functions take a set number of arguments
2022-08-26 12:48:10 +01:00
Kayne Ruse
ffc50ceafb
Closures work
2022-08-26 03:54:58 +01:00
Kayne Ruse
0c67ce6476
Stopgap limit on return count
2022-08-26 02:14:05 +01:00
Kayne Ruse
a4f1e048e9
Function calls, with args and single returns are working
2022-08-26 01:48:26 +01:00
Kayne Ruse
041fe99e01
Function declaration seems to work
2022-08-25 15:19:08 +01:00
Kayne Ruse
df6bd58b1a
Types are first-class citizens
2022-08-22 01:59:29 +01:00
Kayne Ruse
9c995830e2
Resolved #14
2022-08-21 00:51:28 +01:00
Kayne Ruse
dc1914b9ed
Resolved #13
2022-08-21 00:36:05 +01:00
Kayne Ruse
daceaa5492
Found a weird bug, reporting it
2022-08-20 13:44:55 +01:00
Kayne Ruse
8309535bbe
Fixed negation issue, moved some scripts to test/
2022-08-20 07:20:29 +01:00
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