Saltar al contenido

LISP – Estructura del programa

octubre 21, 2021

Las expresiones LISP se denominan expresiones simbólicas o expresiones-s. Las expresiones-s se componen de tres objetos válidos, átomos, listas y cadenas.

Cualquier expresión-s es un programa válido.

Los programas LISP se ejecutan en un Interprete o como código compilado.

El intérprete verifica el código fuente en un ciclo repetido, que también se denomina ciclo de lectura-evaluación-impresión (REPL). Lee el código del programa, lo evalúa e imprime los valores devueltos por el programa.

Un programa simple

Escribamos una expresión-s para encontrar la suma de tres números 7, 9 y 11. Para hacer esto, podemos escribir en la indicación del intérprete.

(+ 7 9 11)

LISP devuelve el resultado:

27

Si desea ejecutar el mismo programa que un código compilado, cree un archivo de código fuente LISP llamado myprog.lisp y escriba el siguiente código en él.

(write (+ 7 9 11))

Cuando hace clic en el botón Ejecutar, o escribe Ctrl + E, LISP lo ejecuta inmediatamente y el resultado devuelto es:

27

LISP utiliza la notación de prefijo

Es posible que haya notado que LISP usa notación de prefijo.

En el programa anterior, el símbolo + funciona como el nombre de la función para el proceso de suma de los números.

En notación de prefijo, los operadores se escriben antes de sus operandos. Por ejemplo, la expresión,

a * ( b + c ) / d

se escribirá como –

(/ (* a (+ b c) ) d)

Tomemos otro ejemplo, escribamos código para convertir temperatura Fahrenheit de 60o F a la escala de centígrados –

La expresión matemática para esta conversión será:

(60 * 9 / 5) + 32

Cree un archivo de código fuente llamado main.lisp y escriba el siguiente código en él.

(write(+ (* (/ 9 5) 60) 32))

Cuando hace clic en el botón Ejecutar, o escribe Ctrl + E, LISP lo ejecuta inmediatamente y el resultado devuelto es –

140

Evaluación de programas LISP

La evaluación de los programas LISP tiene dos partes:

El proceso de evaluación toma los siguientes pasos:

  • El lector traduce las cadenas de caracteres a objetos LISP o Expresiones-s.

  • El evaluador define la sintaxis de Lisp formas que se construyen a partir de expresiones-s. Este segundo nivel de evaluación define una sintaxis que determina qué expresiones-s son formularios LISP.

  • El evaluador funciona como una función que toma una forma LISP válida como argumento y devuelve un valor. Esta es la razón por la que ponemos la expresión LISP entre paréntesis, porque estamos enviando la expresión / forma completa al evaluador como argumentos.

El programa ‘Hola mundo’

Aprender un nuevo lenguaje de programación no despega realmente hasta que aprenda a saludar al mundo entero en ese idioma, ¿verdad?

Por lo tanto, cree un nuevo archivo de código fuente llamado main.lisp y escriba el siguiente código en él.

(write-line "Hello World")

(write-line "I am at 'Tutorials Point'! Learning LISP")

Cuando hace clic en el botón Ejecutar, o escribe Ctrl + E, LISP lo ejecuta inmediatamente y el resultado devuelto es:

Hello World

I am at 'Tutorials Point'! Learning LISP
close