Commit Graph

23 Commits (68c9b336375aedff63e3dd76773258fb2dccd3b0)

Author SHA1 Message Date
Ondřej Hruška 68c9b33637
basic float arith, wip float trig, abs 4 years ago
Ondřej Hruška e560fc5657
DRY arithmetic parsing 4 years ago
Ondřej Hruška 3999c51eb7
implement a more readable bit mask syntax, add (ldXX Wr Rd Rd) with separate dest and both sources 4 years ago
Ondřej Hruška 26616e20cb
Simplify {clz,clo,se}XX parsing and exec, add simple unit test example scripts 4 years ago
Ondřej Hruška 01ab4e7e1f
add sign extend commands 4 years ago
Ondřej Hruška c953e39b34
Add ld{32,16,8},sw{32,16,8},clz{,32,16,8},clo{,32,16,8},rng,rev,rbit; rename swap->xch 4 years ago
Ondřej Hruška 7a3cb539e1
add new rdwr access type to guard against illegal writes that can be caught at compile time 4 years ago
Ondřej Hruška 3a8895b790
add rcmp instr, add rot13 example 4 years ago
Ondřej Hruška 33ec1461e4
remove unnecessary cloning of SourcePosition, reduce SourcePosition size. clean, format 4 years ago
Ondřej Hruška 91573140a4
all errors now contain source location 4 years ago
Ondřej Hruška 986f3be6a2
cleanup. remove conditional jumps, replaced by condition embedded in the enum 4 years ago
Ondřej Hruška e580a2b679
Add "sym" and "def" instructions, add argument naming 4 years ago
Ondřej Hruška 4be5b4e05b
generalize parsing to allow extensions to add arbitrary syntax; add 'proc' keyword to introduce a routine. 4 years ago
Ondřej Hruška c37408c7a2 read program from file; fmt, cleanup 4 years ago
Ondřej Hruška b7345144e0
refactors 4 years ago
Ondřej Hruška 2269d759c6
refactors 4 years ago
Ondřej Hruška d5de189af6
add more sensible API for object handles, add drop instruction 4 years ago
Ondřej Hruška 79d5aa3cd5
renaming, cleanup, fmt, move "extension module" traits and structs into a separate mod 4 years ago
Ondřej Hruška 0cd800653f
Example extension: Stacks; fixes to allow module data storage in thread context 4 years ago
Ondřej Hruška 3e0aaa71e9
Convert builtin ops into a pseudo-extension 4 years ago
Ondřej Hruška ba0e3d0fd2
preparations for module data storage, remove broken tests (dyn trait can't implement PartialEq because ???) 4 years ago
Ondřej Hruška 44e7cd3a8f
renames, improve module API (avoid cloning) 4 years ago
Ondřej Hruška f015104b95
re-arrange modules, add "plug-in" system so instructions can be defined in multiple crates 4 years ago