Improving assert-printing in DMD

Jacob Carlborg via Digitalmars-d digitalmars-d at puremagic.com
Fri Oct 2 04:14:45 PDT 2015


On 2015-10-02 08:31, Per Nordlöw wrote:

> Could explain what you mean by *lowering*, please?

"lowering" means that a feature is implemented using another feature. 
For example, "foreach" is lowered to a for-loop:

foreach(i ; 0 .. 10){}

Is lowered to:

for (int i = 0; i < 10; i++) {}

The compiler rewrites the AST of the foreach-loop to the same AST that 
the corresponding for-loop would have. After that lowering step, the 
compiler doesn't need to know anything about foreach-loops.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list