separate ayin-game and ayin interpreter
This commit is contained in:
parent
c3bd60f475
commit
bdf9816bda
6 changed files with 39 additions and 5 deletions
|
|
@ -12,9 +12,13 @@ default-run = "ayin"
|
|||
name = "ayin"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "ayin-game"
|
||||
path = "src/game.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "ayin"
|
||||
path = "src/main.rs"
|
||||
path = "src/ayin.rs"
|
||||
|
||||
[[bench]]
|
||||
name = "benchmark"
|
||||
|
|
|
|||
6
Makefile
6
Makefile
|
|
@ -12,7 +12,7 @@ test:
|
|||
|
||||
.PHONY: run
|
||||
run:
|
||||
cargo run -- games/there-she-is.ayin
|
||||
cargo run --bin ayin-game -- games/there-she-is.ayin
|
||||
|
||||
.PHONY: review
|
||||
review:
|
||||
|
|
@ -20,7 +20,7 @@ review:
|
|||
|
||||
.PHONY: wasm
|
||||
wasm:
|
||||
cargo build --target wasm32-unknown-unknown --release
|
||||
cp target/wasm32-unknown-unknown/release/ayin.wasm html/
|
||||
cargo build --bin ayin-game --target wasm32-unknown-unknown --release
|
||||
cp target/wasm32-unknown-unknown/release/ayin-game.wasm html/
|
||||
cp -r assets/ html/
|
||||
(cd html/ && wget https://not-fl3.github.io/miniquad-samples/mq_js_bundle.js -O mq_js_bundle.js)
|
||||
|
|
|
|||
16
programs/map.ayin
Normal file
16
programs/map.ayin
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
let map = fn(f,array) {
|
||||
let mut index = 0
|
||||
loop {
|
||||
if index >= array.len {
|
||||
break
|
||||
}
|
||||
array.index = f(array.index)
|
||||
index = index + 1
|
||||
}
|
||||
array
|
||||
}
|
||||
|
||||
let main = fn() {
|
||||
map(fn (x) { x + 1 }, [1,2,3])
|
||||
}
|
||||
|
||||
15
src/ayin.rs
Normal file
15
src/ayin.rs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
fn main() {
|
||||
match read_file() {
|
||||
Err(err) => println!("Error: {err:#?}"),
|
||||
Ok(txt) => match ayin::run_main(&txt) {
|
||||
Err(err) => println!("Error: {err:#?}"),
|
||||
Ok(e) => println!("{e:#?}"),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
fn read_file() -> std::io::Result<String> {
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
let file = args[1].clone();
|
||||
std::fs::read_to_string(file)
|
||||
}
|
||||
|
|
@ -141,7 +141,6 @@ let main = fn() {
|
|||
#[test]
|
||||
fn direction() {
|
||||
let program = "
|
||||
|
||||
let main = fn() {
|
||||
let state = setup()
|
||||
update(state)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue