Automatic design and implementation of language data types

  • Authors:
  • S. T. Shebs;R. R. Kessler

  • Affiliations:
  • Department of Computer Science, University of Utah, Salt Lake City UT;Department of Computer Science, University of Utah, Salt Lake City UT

  • Venue:
  • SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

Language implementation is in need of automation. Although compiler construction has long been aided by parser generators and other tools, interpreters and runtime systems have been neglected, even though they constitute a large component of languages like Lisp, Prolog, and Smalltalk. Of the several parts of a runtime system, the primitive datatype definitions present some of the most difficult decisions for the implementor. The effectiveness of type discrimination schemes, interactions between storage allocation and virtual memory, and general time/space tradeoffs are issues that have no simple resolution-they must be evaluated for each implementation. A formalism for describing implementations has been developed and used in a prototype designer of primitive data structures. The designer is a collection of heuristic rules that produce multiple designs of differing characteristics. Cost evaluation on machine code derived from those designs yields performance formulas, which are then used to estimate the designs' effect on benchmark programs.