On Tuesday, 22 May 2012 at 14:48:49 UTC, Denis Shelomovskij wrote:
22.05.2012 18:04, Roman D. Boiko написал:
http://d-coding.com/2012/05/22/dct-use-cases.html

Please, please, try to rape dmd to do what you want first because otherwise you (like every other existing parsers in IDE) will fail with templates which are used everywhere in D (I mean std.algorithm).

A suggestion:
Step 1 (bad performance): pass whole UTF-8 encoded source to dmd for recompilation every time (through memory mapped file, e.g.) and force dmd to write everything you want (yes, to mmfile because there will be a lot of information). Step 2 (better performance): stop dmd at some compilation stage (in a function context) and on user input fork dmd, give it new data, execute it, kill it. Pass whole source only when e.g. user start editing of another function.

It looks like we can't do anything better without good compiler-as-library.


By the way, it was really easy to change dmd to produce token information for token colonizing and it worked faster that Eclipse's Descent IIRC.

Thanks, but what you described is outside DCT scope and goals.

Reply via email to