Commit Graph

232 Commits

Author SHA1 Message Date
Kayne Ruse
6939b216a9 Added arithmetic assign operators 2022-08-23 03:33:28 +01:00
Kayne Ruse
ce2073832b Patched a potential leak 2022-08-22 21:23:24 +01:00
Kayne Ruse
08e2adab50 #15 Fixed some of the worst memory leaks 2022-08-22 20:51:09 +01:00
solar-mist
ae32a2e7ae Fix heap use after free in compiler.c 2022-08-22 18:48:44 +00:00
solar-mist
2f538e79fe Fix heap use after free in compiler.c 2022-08-22 18:48:08 +00:00
Kayne Ruse
ebe1d712c9 Null values are always allowed 2022-08-22 18:26:05 +01:00
Kayne Ruse
5b82ed8e45 Must force a type when dealing with compound types 2022-08-22 14:27:41 +01:00
Kayne Ruse
300f8e382b Store complex types in variables 2022-08-22 13:28:44 +01:00
Kayne Ruse
45920f763c Tweaked error messages 2022-08-22 05:17:17 +01:00
Kayne Ruse
0174deb08a Resolved #16 2022-08-22 04:45:08 +01:00
Kayne Ruse
9ac16f8e80 Comment tweaks 2022-08-22 02:16:24 +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
b385b461e0 Increment and decrement operators work 2022-08-21 00:23:09 +01:00
Kayne Ruse
c64d451287 Added string concatenation 2022-08-20 22:58:50 +01:00
Kayne Ruse
80ccd119ff Changed truthiness 2022-08-20 22:43:44 +01:00
Kayne Ruse
18c5fb6add Break and continue keywords are working 2022-08-20 20:08:22 +01:00
Kayne Ruse
daceaa5492 Found a weird bug, reporting it 2022-08-20 13:44:55 +01:00
Kayne Ruse
f5e060051e While and for loops are working 2022-08-20 13:27:47 +01:00
Kayne Ruse
975ed41d14 If-then-else is working with jump statements 2022-08-20 12:38:29 +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
596a4882bc Fixed a print bug with casting 2022-08-19 19:53:55 +01:00
Kayne Ruse
97e72550da Removed under-used optimization options 2022-08-19 19:27:23 +01:00
Kayne Ruse
4f0aebc32f Type casting is working: 2022-08-19 19:24:07 +01:00
Kayne Ruse
9365541c8f Removed extra parameter 2022-08-19 17:56:35 +01:00
Kayne Ruse
16291bd1af Declare variables with a type but no value allowed 2022-08-19 17:52:24 +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
bde07f6c12 Removed debug.c and debug.h, since they're outmoded 2022-08-15 13:08:31 +01:00
Kayne Ruse
ecca17dbef Updated spec 2022-08-15 12:17:27 +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
8d12db7dbe Some declaration guards 2022-08-15 03:12:10 +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
e9ab6f3f96 Variables now persist between statements 2022-08-13 21:27:39 +01:00
Kayne Ruse
74e2907f09 Fixed array/dictionary confusion 2022-08-13 16:31:11 +01:00
Kayne Ruse
3098d75d01 Caught some loose memory 2022-08-13 16:26:51 +01:00
Kayne Ruse
b80888a7bb Removed debugging output 2022-08-13 15:57: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
998b913fc9 Got literal types represented correctly 2022-08-12 11:10:52 +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
80b64cf21e Fixed division by zero bugs 2022-08-12 07:26:58 +01:00
Kayne Ruse
42e55c1db6 Added equality check for arrays and dictionaries - needs testing 2022-08-11 20:13:01 +01:00
Kayne Ruse
00812e7a73 pre-computed identifer hashes 2022-08-11 18:36:03 +01:00