diff --git a/schala-codegen/Cargo.toml b/schala-codegen/Cargo.toml index 1aa7bde..d99cfbb 100644 --- a/schala-codegen/Cargo.toml +++ b/schala-codegen/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["greg "] [dependencies] -syn = "0.13.1" +syn = { version = "0.13.1", features = ["full", "extra-traits"] } quote = "0.5" [lib] diff --git a/schala-codegen/src/lib.rs b/schala-codegen/src/lib.rs index 89ecab8..5405a54 100644 --- a/schala-codegen/src/lib.rs +++ b/schala-codegen/src/lib.rs @@ -17,6 +17,11 @@ pub fn print_a_thing(_input: TokenStream) -> TokenStream { pub fn derive_programming_language_interface(input: TokenStream) -> TokenStream { let ast: DeriveInput = syn::parse(input).unwrap(); let name = &ast.ident; + let attrs = &ast.attrs; + + println!("ATTRS {:?}", attrs); + //let language_name = attrs.iter().find( + let tokens = quote! { impl ProgrammingLanguageInterface for #name { diff --git a/schala-lang/src/lib.rs b/schala-lang/src/lib.rs index c5f0b1d..4477a99 100644 --- a/schala-lang/src/lib.rs +++ b/schala-lang/src/lib.rs @@ -28,6 +28,7 @@ mod eval; use self::typechecking::{TypeContext}; #[derive(ProgrammingLanguageInterface)] +#[LanguageName = "Schala"] pub struct Schala { state: eval::State<'static>, type_context: TypeContext