Tools for D Development
I have developed several tools that I feel are useful for D programmers and
would like to bring attention to how they can be used to solve problems
facing D programmers or to speed up a typical edit-compile-run cycle.
I intend to cover the following tools:
- libdparse - A library with an up-to-date implementation of a lexer,
parser, and AST in D for D. I will talk about its development, and how
it has led to an increase in the quality of the official language
- generated - A fuzz testing tool built on the grammar developed during
the construction and debugging of libdparse. Generated has helped to
reveal inconsistencies in libdparse, DMD, and the official language
- D-Scanner - A D code analysis tool. It includes capabilities for code
search and various forms of static analysis.
- Sonar D Plugin - A plugin for the SonarQube static analysis system
that is able to track the results of D-Scanner reports. This allows
organizations to track code quality metrics for D in the same way that
they would for Java, PHP, and other languages.
- Harbored - A documentation generation tool that builds on top of
libdparse. A fork of this tool now powers ddocs.org, a site that
aggregates documentation for artifacts published via Dub.
- DCD is an auto-completion tool for D that can be easily reused by
text editors and IDEs. Plugins for DCD exist for Emacs, Vim, Textadept,
Zeus, Sublime Text 3, Kate/KDevelop, DlangeIDE, IntelliJ, Coedit, and
Brian Schott has been using D since 2007. He wrote and maintains several
tools for the development of D software. Brian currently works at Economic
Modeling Specialists International where he helps maintain economic data
processing and forecasting software written in D.