Skip to content

Commit

Permalink
rust: factor out values returned by the VM into new package
Browse files Browse the repository at this point in the history
  • Loading branch information
clarete committed Sep 25, 2023
1 parent e25265c commit bcd8259
Show file tree
Hide file tree
Showing 21 changed files with 480 additions and 203 deletions.
12 changes: 11 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ resolver = "2"

members = [
"langlang",
"langlang_syntax",
"langlang_lib",
"langlang_syntax",
"langlang_value",
"tests",
]
1 change: 1 addition & 0 deletions langlang/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ readme = "../README.org"
log = "0.4"
env_logger = "0.8"
langlang_lib = { path = "../langlang_lib", version = "0.1.0" }
langlang_value = { path = "../langlang_value", version = "0.1.0" }
clap = { version = "4.0", features = ["derive"] }
11 changes: 7 additions & 4 deletions langlang/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ use std::io::Write;
use std::path::{Path, PathBuf};
use std::{fs, io};

use langlang_lib::{compiler, format, import, vm};
use langlang_lib::vm::VM;
use langlang_lib::{compiler, import};
use langlang_value::format;
use langlang_value::value::Value;

/// Enumeration of all sub commands supported by this binary
#[derive(Subcommand)]
Expand Down Expand Up @@ -40,7 +43,7 @@ struct Cli {
command: Command,
}

type FormattingFunc = fn(v: &vm::Value) -> String;
type FormattingFunc = fn(v: &Value) -> String;

fn formatter(name: &str) -> FormattingFunc {
match name {
Expand Down Expand Up @@ -69,7 +72,7 @@ fn command_run(
match input_file {
Some(input_file) => {
let input_data = fs::read_to_string(input_file)?;
let mut m = vm::VM::new(&program);
let mut m = VM::new(&program);
match m.run_str(&input_data)? {
None => println!("not much"),
Some(v) => println!("{}", fmt(&v)),
Expand Down Expand Up @@ -101,7 +104,7 @@ fn command_run(
line.pop();

// run the line
let mut m = vm::VM::new(&program);
let mut m = VM::new(&program);
match m.run_str(&line)? {
None => println!("not much"),
Some(v) => println!("{}", fmt(&v)),
Expand Down
1 change: 1 addition & 0 deletions langlang_lib/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ readme = "../README.org"
log = "0.4"
env_logger = "0.8"
langlang_syntax = { path = "../langlang_syntax" }
langlang_value = { path = "../langlang_value" }
1 change: 0 additions & 1 deletion langlang_lib/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
pub mod compiler;
pub mod format;
pub mod import;
pub mod vm;

Expand Down
Loading

0 comments on commit bcd8259

Please sign in to comment.