1 |
Incremental Semantic Evaluation for Interactive Systems: Inertia, Pre-emption, and Relations
|
|
|
|
Abstract:
Although schemes for incremental semantic evaluation have been explored and refined for more than two decades, the demands of user interaction continue to outstrip the capabilities of these schemes. The feedback produced by a semantic evaluator must support the user's programming activities: it must be structured in a way that provides the user with meaningful insight into the program (directly, or via other tools in the environment) and it must be timely. In this paper we extend an incremental attribute evaluation scheme with three techniques to better meet these demands within the context of a modeless editing system with a flexible tool integration paradigm. Efficient evaluation in the presence of syntax errors (which arise often under modeless editing) is supported by giving semantic attributes inertia: a tendency to not change unless necessary. Pre-emptive evaluation helps to reduce the delays associated with a sequence of edits, allowing an evaluator to "keep pace" with the user. Relations provide a general means to capture semantic structure (for the user, other tools, and as attributes within an evaluation) and are treated efficiently using a form of differential propagation. The combination of these three techniques meets the demands of user interaction; leaving out any one does not.
|
|
Keyword:
280302 Software Engineering; 280303 Programming Languages; attribute grammars; incremental evaluation; language-based editor; semantic evaluation
|
|
URL: https://espace.library.uq.edu.au/view/UQ:9542 https://espace.library.uq.edu.au/view/UQ:9542/techrep.pdf
|
|
BASE
|
|
Hide details
|
|
5 |
Incremental parsing in language-based editors: user needs and how to meet them
|
|
|
|
BASE
|
|
Show details
|
|
|
|