On 28-7-2013 0:27, Brian Schott wrote:
DScanner is a tool for analyzing D source code. It has the following features:
* 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 here:
If I do a styleCheck on a source file that contains a BOM, I get the following
test.d(1:14)[error]: Expected ; instead of .