Title
Circular Expressions: Elimination of Static Environments
Abstract
Consider the connection between denotational semantics for a language with goto statements and flow diagrams for programs in such a language. The main point of interest is that the denotational semantics uses a recursively defined environment to give the meaning of labels, while a flow diagram merely has a jump to the appropriate program point. A simple reduction called “indirection elimination” strips away the environment from the denotational semantics and extracts an expression with cycles that is very close to the flow diagram of a program. The same idea applies to associating bodies with recursive procedures, or to any construct whose semantics is not wedded to the syntax. In addition to being a useful data structure and conceptual device, expressions with cycles are well defined mathematical objects—their semantics can be given by unfolding them into infinite structures that have been well studied. The practicality of the elimination of environments has been tested by constructing a trial implementation, which serves as the front end of a semantics directed compiler generator. The implementation takes a denotational semantics of a language and constructs a “black box” that maps programs in the language into an intermediate representation. The intermediate representation is a circular expression.
Year
DOI
Venue
1982
10.1016/0167-6423(82)90015-6
Sci. Comput. Program.
Keywords
Field
DocType
static environments,circular expressions
Denotational semantics of the Actor model,Formal semantics (linguistics),Operational semantics,Programming language,Normalisation by evaluation,Computer science,Computational semantics,Denotational semantics,Domain theory,Theoretical computer science,Semantics
Journal
Volume
Issue
ISSN
1
3
Science of Computer Programming
ISBN
Citations 
PageRank 
3-540-10843-2
10
2.64
References 
Authors
10
1
Name
Order
Citations
PageRank
Ravi Sethi122811029.21