Brian Schott wrote:
On Wednesday, 1 August 2012 at 17:36:16 UTC, Walter Bright wrote:

I suggest proposing the D lexer as an addition to Phobos. But if that
is done, its interface would need to accept a range as input, and its
output should be a range of tokens.

It used to be range-based, but the performance was terrible. The
inability to use slicing on a forward-range of characters and the
gigantic block on KCachegrind labeled "std.utf.decode" were the reasons
that I chose this approach. I wish I had saved the measurements on this....

Ranges are usually taken as template parameters, so you can use static if to provide different code for arrays and regular ranges.

Reply via email to