Traducción automatizada de programas entre lenguajes de operaciones

Authors

  • Diego Ordóñez Camacho Universidad Tecnológica Equinoccial

DOI:

https://doi.org/10.29019/enfoqueute.v3n1.8

Keywords:

Lenguajes de programación, lenguajes de operaciones, transformaciones de código, traductores de lenguajes, Programming languages, operations languages, code transformations, languages translators

Abstract

Los lenguajes de operaciones se usan para programar, en procedimientos organizados, las instrucciones a ser ejecutadas por una máquina, para realizar distintos tipos de operaciones. Para poder importar procedimientos existentes realizados en un lenguaje de operaciones dado, en frameworks de programación específicos para el diseño de operaciones, es necesario contar con traductores entre el lenguaje en que ha sido programado el procedimiento, y el lenguaje interno utilizado por el framework de diseño. La construcción de estos traductores puede ser automatizada si se establece un mapeo entre producciones equivalentes de las gramáticas de los lenguajes fuente y destino. Las producciones se pueden considerar equivalentes cuando a pesar de tener una sintaxis diferente, tienen la misma intención semántica y pueden ser equiparadas con un árbol de sintaxis abstracta en común. Debido a ciertas diferencias sintácticas, en ocasiones este árbol sintáctico común no puede ser hallado directamente. Esto se vuelve posible, sin embargo, al realizar en primer lugar ciertas transformaciones a los programas. Este artículo presenta un acercamiento específico a la construcción de reglas de transformación para resolver estas diferencias.

Abstract:

Operations languages are used to program the procedures that instruct machinery to perform specific operations. To import procedures in a given operations language, into a dedicated tool for designing operations, language translators are needed to translate those procedures to the design tool's internal operations language. The construction of these translators can be automated by mapping equivalent productions in the grammar of source and target language. Productions are considered equivalent when, in spite of a differing syntax, they have the same intended semantics and can be matched to a same abstract syntax tree. For some corresponding productions, due to syntactic differences, such a common abstract syntax tree cannot be found directly. However, they can be made to match by performing some specific program transformations first. This paper presents a specific approach to write transformation rules to resolve such mismatches.

Downloads

Download data is not yet available.

Published

2012-06-30

How to Cite

Ordóñez Camacho, D. (2012). Traducción automatizada de programas entre lenguajes de operaciones. Enfoque UTE, 3(1), pp. 29 – 42. https://doi.org/10.29019/enfoqueute.v3n1.8

Issue

Section

Miscellaneous