macro-rules-rt
is a crate that transforms Rust source code using the syntax used in macro_rules
.
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);
This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.
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.