Need a Faster Compressor

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Tue May 24 13:16:32 PDT 2016


On 5/24/2016 9:22 AM, Timon Gehr wrote:
> Yes, it does. The compiler does not use exponential space to store the AST.

BTW, all types in dmd have a 'deco' string which is the AST linearized as a 
string. This string is also used to build the mangled names.

All the deco's are put into a hashtable, and then all types can be uniquely 
identified by their address in the hashtable. This reduces type comparisons to a 
single pointer comparison.


More information about the Digitalmars-d mailing list