Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleJune 1989
Experiences creating a portable cedar
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 322–329https://doi.org/10.1145/73141.74847Cedar is the name for both a language and an environment in use in the Computer Science Laboratory at Xerox PARC since 1980. The Cedar language is a superset of Mesa, the major additions being garbage collection and runtime types. Neither the language ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Determining average program execution times and their variance
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 298–312https://doi.org/10.1145/73141.74845This paper presents a general framework for determining average program execution times and their variance, based on the program's interval structure and control dependence graph. Average execution times and variance values are computed using frequency ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
On-the-fly detection of access anomalies
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 285–297https://doi.org/10.1145/73141.74844Access anomalies are a common class of bugs in shared-memory parallel programs. An access anomaly occurs when two concurrent execution threads both write (or one thread reads and the other writes) the same shared memory location without coordination. ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Coloring heuristics for register allocation
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 275–284https://doi.org/10.1145/73141.74843We describe an improvement to a heuristic introduced by Chaitin for use in graph coloring register allocation. Our modified heuristic produces better colorings, with less spill code. It has similar compile-time and implementation requirements. We ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Register allocation via clique separators
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 264–274https://doi.org/10.1145/73141.74842Although graph coloring is widely recognized as an effective technique for global register allocation, the overhead can be quite high, not only in execution time but also in memory, as the size of the interference graph needed in coloring can become ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 -
- ArticleJune 1989
Spill code minimization techniques for optimizing compliers
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 258–263https://doi.org/10.1145/73141.74841Global register allocation and spilling is commonly performed by solving a graph coloring problem. In this paper we present a new coherent set of heuristic methods for reducing the amount of spill code generated. This results in more efficient (and ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Inline function expansion for compiling C programs
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 246–257https://doi.org/10.1145/73141.74840Inline function expansion replaces a function call with the function body. With automatic inline function expansion, programs can be constructed with many small functions to handle complexity and then rely on the compilation to eliminate most of the ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
A language for writing code generators
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 238–245https://doi.org/10.1145/73141.74839Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
BEG: a generator for efficient back ends
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 227–237https://doi.org/10.1145/73141.74838This paper describes a system that generates compiler back ends from a strictly declarative specification of the code generation process. The generated back ends use tree pattern matching for code selection. Two methods for register allocation ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Reasoning about continuations with control effects
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 218–226https://doi.org/10.1145/73141.74837We present a new static analysis method for first-class continuations that uses an effect system to classify the control domain behavior of expressions in a typed polymorphic language. We introduce two new control effects, goto and comefrom, that ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Type reconstruction with first-class polymorphic values
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 207–217https://doi.org/10.1145/73141.74836We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed second-order polymorphic lambda calculus. The system will accept ML-style programs, explicitly typed programs, and ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Incremental generation of parsers
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 179–191https://doi.org/10.1145/73141.74834An LR-based parser generator for arbitrary context-free grammars is described, which generates parsers by need and processes grammar modifications by updating already existing parsers. We motivate the need for these techniques in the context of ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Scannerless NSLR(1) parsing of programming languages
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 170–178https://doi.org/10.1145/73141.74833The disadvantages of traditional two-phase parsing (a scanner phase preprocessing input for a parser phase) are discussed. We present metalanguage enhancements for context-free grammars that allow the syntax of programming languages to be completely ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
An LR substring parser for noncorrecting syntax error recovery
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 161–169https://doi.org/10.1145/73141.74832For a context-free grammar G, a construction is given to produce an LR parser that recognizes any substring of the language generated by G. The construction yields a conflict-free (deterministic) parser for the bounded context class of grammars (Floyd, ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 146–160https://doi.org/10.1145/73141.74831Dynamically-typed object-oriented languages please programmers, but their lack of static type information penalizes performance. Our new implementation techniques extract static type information from declaration-free programs. Our system compiles ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Higher order attribute grammars
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 131–145https://doi.org/10.1145/73141.74830A new kind of attribute grammars, called higher order attribute grammars, is defined. In higher order attribute grammars the structure tree can be expanded as a result of attribute computation. A structure tree may be stored in an attribute. The term ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
A VHDL compiler based on attribute grammar methodology
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 120–130https://doi.org/10.1145/73141.74829This paper presents aspects of a compiler for a new hardware description language (VHDL) written using attribute grammar techniques. VHDL is introduced, along with the new compiler challenges brought by a language that extends an Ada subset for the ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
A fresh look at combinator graph reduction
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 110–119https://doi.org/10.1145/73141.74828We present a new abstract machine for graph reduction called TIGRE. Benchmark results show that TIGRE's execution speed compares quite favorably with previous combinator-graph reduction techniques on similar hardware. Furthermore, the mapping of TIGRE ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Experience with CST: programming and implementation
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 101–109https://doi.org/10.1145/73141.74827CST is a programming language based on Smalltalk-802 that supports concurrency using locks, asynchronous messages, and distributed objects. In this paper, we describe CST: the language and its implementation. Example programs and initial programming ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7 - ArticleJune 1989
Parallel compilation for a parallel machine
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementationPages 91–100https://doi.org/10.1145/73141.74826An application for a parallel computer with multiple, independent processors often includes different programs (functions) for the individual processors; compilation of such functions can proceed independently. We implemented a compiler that exploits ...
Also Published in:
ACM SIGPLAN Notices: Volume 24 Issue 7