Dustmite for VisualD

Frustrated via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Thu Jul 17 11:15:34 PDT 2014


On Sunday, 13 July 2014 at 18:20:01 UTC, Rainer Schuetze wrote:
>
>
> On 13.07.2014 14:34, Vladimir Panteleev wrote:
>> On Monday, 7 July 2014 at 22:08:30 UTC, Rainer Schuetze wrote:
>>>
>>>
>>> On 07.07.2014 19:47, Frustrated wrote:
>>>> I don't know, just seems like it would be really useful?
>>>>
>>>> e.g., select an error and be able to run dustmite on it? Be 
>>>> able to use
>>>> dustmite to reduce code?
>>>
>>> Interesting idea.
>>>
>>> In my experience it is not so easy to create a copy of a 
>>> non-trivial
>>> project that dustmite can reduce, because the build 
>>> instructions (the
>>> batch created by Visual D) are not so easily accessible to 
>>> dustmite.
>>
>> Would teaching Dustmite how to split (and reduce) XML files 
>> (thus, also
>> Visual Studio project files) help?
>
> I guess calling devenv for every build might be slow.
>
> Instead running dustmite on the build batch file could work. 
> Visual D writes source files and libraries to a response file 
> to be passed to the compiler. It would help if dustmite could 
> reduce the batch or the response file.
> I guess more complications will show if dependent libraries are 
> involved.
>
> For example the Visual D parser is built with this:
>
> set PATH=c:\l\d\dmd2.066\windows\\bin;C:\Program Files 
> (x86)\Windows Kits\8.1\\\bin;%PATH%
>
> echo ast\aggr.d >..\bin\Debug\parser\parser.build.rsp
> echo ast\all.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\decl.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\expr.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\iasm.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\misc.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\mod.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\node.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\stmt.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\type.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\writer.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\aggr.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\decl.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\engine.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\expr.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\iasm.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\misc.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\mod.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\stmt.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
> echo interpret.d >>..\bin\Debug\parser\parser.build.rsp
> echo ivdserver.d >>..\bin\Debug\parser\parser.build.rsp
> echo lexer.d >>..\bin\Debug\parser\parser.build.rsp
> echo logger.d >>..\bin\Debug\parser\parser.build.rsp
> echo parsertest.d >>..\bin\Debug\parser\parser.build.rsp
> echo semantic.d >>..\bin\Debug\parser\parser.build.rsp
> echo util.d >>..\bin\Debug\parser\parser.build.rsp
> echo vdserver.d >>..\bin\Debug\parser\parser.build.rsp
> echo versions.d >>..\bin\Debug\parser\parser.build.rsp
> echo M:\s\d\visuald\trunk\sdk\..\bin\Debug\vsi.lib
> >>..\bin\Debug\parser\parser.build.rsp
>
> dmd -lib -g -d -unittest -debug -op -X 
> -Xf"..\bin\Debug\parser\parser.json" -I.. -J. 
> -deps="..\bin\Debug\parser\parser.dep" 
> -of"..\bin\Debug\parser.lib" -map 
> "..\bin\Debug\parser\parser.map" -L/NOMAP 
> @..\bin\Debug\parser\parser.build.rsp
> if errorlevel 1 goto reportError
> if not exist "..\bin\Debug\parser.lib" (echo 
> "..\bin\Debug\parser.lib" not created! && goto reportError)
>
> goto noError
>
> :reportError
> echo Building ..\bin\Debug\parser.lib failed!
>
> :noError

I don't think that would be the best method as it might reduce 
some bugs cause by inter module usage.

I noticed that MonoD had dustmite ability but I didn't get to try 
it out.





More information about the Digitalmars-d-ide mailing list