Abstract Data Types in Stack Based Languages.

Abstract

Abstract data types are the basis of an emerging methodology of computer programming. The only existing languages supporting abstract data types directly, CLU and Simula, both require compacting garbage collection, and thus they are not suitable for many applications. This thesis presents the design of a new language incorporating abstract data types; the language requires only a run-time stack, and not garbage collection. This new language, called ASBAL(for 'A Stack Based Abstraction Language'), is based on CLU, and borrows as many features as possible directly from it. Virtually every significant feature of CLU is carried over into ASBAL in some form, and extensions are included when necessary. For example, the maximum size of objects becomes an issue and is resolved by the addition of size parameters to types. Also, a limited facility for dynamic storage allocation is incorporated in ASBAL to compensate for the removal of a garbage collected heap. This facility allows list and graph structures to be built within the framework of the stack while preventing dangling references as a 'side-effect' of compile-time type checking. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1978
Accession Number
ADA052332

Entities

People

  • John Eliot Blakeslee Moss

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Biomedical
  • Energy and Power Technologies
  • Ground and Sea Platforms

DTIC Thesaurus Topics

  • Abstracts
  • Computational Science
  • Computations
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Department Of Defense
  • High Level Languages
  • Language
  • Lists (Data Structures)
  • Massachusetts
  • Military Research
  • Programming Languages
  • Semantic Models
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.