K. Lange
|
32d7d6f666
|
fix scanner issue with EOF after indentation
|
2020-12-29 12:24:48 +09:00 |
|
K. Lange
|
a0d52a61f2
|
add an exception mechanism
|
2020-12-29 11:00:12 +09:00 |
|
K. Lange
|
ba73f5a32a
|
move stray test into test/
|
2020-12-29 08:25:36 +09:00 |
|
K. Lange
|
0f7bc84ad3
|
for loops must open a new scope around their blocks as well or they won't pop locals before the loop finishes
|
2020-12-29 08:23:18 +09:00 |
|
K. Lange
|
9a580d6720
|
Add binding to configure debug tracing at runtime
|
2020-12-29 08:22:54 +09:00 |
|
K. Lange
|
56e7f3aa02
|
Not actually slower to include the debug branches
|
2020-12-29 08:22:37 +09:00 |
|
K Lange
|
e9261a2f56
|
change size of integers to long
|
2020-12-28 16:32:40 +09:00 |
|
K Lange
|
b32dde0431
|
add % operator
|
2020-12-28 16:32:27 +09:00 |
|
K Lange
|
27f888543d
|
let's build things for a faster vm by default
|
2020-12-28 16:31:53 +09:00 |
|
K. Lange
|
d8d03a2c4c
|
pause gc around bound native calls
|
2020-12-28 22:18:30 +09:00 |
|
K. Lange
|
067d8cdb65
|
fix upvalue storage being completely broken when we move the stack
|
2020-12-28 22:02:39 +09:00 |
|
K. Lange
|
2432135b15
|
clean up repl highlighter
|
2020-12-28 21:31:46 +09:00 |
|
K. Lange
|
ae2b00bcfa
|
int32_t is long int on toaru? I should probably fix that
|
2020-12-28 21:08:55 +09:00 |
|
K. Lange
|
724e44655d
|
Make print statement force args to strings
|
2020-12-28 20:47:16 +09:00 |
|
K. Lange
|
3ba8025eeb
|
lots of fixups so we can create dicts from the vm
|
2020-12-28 20:38:26 +09:00 |
|
K. Lange
|
b3ad2e1f22
|
Second pass at cleaning up built-ins
|
2020-12-28 19:26:01 +09:00 |
|
K. Lange
|
cdcbf6cf54
|
First pass at module/builtin cleanup
|
2020-12-28 19:01:28 +09:00 |
|
K Lange
|
86d2a80a6d
|
make String.length a method
|
2020-12-28 11:29:58 +09:00 |
|
K Lange
|
5a5c597033
|
little repl improvements
|
2020-12-28 11:25:42 +09:00 |
|
K Lange
|
ac15ca117c
|
Clean up some pedantic warning stuff
|
2020-12-28 11:11:50 +09:00 |
|
K. Lange
|
a1c8844292
|
Add screenshot of repl to README
|
2020-12-28 16:08:06 +09:00 |
|
K. Lange
|
3c0bd99a2e
|
ssize_t usually comes from sys/types
|
2020-12-28 16:07:52 +09:00 |
|
K. Lange
|
bbae30b09b
|
fix history scrollback
|
2020-12-28 14:00:12 +09:00 |
|
K. Lange
|
db086de155
|
fix List.__set__
|
2020-12-28 13:55:55 +09:00 |
|
K. Lange
|
f62f6f84e2
|
fix up some bad garbage collections with modules
|
2020-12-28 13:51:14 +09:00 |
|
K. Lange
|
0f508c38dc
|
Add support for iterators
|
2020-12-28 13:35:02 +09:00 |
|
K. Lange
|
1d3368861b
|
fix a bunch of compiler stuff
|
2020-12-28 12:16:44 +09:00 |
|
K. Lange
|
1bae2060eb
|
add fancy repl
|
2020-12-28 11:37:38 +09:00 |
|
K. Lange
|
8f42695f36
|
Fix up repl
|
2020-12-28 10:54:25 +09:00 |
|
K. Lange
|
369e0f84db
|
We can also put them on more basic types
|
2020-12-28 09:17:00 +09:00 |
|
K. Lange
|
3bcc5d5530
|
Synthesized properties and methods for strings
|
2020-12-28 09:08:35 +09:00 |
|
K. Lange
|
c55c806e40
|
we can extract properties from types other than instances in the vm, like this dynamic length method
|
2020-12-28 08:17:54 +09:00 |
|
K. Lange
|
01fdf1d86f
|
remove superfluous debug prints
|
2020-12-27 22:48:22 +09:00 |
|
K. Lange
|
08b4044cfe
|
executable stuff
|
2020-12-27 22:42:22 +09:00 |
|
K. Lange
|
4982881235
|
that's a lot of stuff and pretty much finishes the book; need to do optimizations
|
2020-12-27 22:40:35 +09:00 |
|
K. Lange
|
1f754ebc01
|
not exactly how modules work in Python, but, uh, good enough for us for now
|
2020-12-27 18:55:52 +09:00 |
|
K. Lange
|
0ca0564cd0
|
methods/initializers; haven't done invoke, want to add modules first then come back
|
2020-12-27 17:53:46 +09:00 |
|
K. Lange
|
f88e8de25d
|
classes and instances (from ch 27)
|
2020-12-27 16:45:34 +09:00 |
|
K. Lange
|
1d0fac5640
|
Basic garbage collection; had to fix some stuff for stack preallocation
|
2020-12-27 16:07:27 +09:00 |
|
K. Lange
|
78022fb701
|
wrap up closure implementation from chapter 25
|
2020-12-27 13:02:26 +09:00 |
|
K. Lange
|
076da0bc1e
|
remove temporary 'block' keyword
|
2020-12-27 10:58:36 +09:00 |
|
K. Lange
|
90bc82e976
|
add more stuff to demo script
|
2020-12-27 10:32:23 +09:00 |
|
K. Lange
|
d90778c40c
|
fix totally broken hexadecimal constants
|
2020-12-27 10:19:44 +09:00 |
|
K. Lange
|
81e3e133c8
|
finish up chapter 24 (functions, calls, native bindings)
|
2020-12-27 09:33:28 +09:00 |
|
K. Lange
|
df7ca60bdf
|
and that's chapter 23...
|
2020-12-26 20:39:47 +09:00 |
|
K. Lange
|
aab01f01f7
|
Finish up chapter 22, local variables; fix up indentation-based scoping
|
2020-12-26 18:39:29 +09:00 |
|
K. Lange
|
f5d3cd24e0
|
meta stuff
|
2020-12-26 16:59:43 +09:00 |
|
K. Lange
|
928047f1db
|
Completed chapter 21, global variables
|
2020-12-26 16:53:15 +09:00 |
|
K. Lange
|
417637ef21
|
hash tables (which should work with any object as keys?) and string interning from ch 20
|
2020-12-26 14:33:34 +09:00 |
|
K. Lange
|
14aeea5f5b
|
through chapter 19 of Crafting Interpreters
|
2020-12-26 09:32:21 +09:00 |
|