What is the state of the art for creating domain-specific languages (DSLs) with Rust?

96 points Ekkaiaaa

Should macros be used? Are there tools to create scanners, parsers and semantic analyzers?