On 2010-10-25 22:21:01 -0400, bearophile <bearophileh...@lycos.com> said:
Michel Fortin:
I'd like it very much if dmd printed the column number
for the caret in addition to the line.
The C# compiler too show those column number. But last time Walter has
explained that to do this, the compiler has to keep more data (all
those line numbers), so this may slow down the compilation a little.
And of course currently this information is not present, so it probably
requires a good amount of changes to be implemented.
It's not that hard to implement. I did a custom version of the DMD
frontend to do something similar for the early versions of D for Xcode.
I needed to have the exact start and end location of each token
expressed in character index from the beginning of the file. I used
that for syntax highlighting.
To get column numbers in error messages, here's all I'd expect you need to do:
1. add a column field to the Loc struct (in mars.h)
2. make the lexer keep track of the current column
3. make error() print that field
Give it a try if you want.
Then you can do some benchmark to check how slower it is (probably
nothing noticeable).
--
Michel Fortin
michel.for...@michelf.com
http://michelf.com/