Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Implementing ALGOL 68 predicates
Patel R., Hunter R. Software--Practice & Experience16 (1):87-97,1986.Type:Article
Date Reviewed: Feb 1 1987

There is much to be said for the idea that if a system is given a formal definition, its implementation should follow that definition as closely as possible. The formal definition then becomes a roadmap to the implementation that, at the very least, improves the implementation’s maintainability. However, formal definitions are constructed primarily for economy of expression, not for ease or efficiency of direct implementation, and the result is usually a compromise in which the implementor deforms the roadmap into a distantly related schematic.

In this paper, one aspect of the powerful two-level grammar definition of ALGOL 68, as it appears in [1], is demonstrated to be directly and, with some well-defined transformations, efficiently implementable. Predicates, which are used to enforce the non-context-free aspects of the language definition (such as type agreement), but do not perform a generative function in the grammar (they reduce to the null string if true, and if false to an irreducible non-terminal string that blocks the completion of a sentence), become semantic procedures in a parser implementation. The presentation is thorough and relatively easy to follow.

Reviewer:  P. N. van den Bosch Review #: CR111016
1) van Wijngaarden, A. et al.Revised report on the algorithmic language ALGOL 68, Acta Inf. 5, 1–3.
Bookmark and Share
 
ALGOL-68 (D.3.2 ... )
 
 
Compilers (D.3.4 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
 
Formal Definitions And Theory (D.3.1 )
 
Would you recommend this review?
yes
no
Other reviews under "ALGOL-68": Date
A history of ALGOL 68
Lindsey C. ACM SIGPLAN Notices 28(3): 97-132, 1993. Type: Article
Jun 1 1994

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