DScanner is ready for use
bearophile via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Apr 22 19:08:19 PDT 2014
Brian Schott:
> DScanner is a tool for analyzing D source code. It has the
> following features:
> ...
> https://github.com/Hackerpilot/Dscanner
I have just compiled it on Windows32 and tried it.
The compilation using the given bat has failed to link:
OPTLINK (R) for Win32 Release 8.00.15
Copyright (C) Digital Mars 1989-2013 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
dscanner.obj(dscanner)
Error 42: Symbol Undefined
_D8analysis10ifelsesame15IfElseSameCheck6__ctorMFAyaZC8analysis10ifelsesame15IfElseSameCheck
dscanner.obj(dscanner)
Error 42: Symbol Undefined
_D8analysis12constructors16ConstructorCheck7__ClassZ
dscanner.obj(dscanner)
Error 42: Symbol Undefined
_D8analysis12constructors16ConstructorCheck6__ctorMFAyaZC8analysis12constructors16ConstructorCheck
dscanner.obj(dscanner)
Error 42: Symbol Undefined
_D8analysis10ifelsesame15IfElseSameCheck7__ClassZ
--- errorlevel 4
But I have built the DScanner successfully using the old "bud"
tool.
I have seen that this basic usage is not supported:
dscanner -s *.d
I have seen it doesn't support source code with unicode
identifiers or chars.
How do you enable/disable specific tests when you use -s?
This code gives four problems to Dscanner:
void main() {
auto x = float(5);
auto r = 1. + 2;
int items[5];
import std.stdio;
int.max.writeln;
}
In about 25_000 CLOC lines of my code DScanner has found several
usages of the old-style alias syntax, that I will fix. Plus it
has found three usages of the implicit string concatenation, and
two of them are (the same) bug! Andrei Alexandrescu was very
wrong to think that implicit string concatenation is a speck of
dust. I am not going to close down that enhancement request.
Bye,
bearophile
More information about the Digitalmars-d-announce
mailing list