Commit Graph

9 Commits

Author SHA1 Message Date
Nathan Braswell
6cacd32c00 Add import (only for functions for now) and call 2021-07-25 18:10:10 -04:00
Nathan Braswell
3ad51ce19d Implement the env shuffling to enable blocks with labels and breaking to them (via 'hidden' depth constant added to each block env, from which the block depth is subtracted in the br vau 2021-07-25 02:14:20 -04:00
Nathan Braswell
ece3844c88 Quick commit adding br instruction 2021-07-24 00:39:45 -04:00
Nathan Braswell
ca25f2ca2b Starting to add control instruction stuff, beginning with the block instruction. No nice labels or anything yet 2021-07-22 01:14:51 -04:00
Nathan Braswell
f740dd07e2 Implement locals and foldl, which is the direction we should have been folding to not reverse the params/locals anyway 2021-07-20 23:36:03 -04:00
Nathan Braswell
e271feed24 Implemented $ references for functions and parameters, which are also parsed for real now, along with the result. Setup for locals added, but not it's backend. Added pretty interesting add-dict-to-env function to collections.kp, which has also been added to put collections stuff in one place. 2021-07-20 00:37:27 -04:00
Nathan Braswell
835706c97d Add both bare WAT ins and nested WAT ins 2021-07-19 00:32:42 -04:00
Nathan Braswell
d6d7af0bc1 Super basic and a tiny bit hardcoded WAT-like syntax for generating the array of arrays of arrays of arrays wasm implementation in wasm.kp, allowing us to write psudo-WAT in kraken and output binary wasm with 1 function call 2021-07-18 23:42:19 -04:00
Nathan Braswell
e1fd8abd4f Started working on basic wasm encoding/serialization. Added binary_file_writing, generalized arity comparison operators, bitwise operators, parsing of hex numbers, and wasm w/ memory section deserialization 2021-04-19 01:39:04 -04:00