If you look higher up in the macro definition, it's making recursive calls to itself and inserting those @whatevers as markers which it again matches against.
A macro can match any syntax that is a sequence of valid Rust tokens and has balanced ()[]{} brackets. You can freely invent new syntax in your macros within those constraints, as long as the macro expands to valid Rust code.
I've never found a great guide to these and just sort of reasoned them out and cargo-cult when I need to, so I'm afraid I don't have a better references. Perhaps someone else can suggest a good guide.
It's not valid Rust code. In fact, that's the whole point of using macros. They provide syntax extensions to the language, without actually needing to change the language itself.
You can think up any kind of crazy-moon syntax you please, and as long as it has balanced parentheses, you can write a macro for parsing it, and you can then transform it to something that will in fact be valid Rust code.