DScanner is a tool for analyzing D source code. It has the
* Prints out a complete AST of a source file in XML format.
* Syntax checks code and prints warning/error messages
* Prints a listing of modules imported by a source file
* Syntax highlights code in HTML format
* Provides more meaningful "line of code" count than wc
* Counts tokens in a source file
The lexer/parser/AST are located in the "std/d" directory in the
repository. These files should prove useful to anyone else
working on D tooling.
Aside: the D grammar that I reverse-engineered can be located