On 05/03/2014 12:34 AM, Tim Holzschuh via Digitalmars-d-learn wrote:
Most probably this isn't a wrong use of something D-specific
Some of the problems are:
@property Lexer lexer() pure { return _lexer; }
If you change the result of a call to 'lexer' this will not change
'_lexer'. Mark the property 'ref' or get rid of it
if( !previous && !token.type == TokenType.end )
popFront();
=>
if(!previous && token.type != TokenType.end) popFront();
Let me know if you also want hints on how to get the logic right.