Re: Spell checking identifiers

Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid>
Thu, 25 Jun 2020 21:44:45 +0800

          From comp.compilers

Related articles
[2 earlier articles]
Re: Spell checking identifiers gah4@u.washington.edu (2020-06-23)
Re: Spell checking identifiers derek@_NOSPAM_knosof.co.uk.invalid (Derek M. Jones) (2020-06-24)
Re: Spell checking identifiers 937-053-0959@kylheku.com (Kaz Kylheku) (2020-06-24)
Re: Spell checking identifiers tkoenig@netcologne.de (Thomas Koenig) (2020-06-24)
Re: Spell checking identifiers gautier_niouzes@hotmail.com (2020-06-24)
Re: Spell checking identifiers gah4@u.washington.edu (2020-06-24)
Re: Spell checking identifiers johann@myrkraverk.invalid (Johann 'Myrkraverk' Oskarsson) (2020-06-25)
Re: Spell checking identifiers johann@myrkraverk.invalid (Johann 'Myrkraverk' Oskarsson) (2020-06-25)
| List of all articles for this month |

From: Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid>
Newsgroups: comp.compilers
Date: Thu, 25 Jun 2020 21:44:45 +0800
Organization: Easynews - www.easynews.com
References: 20-06-010 20-06-014 20-06-015
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="42191"; mail-complaints-to="abuse@iecc.com"
Keywords: lex, errors
Posted-Date: 25 Jun 2020 11:54:27 EDT
In-Reply-To: 20-06-015
Content-Language: en-GB

On 25/06/2020 4:08 am, Thomas Koenig wrote:
> Kaz Kylheku <937-053-0959@kylheku.com> schrieb:
>> On 2020-06-23, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:
>>> 5 | return j; // the variable, not the type.
>>> | ^ help: a local variable with a similar name exists: `i`
>
>> I don't find these kinds of childish diagnostic messages useful at all.
>>
>> They have started to appear in GCC also.
>
>> The good old "undeclared identifier `j`" requires no update, thanks.
>
> At least gcc doesn't do the suggestion in that particular case:
>
> foo.c: In function 'foo':
> foo.c:8:7: error: 'j' undeclared (first use in this function)
> 8 | x[j] = a[i] > b[i];
> | ^
> foo.c:8:7: note: each undeclared identifier is reported only once for each function it appears in
>


A friend showed me the ghc code for this, and it deliberatly (according
to comments) excludes single variable names. I don't understand enough
Haskell to tell exactly what the code is doing, but they seem to be
using the Damerau-Levenshtein distance algorithm based on identifier
names.


Now, whether this is useful is of course debatable, and I would
personally like to give people a choice to either turn it on, or
off. We can argue about defaults if/when I have a published
compiler.


--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.