Kayne Ruse
151f681954
calls within parameter lists
2022-08-26 13:03:18 +01:00
Kayne Ruse
7bd67765aa
Functions take a set number of arguments
2022-08-26 12:48:10 +01:00
Kayne Ruse
f36289786e
Fixed a repl bug
2022-08-26 11:59:09 +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
08e2adab50
#15 Fixed some of the worst memory leaks
2022-08-22 20:51:09 +01:00
solar-mist
2f538e79fe
Fix heap use after free in compiler.c
2022-08-22 18:48:08 +00: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
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
b385b461e0
Increment and decrement operators work
2022-08-21 00:23:09 +01:00
Kayne Ruse
18c5fb6add
Break and continue keywords are working
2022-08-20 20:08:22 +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
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
9e899f5974
Got scope-based variable shadowing working
2022-08-14 21:32:13 +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
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
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
5c93bf663a
Tweaked string quotes
2022-08-11 13:45:13 +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
6a883bde96
Parser is reading variable declarations, read more
...
This is an incomplete process. It's supposed to be robust enough to
support the types of arrays and dictionaries, but arrays and
dictionaries aren't implemented in the literals yet, so that's my next
task.
I'll come back to variable declarations later.
2022-08-10 11:01:32 +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
3fb952e3c2
Minor tweaks
2022-08-08 03:42:48 +01:00
Kayne Ruse
ceeca9d40f
Fiddling with -Wpedantic
2022-08-07 21:39:21 +01:00
Kayne Ruse
3b89e216cc
Fixed an non-optimized grouping bug
2022-08-07 16:46:54 +01:00
Kayne Ruse
9a415738d9
Implemented groupings
2022-08-07 15:04:19 +01:00
Kayne Ruse
d7fda480fd
Added assert keyword, with re-routable print and assert outputs
2022-08-07 12:26:04 +01:00
Kayne Ruse
7a3986af33
Wrote the interpreter
2022-08-06 07:58:32 +01:00
Kayne Ruse
bfaf4e83bb
Fixed a string comparison bug
2022-08-05 17:11:21 +01:00
Kayne Ruse
cd05d5d84a
Got the compiler partially working
2022-08-05 16:29:12 +01:00