Commit Graph

46 Commits (83996348cb674f5619cb15e7e61413031cb7f369)

Author SHA1 Message Date
Ondřej Hruška 83996348cb
Implement compile-time immediate arithmetics 4 years ago
Ondřej Hruška 562c6baddc
fixes, graphic acceleration commands, upscaling pixels 4 years ago
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 2d4f6b4af1
implement "lds" for objects (buffers, cin) 4 years ago
Ondřej Hruška 4062ff4d09
AMAZING NEW FEATURES ldn, bfio 4 years ago
Ondřej Hruška 74e3716ce4
change register count to 15, add global registers 4 years ago
Ondřej Hruška ace92a6411
rewrite the stdio module to be less broken. also add sehbang support 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 8ea60f52eb
remove unused "mask" code 4 years ago
Ondřej Hruška aae9db0598
fix branch parser eating all list tokens 4 years ago
Ondřej Hruška ee59096821
buffer module, replacing stacks. TODO: docs, fix parsing of "numbers tuple" in mkbfv (consumed by the conditional branch parser) 4 years ago
Ondřej Hruška 1f2dbaa81d
add better string and number parsing to sexp. cleaning, more tests 4 years ago
Ondřej Hruška 9d7f3d25c8
add stdio module 4 years ago
Ondřej Hruška e3fe3c6d72
performance improvements 4 years ago
Ondřej Hruška a3eae0a8a9
add extension hook to pre-define constants 4 years ago
Ondřej Hruška 4115e07ee6
@reg and @value reading and writing is now possible 4 years ago
Ondřej Hruška 562fc48151
add support for character literals using single quotes 4 years ago
Ondřej Hruška ce5bf513c0
stricter label parsing, more relaxed identifier rules 4 years ago
Ondřej Hruška dbc4454244
cleaning; optimize screen_bounce.csn 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 f404445003 deny direct access to symmed register - prevents bugs 4 years ago
Ondřej Hruška 6eef2b7ae3
cleaning 4 years ago
Ondřej Hruška fe8bf87e6d
add round-trip tests for built-in instructions 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 e0cc1973ba Routine arity disambiguation, slash syntax (add/2, add/3) 4 years ago
Ondřej Hruška e580a2b679
Add "sym" and "def" instructions, add argument naming 4 years ago
Ondřej Hruška afd412f22a
make more stuff public for use by extensions 4 years ago
Ondřej Hruška 822e7912aa
cleanup 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 01068ea001
crazy hypno + added sleep cmd 4 years ago
Ondřej Hruška 532df6eb04
screen imrpvoements 4 years ago
Ondřej Hruška b7345144e0
refactors 4 years ago
Ondřej Hruška 3599cb46c4
cleanup, optimize. use Arc for reference sharing 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 8222efe6da
remove "immediate ptr" data type, move read, write funcs to RunState, add %objectPtr syntax 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 1d444fd516
cleaning 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