Difference between revisions of "Syntax checking/SRS"
 (→Parser)  | 
				|||
| Line 3: | Line 3: | ||
= Parser =  | = Parser =  | ||
| − | # Should only parse when neccessary,   | + | # Should only parse when neccessary:  | 
| − | # Provide errors in adequate datastructure to visualisation components   | + | ## When editing a new or correct expression:  | 
| − | #   | + | ### After typing a point, comma, colon, semi-colon, space, tab or line-break  | 
| + | ### After leaving the edited expression (using courser or mouse)  | ||
| + | ## When editing a incorrect expression:  | ||
| + | ### After each added character  | ||
| + | # Provide errors in adequate datastructure to visualisation components  | ||
| + | ##linenumber  | ||
| + | ##type of error  | ||
| + | ##further information)  | ||
| + | # Whenever the visualisation of an expression should change, the parser should call an event handler provided by visualization components  | ||
| + | |||
| + |    '''Note:'''  | ||
| + |    * A new expression is correct until it becomes incorrect.  | ||
| + |    * The state of an expression can only be changed when the cursor leaves it.  | ||
= Visualization =  | = Visualization =  | ||
Revision as of 08:11, 2 May 2006
Contents
Goal
Provide adequate, but non intrusive feedback to user about syntax errors.
Parser
-  Should only parse when neccessary:
-  When editing a new or correct expression:
- After typing a point, comma, colon, semi-colon, space, tab or line-break
 - After leaving the edited expression (using courser or mouse)
 
 -  When editing a incorrect expression:
- After each added character
 
 
 -  When editing a new or correct expression:
 -  Provide errors in adequate datastructure to visualisation components
- linenumber
 - type of error
 - further information)
 
 - Whenever the visualisation of an expression should change, the parser should call an event handler provided by visualization components
 
Note: * A new expression is correct until it becomes incorrect. * The state of an expression can only be changed when the cursor leaves it.
Visualization
- Provides event handler and register it to parser error-event
 - Underline syntax errors using a (preferably wavy) red line
 - On mouse over, show information on error
 - Information window could be clickabel to provide further error information
 
Suggestions
- To be implemented after parser and visualization components are feature complete
 - Suggestions based on information from parse tree
 - Analyzation based on soundex or other algorithm
 

