#macro-rules #transform #syntax #token-stream #text

macro-rules-rt

Transforms text or TokenStream using Rust's macro_rules syntax

2 releases

0.1.1 Apr 2, 2023
0.1.0 Apr 2, 2023

#1296 in Procedural macros

35 downloads per month

MIT/Apache

74KB
2K SLoC

macro-rules-rt

Crates.io Docs.rs Actions Status

macro-rules-rt is a crate that transforms Rust source code using the syntax used in macro-rules.

Example

use macro_rules_rt::Rule;

let from = "$e:literal".parse()?;
let to = "$e * 5".parse()?;
let rule = Rule::new(from, to)?;
let source = "1 + 2";
let expect = "1 * 5 + 2 * 5";
let result = rule.replace_all(source)?;
assert_eq!(result, expect);

License

This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~350–800KB
~18K SLoC