Yes, you are exactly right !! When Rust will detect macro keyword then it will try to find the proc_macro and then compile involved crate, then crate with this macro will compile tokens and then Rust procede handling remaining part of the file
steffahn:
... and execute the macro definition that takes over the role of the parser.
This is the price that we should pay for embedding in Rust any language that was produced or ever will be produced !!