Thread overview
Greetings, New IDE Development
Sep 16, 2017
Answar Enchali
Sep 17, 2017
rikki cattermole
OT: Updating "Organizations using the D Language" page
Sep 18, 2017
Ali Çehreli
Sep 22, 2017
Jacob Carlborg
September 16, 2017
Hi,

I work for a company Eco-Médias Tech and we would like to invest in adding D support to our current in house IDE. The current D IDE's either lack strong modern development capabilities or do not fully support our needs.

Ideally, what we require to quickly integrate D with our IDE is for dmd to support full source line mapping to both object and binary(debug) file generation and full ast and symbol type mapping.

The first case allows our IDE to determine any source line given debug errors and runtime errors up to the capabilities of acuteness. This is critical, as complexity of programs increase, it is necessary to know exactly where the runtime behavior is located in the source. Since D supports embedding tangential source code, these too would require source line mappings through derivative analysis.

For the second case, Having proper symbol to type mapping allows us to build proper 'intellisense' resolution, advanced code map generation, and support multi-resolution syntax correction schemes that we use for our current C++ development.

While the amount of information that the compiler can emit is quite large for our typical programs, we aim at achieving maximum programming efficiency and are not concerned with memory issues nor disk space limitations. Since compilation speed is already quite fast with dmd and emitting such information from the compiler should be equivalent to filling a string buffer, we do not expect to see any serious drawbacks. We are currently in the process of upgrading to 256xC3000 virtualized mainframe distribution server with a total of 65kGB of memory.

Does dmd support outputting the full ast with symbol type information and full line mapping or will these features have to be added? If they are to be added, what would be a ball part man-hour cost to add these features? If we are able to integrate D support in to our IDE we will release the D portion of our IDE(removing the C++ side as it is proprietary) as a sign of good faith.

Thank you,

Answar Enchali





September 17, 2017
Unless you intend on writing your own parser, you won't get anywhere near autocompletion.

You should check out DCD and friends, who do have their own parser for the purpose of autocompletion.
September 17, 2017
On 09/16/2017 12:38 PM, Answar Enchali wrote:

> I work for a company Eco-Médias Tech and we would like to invest in
> adding D support to our current in house IDE.

It would be nice if you don't mind adding your company to the following page.

  https://dlang.org/orgs-using-d.html

Thanks,
Ali

September 22, 2017
On 2017-09-16 21:38, Answar Enchali wrote:

> Does dmd support outputting the full ast with symbol type information and full line mapping or will these features have to be added? If they are to be added, what would be a ball part man-hour cost to add these features? If we are able to integrate D support in to our IDE we will release the D portion of our IDE(removing the C++ side as it is proprietary) as a sign of good faith.

DMD is not really designed to be used as a library. Although there's been some progress in that area lately. There's a student that works on restructuring the compiler as a library. We have the lexer and parser available in a DUB package [1] to be used as a library.

I recommend getting in contact with Razvan Nitu [2] and Andrei about this.

[1] http://code.dlang.org/packages/dmd
[2] https://github.com/RazvanN7

-- 
/Jacob Carlborg