From 372e58f620e5152436f0aa57fb6b1fbdca90b04b Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Mon, 14 Sep 2020 14:14:21 -0700 Subject: [PATCH] Fold runtime/ crate into this source tree While I like the idea of having a runtime completely decoupled from the syntax and compiler, I don't think this is that big of a project for that to be necessary or even useful yet. Signed-off-by: Alek Ratzloff --- Cargo.toml | 7 +++++-- runtime/Cargo.toml | 15 --------------- runtime/src/lib.rs | 4 ---- src/compile/mod.rs | 2 +- src/compile/thunk.rs | 3 ++- src/lib.rs | 6 ++++-- {runtime/src => src}/obj/attrs.rs | 0 {runtime/src => src}/obj/fun.rs | 0 {runtime/src => src}/obj/int.rs | 0 {runtime/src => src}/obj/intern.rs | 0 {runtime/src => src}/obj/macros.rs | 0 {runtime/src => src}/obj/mod.rs | 0 {runtime/src => src}/obj/names.rs | 0 {runtime/src => src}/obj/str.rs | 0 {runtime/src => src}/obj/sym.rs | 0 {runtime/src => src}/obj/test.rs | 0 {runtime/src => src}/obj/ty.rs | 0 {runtime/src => src}/vm/consts.rs | 0 {runtime/src => src}/vm/frame.rs | 0 {runtime/src => src}/vm/inst.rs | 0 {runtime/src => src}/vm/mod.rs | 0 21 files changed, 12 insertions(+), 25 deletions(-) delete mode 100644 runtime/Cargo.toml delete mode 100644 runtime/src/lib.rs rename {runtime/src => src}/obj/attrs.rs (100%) rename {runtime/src => src}/obj/fun.rs (100%) rename {runtime/src => src}/obj/int.rs (100%) rename {runtime/src => src}/obj/intern.rs (100%) rename {runtime/src => src}/obj/macros.rs (100%) rename {runtime/src => src}/obj/mod.rs (100%) rename {runtime/src => src}/obj/names.rs (100%) rename {runtime/src => src}/obj/str.rs (100%) rename {runtime/src => src}/obj/sym.rs (100%) rename {runtime/src => src}/obj/test.rs (100%) rename {runtime/src => src}/obj/ty.rs (100%) rename {runtime/src => src}/vm/consts.rs (100%) rename {runtime/src => src}/vm/frame.rs (100%) rename {runtime/src => src}/vm/inst.rs (100%) rename {runtime/src => src}/vm/mod.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 4277e86..c208aaa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,10 +17,13 @@ lrpar = "0.9" lrlex = "0.9" structopt = "0.3" snafu = "0.6.6" +maplit = "1.0.2" +once_cell = "1.4.1" #lazy_static = "1.4.0" #regex = "1.3.7" #derivative = "2.1.1" -[dependencies.runtime] -path = "runtime" +[dependencies.shredder] +git = "https://github.com/Others/shredder" +features = ["nightly-features"] diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml deleted file mode 100644 index df4ca38..0000000 --- a/runtime/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "runtime" -version = "0.1.0" -authors = ["Alek Ratzloff "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -maplit = "1.0.2" -once_cell = "1.4.1" - -[dependencies.shredder] -git = "https://github.com/Others/shredder" -features = ["nightly-features"] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs deleted file mode 100644 index 0e9fc6b..0000000 --- a/runtime/src/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![feature(unsize, coerce_unsized)] - -#[macro_use] pub mod obj; -#[macro_use] pub mod vm; diff --git a/src/compile/mod.rs b/src/compile/mod.rs index 08ec7aa..b6f2efd 100644 --- a/src/compile/mod.rs +++ b/src/compile/mod.rs @@ -1,7 +1,7 @@ pub mod thunk; pub mod error; -use runtime::{obj::prelude::*, vm::consts::*}; +use crate::{obj::prelude::*, vm::consts::*}; use std::collections::HashMap; pub struct Compile<'t> { diff --git a/src/compile/thunk.rs b/src/compile/thunk.rs index 2866320..b207dd7 100644 --- a/src/compile/thunk.rs +++ b/src/compile/thunk.rs @@ -1,8 +1,9 @@ use crate::{ compile::{error::*, Compile}, syn::{ast::*, visit::*}, + obj::prelude::*, + vm::inst::* }; -use runtime::{obj::prelude::*, vm::inst::*}; use std::mem; pub enum Thunk { diff --git a/src/lib.rs b/src/lib.rs index e2828da..2f9f66a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,6 @@ +#![feature(unsize, coerce_unsized)] + pub mod syn; pub mod compile; - -pub use runtime; +pub mod obj; +pub mod vm; diff --git a/runtime/src/obj/attrs.rs b/src/obj/attrs.rs similarity index 100% rename from runtime/src/obj/attrs.rs rename to src/obj/attrs.rs diff --git a/runtime/src/obj/fun.rs b/src/obj/fun.rs similarity index 100% rename from runtime/src/obj/fun.rs rename to src/obj/fun.rs diff --git a/runtime/src/obj/int.rs b/src/obj/int.rs similarity index 100% rename from runtime/src/obj/int.rs rename to src/obj/int.rs diff --git a/runtime/src/obj/intern.rs b/src/obj/intern.rs similarity index 100% rename from runtime/src/obj/intern.rs rename to src/obj/intern.rs diff --git a/runtime/src/obj/macros.rs b/src/obj/macros.rs similarity index 100% rename from runtime/src/obj/macros.rs rename to src/obj/macros.rs diff --git a/runtime/src/obj/mod.rs b/src/obj/mod.rs similarity index 100% rename from runtime/src/obj/mod.rs rename to src/obj/mod.rs diff --git a/runtime/src/obj/names.rs b/src/obj/names.rs similarity index 100% rename from runtime/src/obj/names.rs rename to src/obj/names.rs diff --git a/runtime/src/obj/str.rs b/src/obj/str.rs similarity index 100% rename from runtime/src/obj/str.rs rename to src/obj/str.rs diff --git a/runtime/src/obj/sym.rs b/src/obj/sym.rs similarity index 100% rename from runtime/src/obj/sym.rs rename to src/obj/sym.rs diff --git a/runtime/src/obj/test.rs b/src/obj/test.rs similarity index 100% rename from runtime/src/obj/test.rs rename to src/obj/test.rs diff --git a/runtime/src/obj/ty.rs b/src/obj/ty.rs similarity index 100% rename from runtime/src/obj/ty.rs rename to src/obj/ty.rs diff --git a/runtime/src/vm/consts.rs b/src/vm/consts.rs similarity index 100% rename from runtime/src/vm/consts.rs rename to src/vm/consts.rs diff --git a/runtime/src/vm/frame.rs b/src/vm/frame.rs similarity index 100% rename from runtime/src/vm/frame.rs rename to src/vm/frame.rs diff --git a/runtime/src/vm/inst.rs b/src/vm/inst.rs similarity index 100% rename from runtime/src/vm/inst.rs rename to src/vm/inst.rs diff --git a/runtime/src/vm/mod.rs b/src/vm/mod.rs similarity index 100% rename from runtime/src/vm/mod.rs rename to src/vm/mod.rs