Refined compilation of pattern-matching for functional languages (Q1123586)

From MaRDI portal





scientific article; zbMATH DE number 4110068
Language Label Description Also known as
default for all languages
No label defined
    English
    Refined compilation of pattern-matching for functional languages
    scientific article; zbMATH DE number 4110068

      Statements

      Refined compilation of pattern-matching for functional languages (English)
      0 references
      0 references
      1988
      0 references
      Gegenstand des Papiers ist ein Algorithmus, der auf pattern-matching basierende Funktionsdefinitionen funktionaler Sprachen in sogenannte imperative Ausdrücke übersetzt. Die Semantik der Quellsprachen- Funktionen ist durch einen call-by-value Term-Ersetzungsprozeß definiert; die Zielsprache besteht aus geschachtelten if-then-else- Ausdrücken. Als wesentliche Neuerung gegenüber den in der Literatur bisher behandelten Übersetzungsalgorithmen akzeptiert der hier vorgestellte Algorithmus neben den Term-Ersetzungsregeln der Funktion als weiteren Parameter eine Beschreibung der möglichen Argumente (domain). Dieser zusätzliche Parameter führt zu einer einfachen Formulierung des Algorithmus und ermöglicht außerdem die Erzeugung von effizienteren Zielsprachenprogrammen. Ausgehend von Aufwandsbetrachtungen entwickelt der Autor eine Heuristik, die die Effizienz des Algorithmus verbessert. Erweiterungen der Quellsprache mit Teilmengentypen (subtypes), Gleichungen (equations between constructors) und bedingten Term-Ersetzungsregeln (conditional rewrite rules), die ohne große Änderungen am Algorithmus übersetzt werden können, demonstrieren die Bedeutung des Verfahrens für die Implementierung funktionaler Sprachen.
      0 references
      functional languages
      0 references
      term rewriting
      0 references
      pattern-matching compilation
      0 references

      Identifiers

      0 references
      0 references
      0 references
      0 references
      0 references
      0 references