Thread overview
D-Scanner 0.1.0-beta3 and DCD 0.3.0-beta4
Mar 05, 2014
Brian Schott
Mar 05, 2014
Mike
Mar 06, 2014
Jussi Jumppanen
Mar 06, 2014
develop32
Mar 06, 2014
Brian Schott
Mar 06, 2014
Brian Schott
Mar 07, 2014
Jussi Jumppanen
Mar 09, 2014
Jussi Jumppanen
Mar 20, 2014
Jussi Jumppanen
March 05, 2014
New betas are available for both tools. Hopefully no more bugs will be found. I plan to tag these as non-beta this Saturday.

https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta3
https://github.com/Hackerpilot/DCD/tree/0.3.0-beta4

D-Scanner changes:
* #92: Windows batch file not in sync with posix build script
* Various DDoc fixes
* Fixed various static analysis checks
* Removed some files that should not have been checked in
* #97: DDoc fix
* #98: Fixed typos
* #101: Fix bug in token identifier generation
* #102: Update lexer API
* #104: Fix TokenID implementation
* #105: Emit warning for deprecated base class protection syntax
* #106: Add linkage attribute parsing support to alias declarations
* #107: Clean up the lexer generator API
* #108: D-Scanner is now on dub!
* #111: New static analysis rule warns about dead foreach loops
* #112: Fixed issue causing AST output to be incorrect for left-associative expressions
* #113: Fixed segfault in dead foreach loop detection
* #115: Fixed parser issue that caused the "low" member of a case range statement AST node to not be set
* #116: "version = foo;" is now treated as a declaration and not a statement
* #118: Allow function attributes in lambda expression
* #119: Allow typeof expression in template mixin
* #120: Check for constructor args in new anon class expression
* Fixed an issue causing stdx.lexer to fail if no "possibleDefaultTokens" were supplied
* #121: Fixed issue causing struct member initializers to not be stored
* #122: Distinguish between conditional declaration and statement
* Enhanced lexer string interning to be lock-free
* Parser can now use allocators from std.allocator
* #130: Static analysis checks are now run in parallel
* Attach doc comments to alias declarations
* Fix static analysis crash caused by number literals with suffixes
* #139: Fixed lexer issue with named character entities in character literals
* #138: Parser now supports opCall-style syntax on types

DCD changes:
* #103: "object" is now always added to the internal list of imported modules.
  Aliases like "string" now work as expected without import statements.
* #104: Vim plugin enhancements
* #105: Server crash on non-existant import paths
* #107: .classinfo is no longer shown in autocomplete lists for structs
* #108: Drastic performance improvements
* DDoc and refactoring work
* Updated list of __traits for 2.065 compiler release
* Update to D-Scanner 0.1.0-beta3 to get various lexer, parser, and AST fixes

Thanks to the various people who have contributed to these projects:
https://github.com/Hackerpilot/Dscanner/graphs/contributors
https://github.com/Hackerpilot/DCD/graphs/contributors
March 05, 2014
On Wednesday, 5 March 2014 at 08:37:28 UTC, Brian Schott wrote:
> New betas are available for both tools. Hopefully no more bugs will be found. I plan to tag these as non-beta this Saturday.

Thank you, this is a valuable tool for me.

Mike

March 06, 2014
On Wednesday, 5 March 2014 at 08:37:28 UTC, Brian Schott wrote:
> New betas are available for both tools. Hopefully no more bugs will be found. I plan to tag these as non-beta this Saturday.
>
> https://github.com/Hackerpilot/Dscanner/tree/0.1.0-beta3
> https://github.com/Hackerpilot/DCD/tree/0.3.0-beta4
>

On building this zip file:

    https://github.com/Hackerpilot/DCD/archive/0.3.0-beta4.zip

It generates this compiler error:

    D:\projects\dcd\DCD>build.bat

    D:\projects\dcd\DCD>dmd -wi client.d messages.d stupidlog.d msgpack-d/src/msgpack.d -Imsgpack-d/src -release
    -inline -noboundscheck -O -ofdcd-client.exe

    D:\projects\dcd\DCD>dmd actypes.d conversion/astconverter.d conversion/first.d conversion/second.d
    conversion/third.d autocomplete.d constants.d messages.d modulecache.d semantic.d server.d stupidlog.d
    dscanner/stdx/d/ast.d dscanner/stdx/d/entities.d dscanner/stdx/d/lexer.d dscanner/stdx/d/parser.d
    dscanner/stdx/lexer.d dscanner/stdx/allocator.d dscanner/formatter.d msgpack-d/src/msgpack.d
    -Imsgpack-d/src -Idscanner -wi -g -O -release -noboundscheck -inline -ofdcd-server.exe

    modulecache.d(138): Error: cannot implicitly convert expression (f.size()) of type ulong to uint

Cheers Jussi
March 06, 2014
On Thursday, 6 March 2014 at 13:36:46 UTC, Jussi Jumppanen wrote:
>     modulecache.d(138): Error: cannot implicitly convert expression (f.size()) of type ulong to uint

I fixed that by adding cast(size_t) at that location.

But after fixing that problem the build still fails, I had to remove -g flag in build.bat file. I assume it was added by mistake?

The problem appears on Windows 7 32bit.

March 06, 2014
On Thursday, 6 March 2014 at 14:13:57 UTC, develop32 wrote:
> On Thursday, 6 March 2014 at 13:36:46 UTC, Jussi Jumppanen wrote:
>>    modulecache.d(138): Error: cannot implicitly convert expression (f.size()) of type ulong to uint
>
> I fixed that by adding cast(size_t) at that location.
>
> But after fixing that problem the build still fails, I had to remove -g flag in build.bat file. I assume it was added by mistake?
>
> The problem appears on Windows 7 32bit.

Is this a compiler bug? The -g switch should not break anything. I left it there because this is a beta and I'd prefer that people be able to give me useful bug reports more easily.
March 06, 2014
On Thursday, 6 March 2014 at 13:36:46 UTC, Jussi Jumppanen wrote:
>     modulecache.d(138): Error: cannot implicitly convert expression (f.size()) of type ulong to uint
>
> Cheers Jussi

This is fixed on the master branch and will be included in the
next beta / final release.
March 07, 2014
On Thursday, 6 March 2014 at 19:11:19 UTC, Brian Schott wrote:
>
> This is fixed on the master branch and will be included in the
> next beta / final release.

The master branch zip file fixed the compile issue but the linker now fails with this link error:

    OPTLINK (R) for Win32  Release 8.00.15
    Copyright (C) Digital Mars 1989-2013  All rights reserved.
    http://www.digitalmars.com/ctg/optlink.html
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_malloc
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_free
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_realloc
    --- errorlevel 3

The project was build as follows:

    D:\projects\dcd\DCD>dmd actypes.d conversion/astconverter.d conversion/first.d conversion/second.d conversion/third.d au
    tocomplete.d constants.d messages.d modulecache.d semantic.d server.d stupidlog.d dscanner/stdx/d/ast.d dscanner/stdx/d/
    entities.d dscanner/stdx/d/lexer.d dscanner/stdx/d/parser.d dscanner/stdx/lexer.d dscanner/stdx/allocator.d dscanner/for
    matter.d msgpack-d/src/msgpack.d -Imsgpack-d/src -Idscanner -wi -g -O -release -noboundscheck -inline -ofdcd-server.exe

Using this version of the compiler:

    DMD32 D Compiler v2.065
    Copyright (c) 1999-2013 by Digital Mars written by Walter Bright
    Documentation: http://dlang.org/
    Usage:
    dmd files.d ... { -switch }

Cheers Jussi
March 09, 2014
As develop32 mention earlier in this, running the build with the -g option causes this linker error:

    D:\projects\dcd\DCD>dmd actypes.d conversion/astconverter.d conversion/first.d conversion/second.d conversion/third.d au
    tocomplete.d constants.d messages.d modulecache.d semantic.d server.d stupidlog.d dscanner/stdx/d/ast.d dscanner/stdx/d/
    entities.d dscanner/stdx/d/lexer.d dscanner/stdx/d/parser.d dscanner/stdx/lexer.d dscanner/stdx/allocator.d dscanner/for
    matter.d msgpack-d/src/msgpack.d -Imsgpack-d/src -Idscanner -wi -O -release -noboundscheck -inline -g -ofdcd-server.exe
    OPTLINK (R) for Win32  Release 8.00.15
    Copyright (C) Digital Mars 1989-2013  All rights reserved.
    http://www.digitalmars.com/ctg/optlink.html
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_malloc
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_free
    dcd-server.obj(dcd-server)
     Error 42: Symbol Undefined __aligned_realloc
    --- errorlevel 3

Without the -g option the link goes fine:

    D:\projects\dcd\DCD>dmd actypes.d conversion/astconverter.d conversion/first.d conversion/second.d conversion/third.d au
    tocomplete.d constants.d messages.d modulecache.d semantic.d server.d stupidlog.d dscanner/stdx/d/ast.d dscanner/stdx/d/
    entities.d dscanner/stdx/d/lexer.d dscanner/stdx/d/parser.d dscanner/stdx/lexer.d dscanner/stdx/allocator.d dscanner/for
    matter.d msgpack-d/src/msgpack.d -Imsgpack-d/src -Idscanner -wi -O -release -noboundscheck -inline -ofdcd-server.exe

Cheers Jussi
March 20, 2014
The latest Zeus IDE beta adds support for DCD document comment completion.

Zeus already has support for DCD goto definition, brace and dot completion.

For more details refer to this link:

http://www.zeusedit.com/zforum/viewtopic.php?p=10795

NOTE: Zeus is shareware, runs natively on the Windows and can run on Linux using Wine.

Jussi Jumppanen
Author: Zeus Editor