[antlr-interest] ANTLRWorks 1.4 released

William B. Clodius wclodius at los-alamos.net
Wed May 12 18:52:07 PDT 2010


On May 12, 2010, at 12:25 PM, Terence Parr wrote:

> Wow. This is really weird, because that is my exact setup!
> 
> OH! Duh.I am not looking at the console. I'm an idiot. doh! ok, what is the suggested solution? I'm sure I can fix it for Jean.   as Jim suggests, you can simply turn up the delay  for the grammar analysis. I guess it should simply not spit out any errors at all and simply highlight the elements in the grammar text, right?
> 
> Ter
<snip>
Ter:

This is a problem with human interface design, and humans are notoriously error prone and impatient which makes human interface design very difficult. What typically happens with me is ANTLRWorks starts up with the Syntax Diagram display, I do an extensive edit, ask it to Generate Code, it tells me there are errors and to check the Console, I go there to see the errors and they start scrolling off the screen as it continues to report errors due to intermediate changes that have not fixed the error I am working on. Turning up the delay is an unintuitive kluge that will continually cause problems for newbys. Also ANTLRWorks became less stable after this behavior appeared and less responsive. Could the error reporting be keeping track of more state than earlier versions?

Think about what you want from the console and even if you want the console. Can the functionality be put in the Interpreter or Debugger? A keyboard command to go to the next error could work well in another window.

If you had a mode that distinguished errors and only errors that might be good. For me highlighting is already being overused. Why do you need to visually distinguish minor aspects of syntax? Particularly when most syntactic elements are already distinguished by capitalization rules. How do the color blind deal with it?

How is ANTLRWorks deciding  when to check for errors? From Jim's comment it sounds as if it checks if a given interval has passed since the last keystroke. I would instead check either after a command to check, or after one of a finite set of keystrokes i.e. a carriage return or a space that would not normally be associated with changing an ANTLR lexical item. I would make checking after those keystrokes a user selectable preference. I would never check after a delete or the entry of a printable character.



More information about the antlr-interest mailing list