Am Sat, 26 Mar 2016 10:35:44 +0000 schrieb Vladimir Panteleev <thecybershadow.li...@gmail.com>:
> On Saturday, 26 March 2016 at 10:09:10 UTC, Johannes Pfau wrote: > > I've finally finished the D port of GDMD and pushed everything > > including a detailed README to > > https://github.com/D-Programming-GDC/GDMD/tree/dport > > Thanks for this. > > I see that parsing response files isn't implemented yet. Response > files are practically required when used with rdmd on Windows, > because of the command line length limit. > > std.process.escapeWindowsArgument is available on all platforms > for this purpose: > > http://dlang.org/phobos/std_process.html#.escapeWindowsArgument > > (The response files use the Windows syntax, regardless of the > host platform.) > I didn't realize response file parsing is that important for windows, thanks for letting me know ;-) I guess there's no proper documentation for response files or any test files? There are some open questions: * Are escape sequences allowed outside of quoted strings? * Which characters end a comment? * How does this parse: foo\"bar * Or this: foo"bar BTW: The DMD implementation is using the backend license, so I certainly couldn't copy it. It tried to follow clean-room design principles when reimplementing it (writing a spec first, then using the spec to implement the new parser) and choose a completely different parsing approach (parsing/unescaping separated, range based) so I hope it's different enough to avoid copyright or licensing issues.... https://github.com/D-Programming-GDC/GDMD/commit/0e2b0744a13a69f9dae90cf5db8c689ccca82f10 It'd be great if you could have a look at the unittests and tell me if the parsing is correct ;-) Now I still have to generate a response file for passing arguments to GDC. First have to check whether GCC even uses the windows escaping rules though. Do you know how many characters can be passed without response files?