Small code cleanup. Added ldc build command.
This commit is contained in:
parent
4adaae9e06
commit
0b8834a1b3
3
build.sh
3
build.sh
|
@ -1,2 +1,3 @@
|
||||||
dmd *.d std/d/*.d -release -inline -noboundscheck -O -w -wi -m64 -property -ofdscanner -L-lsqlite3 #-inline
|
#dmd *.d std/d/*.d -release -inline -noboundscheck -O -w -wi -m64 -property -ofdscanner -L-lsqlite3 #-inline
|
||||||
#dmd *.d std/d/*.d -g -m64 -w -wi -property -ofdscanner -L-lsqlite3 #-unittest
|
#dmd *.d std/d/*.d -g -m64 -w -wi -property -ofdscanner -L-lsqlite3 #-unittest
|
||||||
|
ldc2 -O3 *.d std/d/*.d -of=dscanner -L-lsqlite3
|
||||||
|
|
127
std/d/lexer.d
127
std/d/lexer.d
|
@ -55,6 +55,7 @@
|
||||||
* <html>
|
* <html>
|
||||||
* <head>
|
* <head>
|
||||||
* <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
* <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||||
|
* </head>
|
||||||
* <body>
|
* <body>
|
||||||
* <style type="text/css">
|
* <style type="text/css">
|
||||||
* html { background-color: #fdf6e3; color: #002b36; }
|
* html { background-color: #fdf6e3; color: #002b36; }
|
||||||
|
@ -441,6 +442,7 @@ private:
|
||||||
}
|
}
|
||||||
outer: switch (range.front)
|
outer: switch (range.front)
|
||||||
{
|
{
|
||||||
|
// pragma(msg, generateCaseTrie(
|
||||||
mixin(generateCaseTrie(
|
mixin(generateCaseTrie(
|
||||||
"=", "TokenType.assign",
|
"=", "TokenType.assign",
|
||||||
"@", "TokenType.at",
|
"@", "TokenType.at",
|
||||||
|
@ -499,6 +501,123 @@ private:
|
||||||
">>>=", "TokenType.unsignedShiftRightEqual",
|
">>>=", "TokenType.unsignedShiftRightEqual",
|
||||||
"^", "TokenType.xor",
|
"^", "TokenType.xor",
|
||||||
"^=", "TokenType.xorEquals",
|
"^=", "TokenType.xorEquals",
|
||||||
|
// "bool", "TokenType.bool_",
|
||||||
|
// "byte", "TokenType.byte_",
|
||||||
|
// "cdouble", "TokenType.cdouble_",
|
||||||
|
// "cent", "TokenType.cent_",
|
||||||
|
// "cfloat", "TokenType.cfloat_",
|
||||||
|
// "char", "TokenType.char_",
|
||||||
|
// "creal", "TokenType.creal_",
|
||||||
|
// "dchar", "TokenType.dchar_",
|
||||||
|
// "double", "TokenType.double_",
|
||||||
|
// "dstring", "TokenType.dstring_",
|
||||||
|
// "float", "TokenType.float_",
|
||||||
|
// "function", "TokenType.function_",
|
||||||
|
// "idouble", "TokenType.idouble_",
|
||||||
|
// "ifloat", "TokenType.ifloat_",
|
||||||
|
// "int", "TokenType.int_",
|
||||||
|
// "ireal", "TokenType.ireal_",
|
||||||
|
// "long", "TokenType.long_",
|
||||||
|
// "real", "TokenType.real_",
|
||||||
|
// "short", "TokenType.short_",
|
||||||
|
// "string", "TokenType.string_",
|
||||||
|
// "ubyte", "TokenType.ubyte_",
|
||||||
|
// "ucent", "TokenType.ucent_",
|
||||||
|
// "uint", "TokenType.uint_",
|
||||||
|
// "ulong", "TokenType.ulong_",
|
||||||
|
// "ushort", "TokenType.ushort_",
|
||||||
|
// "void", "TokenType.void_",
|
||||||
|
// "wchar", "TokenType.wchar_",
|
||||||
|
// "wstring", "TokenType.wstring_",
|
||||||
|
// "align", "TokenType.align_",
|
||||||
|
// "deprecated", "TokenType.deprecated_",
|
||||||
|
// "extern", "TokenType.extern_",
|
||||||
|
// "pragma", "TokenType.pragma_",
|
||||||
|
// "export", "TokenType.export_",
|
||||||
|
// "package", "TokenType.package_",
|
||||||
|
// "private", "TokenType.private_",
|
||||||
|
// "protected", "TokenType.protected_",
|
||||||
|
// "public", "TokenType.public_",
|
||||||
|
// "abstract", "TokenType.abstract_",
|
||||||
|
// "auto", "TokenType.auto_",
|
||||||
|
// "const", "TokenType.const_",
|
||||||
|
// "final", "TokenType.final_",
|
||||||
|
// "__gshared", "TokenType.gshared",
|
||||||
|
// "immutable", "TokenType.immutable_",
|
||||||
|
// "inout", "TokenType.inout_",
|
||||||
|
// "scope", "TokenType.scope_",
|
||||||
|
// "shared", "TokenType.shared_",
|
||||||
|
// "static", "TokenType.static_",
|
||||||
|
// "synchronized", "TokenType.synchronized_",
|
||||||
|
// "alias", "TokenType.alias_",
|
||||||
|
// "asm", "TokenType.asm_",
|
||||||
|
// "assert", "TokenType.assert_",
|
||||||
|
// "body", "TokenType.body_",
|
||||||
|
// "break", "TokenType.break_",
|
||||||
|
// "case", "TokenType.case_",
|
||||||
|
// "cast", "TokenType.cast_",
|
||||||
|
// "catch", "TokenType.catch_",
|
||||||
|
// "class", "TokenType.class_",
|
||||||
|
// "continue", "TokenType.continue_",
|
||||||
|
// "debug", "TokenType.debug_",
|
||||||
|
// "default", "TokenType.default_",
|
||||||
|
// "delegate", "TokenType.delegate_",
|
||||||
|
// "delete", "TokenType.delete_",
|
||||||
|
// "do", "TokenType.do_",
|
||||||
|
// "else", "TokenType.else_",
|
||||||
|
// "enum", "TokenType.enum_",
|
||||||
|
// "false", "TokenType.false_",
|
||||||
|
// "finally", "TokenType.finally_",
|
||||||
|
// "foreach", "TokenType.foreach_",
|
||||||
|
// "foreach_reverse", "TokenType.foreach_reverse_",
|
||||||
|
// "for", "TokenType.for_",
|
||||||
|
// "goto", "TokenType.goto_",
|
||||||
|
// "if", "TokenType.if_",
|
||||||
|
// "import", "TokenType.import_",
|
||||||
|
// "in", "TokenType.in_",
|
||||||
|
// "interface", "TokenType.interface_",
|
||||||
|
// "invariant", "TokenType.invariant_",
|
||||||
|
// "is", "TokenType.is_",
|
||||||
|
// "lazy", "TokenType.lazy_",
|
||||||
|
// "macro", "TokenType.macro_",
|
||||||
|
// "mixin", "TokenType.mixin_",
|
||||||
|
// "module", "TokenType.module_",
|
||||||
|
// "new", "TokenType.new_",
|
||||||
|
// "nothrow", "TokenType.nothrow_",
|
||||||
|
// "null", "TokenType.null_",
|
||||||
|
// "out", "TokenType.out_",
|
||||||
|
// "override", "TokenType.override_",
|
||||||
|
// "pure", "TokenType.pure_",
|
||||||
|
// "ref", "TokenType.ref_",
|
||||||
|
// "return", "TokenType.return_",
|
||||||
|
// "struct", "TokenType.struct_",
|
||||||
|
// "super", "TokenType.super_",
|
||||||
|
// "switch", "TokenType.switch_",
|
||||||
|
// "template", "TokenType.template_",
|
||||||
|
// "this", "TokenType.this_",
|
||||||
|
// "throw", "TokenType.throw_",
|
||||||
|
// "true", "TokenType.true_",
|
||||||
|
// "try", "TokenType.try_",
|
||||||
|
// "typedef", "TokenType.typedef_",
|
||||||
|
// "typeid", "TokenType.typeid_",
|
||||||
|
// "typeof", "TokenType.typeof_",
|
||||||
|
// "union", "TokenType.union_",
|
||||||
|
// "unittest", "TokenType.unittest_",
|
||||||
|
// "version", "TokenType.version_",
|
||||||
|
// "volatile", "TokenType.volatile_",
|
||||||
|
// "while", "TokenType.while_",
|
||||||
|
// "with", "TokenType.with_",
|
||||||
|
// "__DATE__", "TokenType.date",
|
||||||
|
// "__EOF__", "TokenType.eof",
|
||||||
|
// "__TIME__", "TokenType.time",
|
||||||
|
// "__TIMESTAMP__", "TokenType.timestamp",
|
||||||
|
// "__VENDOR__", "TokenType.vendor",
|
||||||
|
// "__VERSION__", "TokenType.compilerVersion",
|
||||||
|
// "__FILE__", "TokenType.file",
|
||||||
|
// "__LINE__", "TokenType.line",
|
||||||
|
// "__traits", "TokenType.traits",
|
||||||
|
// "__parameters", "TokenType.parameters",
|
||||||
|
// "__vector", "TokenType.vector",
|
||||||
));
|
));
|
||||||
case '/':
|
case '/':
|
||||||
auto r = range.save();
|
auto r = range.save();
|
||||||
|
@ -2394,13 +2513,7 @@ string printCaseStatements(K, V)(TrieNode!(K,V) node, string indentString)
|
||||||
caseStatement ~= "\tsize_t i = 0;\n";
|
caseStatement ~= "\tsize_t i = 0;\n";
|
||||||
}
|
}
|
||||||
caseStatement ~= indentString;
|
caseStatement ~= indentString;
|
||||||
caseStatement ~= "\tbuffer[i++] = '";
|
caseStatement ~= "\tkeepChar();\n";
|
||||||
caseStatement ~= k;
|
|
||||||
caseStatement ~= "';\n";
|
|
||||||
caseStatement ~= indentString;
|
|
||||||
caseStatement ~= "\t++index;\n";
|
|
||||||
caseStatement ~= indentString;
|
|
||||||
caseStatement ~= "\trange.popFront();\n";
|
|
||||||
if (v.children.length > 0)
|
if (v.children.length > 0)
|
||||||
{
|
{
|
||||||
caseStatement ~= indentString;
|
caseStatement ~= indentString;
|
||||||
|
|
Loading…
Reference in New Issue