A Formal Translation From an Imperative Language With Array to a Declarative Language

  • Authors:
  • D. Godbout;B. Ktari;M. Mejri

  • Affiliations:
  • Computer Science Department, Laval University, Quebec, Canada, E-mail: daniel.godbout.1@ulaval.ca, {ktari, mejri}@ift.ulaval.ca;Computer Science Department, Laval University, Quebec, Canada, E-mail: daniel.godbout.1@ulaval.ca, {ktari, mejri}@ift.ulaval.ca;Computer Science Department, Laval University, Quebec, Canada, E-mail: daniel.godbout.1@ulaval.ca, {ktari, mejri}@ift.ulaval.ca

  • Venue:
  • Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The goal of this paper is to present a translation function of programs written in an imperative language with array to programs written in a declarative language. The two languages used, L1 and L2, are extensions of the languages introduced by [1] which supported expressions needed by a programming language such as assignment, loops and conditional branching. To those, were added expressions related to array creation (x = allocate(y)), manipulation (x[1] = 9) and destruction (free(x)). The original translation function also needed some modifications to migrate program with array definitions from L1 to L2. Indeed, the original translation function could not handle a single variable having multiple definitions at different offsets (indexes).