2个版本
0.1.1 | 2020年7月9日 |
---|---|
0.1.0 | 2020年6月30日 |
#24 in #tokenization
18KB
433 行
Iroha
Iroha 是一个用于 Rust 的标记化库。
使用方法
Iroha 提供 derive 宏 iroha::ToTokens
. 通过 derive 生成的结构体或枚举将实现 quote::ToTokens
.
use iroha::ToTokens;
use proc_macro2::TokenStream;
use quote::quote;
#[derive(ToTokens)]
struct Foo {
a: i32,
b: i64
}
#[derive(ToTokens)]
enum Bar {
A,
B
}
fn some_fn() -> TokenStream {
let foo = Foo {a: 1, b: 2};
let bar = Bar::A;
quote! {
|| (#foo, #bar)
}
}
支持类型
- 任何实现了
quote::ToTokens
的类型 字符串
Vec
,HashMap
,HashSet
Result
,Option
依赖
~1.5MB
~35K SLoC