71cef32fb0
add basic ast, parser files
c19f6df834
split main code into a runner struct
1453bef6c5
add nicer error handling, whitespace skipping
59083198c6
add basic scanner logic
d7b78e09e3
finish impl for local vars
26d299cd23
add local/global "switch"
5138410be4
compiler: add scope support
25ee586acb
compiler: add local scope basics
9f45dea2c0
vm: remove uneeded hack
8bc220d2f8
chunk: split writing side-effects into own function
922f3c530c
chunk: fix disasm on the new const-load op codes
3936b4a426
main: keep a long-running vm instance for REPL
005981fbbd
vm: add getglobal support
887cb1adea
add emitting of GetGlobal/GetGlobalLong
e3ac28d84e
vm: deinit globals on vm deinit
aa94396e51
compiler: add nicer error handling
06df2d37ee
add expression statements
bea6e34365
add print statement
3f2a8f3801
add object list cleaning on VM.deinit
cf53b6fc86
add basics of virtual machine object list