marigold-macros 0.1.17

Macros for the marigold language.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![forbid(unsafe_code)]

extern crate proc_macro;
use marigold_grammar::marigold_parse;
use proc_macro::TokenStream;

#[proc_macro]
pub fn marigold(item: TokenStream) -> TokenStream {
    let s = item.to_string();
    format!(
        "{{\n{}\n}}\n",
        marigold_parse(&s).expect("marigold parsing error")
    )
    .parse()
    .unwrap()
}