Skip to content
Various tools to process the D programming language
D PowerShell Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Ignore generated version file Apr 25, 2019
.gitmodules Initial commit Nov 30, 2018
dub.sdl Remove compiling of strtold.c Apr 25, 2019
dub.selections.json Initial commit Nov 30, 2018 Reformat commands documentation Apr 25, 2019

DLP - D Language Processing

DLP is a tool collecting commands/tasks related to processing the D programming language. It uses the DMD frontend as a library to process D code.


To run this tool you need to have druntime and Phobos installed. This is easiest accomplished by installing the DMD compiler:


For the latest release see: releases/latest. Pre-compiled binaries are available for macOS and Linux as 64 bit binaries and Windows as 32 and 64 bit binaries. The Linux binaries are completely statically linked and should work on all distros. The macOS binaries should work on macOS Mavericks (10.9) and later.



Prints all leaf functions to standard out. A leaf function is a function that doesn't call any other functions, or doesn't have a body.


$ cat test.d
void main()
$ dlp leaf-functions test.d
test.d:1:6: test.d.main


Prints the inferred attributes of all functions that are normally not inferred by the compiler. These are regular functions and methods. Templates, nested functions and lambdas are inferred by the compiler and will not be included by this command


$ cat test.d
void main()
$ dlp infer-attributes test.d
test.d:1:6: main: pure nothrow @nogc @safe


Building is done using Dub.

  1. Clone the repository using:
    git clone --recursive
  2. Run dub build to build the project

Running the Tests

Running the tests is done using Dub.

  1. Clone the repository using:
    git clone --recursive
  2. Run dub test to run the tests
You can’t perform that action at this time.