[antlr-interest] ANTLRWorks 2 (for ANTLR v4)

William Clodius wclodius at los-alamos.net
Thu Sep 1 18:28:23 PDT 2011


On Sep 1, 2011, at 2:20 PM, Andreas Stefik wrote:

> <snip>
> 
> Errors and Syntax:
> 
> 1. By far my biggest annoyance with errors in antlrworks are that the
> default editor delay is too fast. There are two problems: 1) studies
> show this is not necessary (called liveness), as there are little user
> benefits for key-stroke-by-keystroke checking while the user is
> typing, 2) the constant checking is unnecessary usually and really
> slows down typing performance. On some slow machines, the default
> settings, which students often don't know they can change, are pretty
> unbearable. I hear this complaint constantly from students.
> 
> This one has an easy fix. NetBeans, for example, only sends off a
> check event IF the user has stopped typing for 0.5 seconds (they call
> this the parsing and indexing loop). In other words, their update
> delay is a measure that gets checked only after the last keystroke. It
> never executes while you are typing. This works extremely well and is
> a good compromise for fast typers and still gives you the benefit of
> "near" liveness, which does have benefits.
> 
> In other words:
> A. Wait till the user has stopped typing.
> B. If <Update Delay> has passed, THEN do the check.
> 
> Similarly, 500 mseconds is the default from NetBeans and I think that
> also diminishes slowdowns.

I agree that the editor delay is too fast and it is a major usability problem. It may be a particular problem with me as I have a hand tremor that causes more typos and pauses than is typical of others. FWIW I would probably prefer special treatment for a change in line due to either movement of the curser to a new line or entering a return key for while I am on the same line it is likely that I am considering more mods of that line.

In other words:
A. Wait till the user has stopped typing.
B. If the last keyboard or mouse entry has resulted in a change in line position and any key other than cursor movement has been entered since the last check do the check, otherwise
C. If <Update Delay> has passed, THEN do the check.

With <Update Delay> user definable, but a default of 0.5 seconds. (I would probably set it to 1 or 2 seconds.)

> 
> 2. It would be nice if the Errors/warnings/etc in the console could be
> set to automatically clear itself out when you click generate,
> especially if the grammar generates successfully. Maybe you can, but I
> don't see the setting.

This would be very useful.

> <snip>
> 
> Andreas Stefik, Ph.D.
> Assistant Professor
> Department of Computer Science
> Southern Illinois University Edwardsville
> 
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address



More information about the antlr-interest mailing list