This commit is contained in:
greg 2018-07-07 18:08:21 -07:00
parent 5e48eb2dee
commit 0ec29f6dd0
3 changed files with 5 additions and 1 deletions

View File

@ -6,6 +6,7 @@ authors = ["greg <greg.shuflin@protonmail.com>"]
[dependencies]
syn = { version = "0.13.1", features = ["full", "extra-traits"] }
quote = "0.5"
schala-repl = { path = "../schala-repl" }
[lib]
proc-macro = true

View File

@ -4,6 +4,8 @@ extern crate proc_macro;
extern crate quote;
extern crate syn;
extern crate schala_repl;
use proc_macro::TokenStream;
use syn::{Ident, Attribute, DeriveInput};
@ -54,6 +56,7 @@ pub fn derive_programming_language_interface(input: TokenStream) -> TokenStream
let pass_names: Vec<String> = passes.iter().map(|pass| pass.to_string()).collect();
let tokens = quote! {
use schala_repl::PassDescriptor;
impl ProgrammingLanguageInterface for #name {
fn get_language_name(&self) -> String {
#language_name.to_string()

View File

@ -34,7 +34,7 @@ const VERSION_STRING: &'static str = "0.1.0";
include!(concat!(env!("OUT_DIR"), "/static.rs"));
pub use language::{LLVMCodeString, ProgrammingLanguageInterface, EvalOptions,
ExecutionMethod, TraceArtifact, FinishedComputation, UnfinishedComputation, PassDebugDescriptor};
ExecutionMethod, TraceArtifact, FinishedComputation, UnfinishedComputation, PassDebugDescriptor, PassDescriptor};
pub type PLIGenerator = Box<Fn() -> Box<ProgrammingLanguageInterface> + Send + Sync>;