Efficient handling of data structures in definitional languages (Q1102735)

From MaRDI portal

!

This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use the normal view instead:

scientific article; zbMATH DE number 4050959
Language Label Description Also known as
default for all languages
No label defined
    English
    Efficient handling of data structures in definitional languages
    scientific article; zbMATH DE number 4050959

      Statements

      Efficient handling of data structures in definitional languages (English)
      0 references
      0 references
      0 references
      1988
      0 references
      Implementations of operations on general data structures in definitional languages often lead to excessive copying and storage requirements. To partially overcome this problem, users are given facilities to select efficient storage structures or to guide storage allocation. This contradicts the spirit of definitional languages, requiring the user to get involved with implementation details. This paper presents a method for automatically recognizing excessive copying and optimizing the storage for data structures. Based on analysis of data dependencies, the storage may be reduced from an entire structure to individual elements of the structure. The benefits are especially significant in incremental structures, where only a constant number of elements of a large data structure is modified in each operation. For incremental structures, copying of unchanged parts of the structure is avoided, and unnecessary iterations are eliminated, without involving the user in this consideration. The user is thus relieved of considering the inefficiencies inherent in specifications in definitional languages. The method is applicable to a variety of language processors and computer architectures. The proposed optimization method produces better results than those obtained by explicit storage references. The paper describes the implementation of the method in the compiler of the MODEL definitional language. First, criteria are presented for recognizing structures that may be optimized. Then, a transformation that removes iterations implied by the operations on incremental structures is described. The method is exemplified by its application to the non- recursive iteration computation of the Ackermann's function.
      0 references
      non-recursive iteration computation of Ackermann's function
      0 references
      general data structures
      0 references
      definitional languages
      0 references
      storage structures
      0 references
      storage allocation
      0 references
      incremental structures
      0 references
      implementation
      0 references
      compiler
      0 references

      Identifiers