Crate tis_100 [−] [src]
A TIS-100 emulator.
Example
use tis_100::save::parse_save; use tis_100::machine::Sandbox; // This program reads the value from the console and simply passes it to the console output. let src = "@1\nMOV UP DOWN\n@5\nMOV UP DOWN\n@9\nMOV UP RIGHT\n@10\nMOV LEFT DOWN\n"; let save = parse_save(src).unwrap(); let mut sandbox = Sandbox::from_save(&save); sandbox.write_console(42); for _ in 0..5 { sandbox.step(); } assert_eq!(sandbox.read_console(), Some(42));
Modules
core |
Basic types for parsing and interpreting TIS-100 assembly code. |
image |
Constructs for generating images using the TIS-100. |
io |
Constructs for passing messages between TIS-100 execution nodes. |
lex |
Functions for splitting TIS-100 assembly code into lexemes. |
machine |
TIS-100 emulator implementations. |
node |
Types of nodes used in the TIS-100. |
parse |
Functions for parsing TIS-100 assembly code into instructions. |
save |
Functions for loading TIS-100 assembly code from save files. |
spec |
Constructs for specifying TIS-100 puzzles. |