在L系统表示法中,一个模式看起来像这样: A(a)<A(x)>B(b, c) if a+b+c < 10 => B(a+b, a+c)A(x+a+b+c) 我正在尝试编写rust宏来扩展这些。所以我有这样的东西: macro_rules! test {} 但它不让我这么做。我不能使用tt,因为很明显括号是不允许的。
在Rust中,声明宏和过程宏(macro_rules!)都可以接受不一定有效的任意语法,只要它解析。例如,,它用于创建一个宏,该宏从类似SQL的语法中解析SQL查询。然而,在使用属性宏时,情况似乎并非如此。:fn example() { impl B {
// This is invalid Rustco