Thread overview
DLP - D Language Processing 0.1.0
Mar 18, 2019
Jacob Carlborg
Mar 20, 2019
Stefan Koch
Mar 20, 2019
Jacob Carlborg
March 18, 2019
I would like to announce a new release of DLP, 0.1.0.

For those not familiar with DLP, 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.

Currently it has only one command, "leaf-functions", that will print all leaf functions. A leaf function is a function that doesn't call any other functions or doesn't have a body.

The release is available here [1]. Pre compiled binaries are available for macOS, Linux 64bit and Windows 32bit and 64bit.

Here's what's new:

* Added a flag, "--frontend-version", which will print the version of the frontend DLP is using
* Updated the D frontend DLP is using to DMD 2.085.0+ (dd94ef465)
* New formatting of locations

For the "leaf-functions" command:

* Added a flag, --import-path/-i, which will add the given path as an import path
* Fixed issue 1: No error if no input files are given

[1] https://github.com/jacob-carlborg/dlp/releases/tag/v0.1.0

-- 
/Jacob Carlborg
March 20, 2019
On Monday, 18 March 2019 at 18:52:10 UTC, Jacob Carlborg wrote:

> Currently it has only one command, "leaf-functions", that will print all leaf functions. A leaf function is a function that doesn't call any other functions or doesn't have a body.

Functions without bodies cannot be considered leaf functions as there are declarations which may call.
March 20, 2019
On 2019-03-20 14:12, Stefan Koch wrote:

> Functions without bodies cannot be considered leaf functions as there are declarations which may call.

I thought about adding a flag to control if functions without a body should be considered a leaf function or not.

This tool is mostly intended for providing a good starting point to where to add attributes. I think this is still true for functions without a body.

-- 
/Jacob Carlborg