next up previous contents
Next: 4.2 Enlaces estáticos Up: Comunicación entre LE-LISP y Previous: Comunicación entre LE-LISP y

Introducción

En ciertas ocasiones es preciso realizar llamadas desde LE-LISP a procedimientos externos escritos en otros lenguajes de programación, principalmente C o Fortran. Dichos procedimientos se convertirán en funciones LE-LISP normales a las que se les puede pasar argumentos de cualquier tipo y de las que se puede recuperar el resultado devuelto. Las principales causas de esta comunicación con otros lenguajes son:

  1. La necesidad de comunicar programas escritos en LE-LISP con herramientas o productos comerciales que no disponen de una interfaz con LISP pero sí con otro lenguaje de programación que generalmente suele ser C en el caso de entornos Unix y Fortran o C en el caso de entornos VMS. Este caso se da, por ejemplo, cuando se necesita realizar consultas a una base de datos relacional o cuando se tiene que enlazar una analizador sintáctico escrito en LE-LISP con un analizador léxico generado mediante la herramienta Flex [Paxon 94].
  2. Conseguir un mejor rendimiento en la realización de aquellas tareas para las cuales LE-LISP no está especialmente dotado, por ejemplo tareas de cálculo numérico que involucran una elevada cantidad de operaciones complejas en punto flotante. Para realizar esas tareas con mayor eficiencia puede ser recomendable acudir a procedimientos externos escritos en lenguajes como C, Fortran o incluso ensamblador. Lo mismo puede decirse en el caso de ciertas operaciones basadas en bits sobre pantallas de alta resolución.

En las siguientes secciones se describe cómo enlazar LE-LISP con programas en C bajo entornos Unix. Esta descripción es válida también para programas Fortran y ensamblador que respeten las convenciones de las llamadas C bajo Unixgif. Sin embargo, pueden surgir problemas en la comunicación con programas escritos en lenguajes como el Pascal estándar, debido a la declaración de los ficheros en la cláusula program. Una posible solución consiste en escribir un programa Pascal que llame al sistema LE-LISP como un procedimiento externo.


next up previous contents
Next: 4.2 Enlaces estáticos Up: Comunicación entre LE-LISP y Previous: Comunicación entre LE-LISP y

Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997