Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Generating editing environments based on relations and attributes
Horwitz S., Teitelbaum T. ACM Transactions on Programming Languages and Systems8 (4):577-608,1986.Type:Article
Date Reviewed: Apr 1 1987

A hybrid basis for the implementation of Language-Based Editors (LBEs), called relationally attributed grammars, is introduced in this paper. Information about the state of a source program is kept as a combination of attributes to a parse tree (rather standard) and database relations (the novel contribution). The advantages claimed include that database tables are more efficient because global information need not be passed through many levels of a parse tree as attributes. They also provide a systematic way of checking static-semantics, detecting anomalies, and responding to queries.

The paper presents algorithms for efficiently responding to queries and updating views. The essence of the algorithms is that a value at a node--representing either a query response or a view (which is an implicit query)--is a function of the subtree rooted at the node. A postorder traversal is used to evaluate relational operators (e.g., intersection) without materialization of the relevant relations and, in the case of views, by only evaluating incremental changes to the view.

The basis of the algorithms is the notion of Membership-Test and Selective-Retrieval functions applied to implicit and explicit tables. For example, union(A,B) may be computed by using Selective-Retrieval to obtain the elements of Table A and then using Membership-Test to determine if any are in Table B. The other standard relational operators may be similarly computed.

A prototype has been implemented (based on the Cornell LBE Synthesizer Generator) but no statistics are given for the effectiveness of the algorithms. Only the briefest numerical comparisons to other systems are given.

This paper is based on Horwitz’s PhD thesis [1]. Little background is given on editing environments or attribute grammars. Large parts of the paper read as if it were a tutorial on the relational model. For example, a grammar of condition is given and half-page figures are used to illustrate calculations which could be expressed in a few lines of SQL or the relational algebra. On the other hand, no explanation is given of a “link-cut data structure” which must be used if the algorithms are to be at all efficient.

Overall, the paper would be worth reading for someone who wishes to have an idea of one aspect of current work in LBEs. The experienced database worker would probably gain very little from it, particularly someone familiar with the INGRES QUEL decomposition algorithm.

Reviewer:  G. Chandler Review #: CR111128
1) Horwitz, S.Generating language-based editors: a relationally-attributed approach, PhD thesis, Cornell Univ., Ithaca, NY, 1985.
Bookmark and Share
 
Program Editors (D.2.3 ... )
 
 
Data Models (H.2.1 ... )
 
 
Query Processing (H.2.4 ... )
 
 
Processors (D.3.4 )
 
 
Programming Environments (D.2.6 )
 
Would you recommend this review?
yes
no
Other reviews under "Program Editors": Date
A display editor with random access and continuous control
Hammer J. International Journal of Man-Machine Studies 21(3): 203-212, 1984. Type: Article
Dec 1 1985
Showing programs on a screen
Meyer B., Nerson J. (ed), Ko S. Science of Computer Programming 5(2): 111-142, 1985. Type: Article
Dec 1 1985
Row replacement algorithms for screen editors
Meyers E., Miller W. ACM Transactions on Programming Languages and Systems 11(1): 33-56, 1989. Type: Article
Apr 1 1990
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy