Las expresiones que usamos en Lisp se conocen como expresiones s, que se componen de átomos, strings y listas. Una expresión s es en sí misma un programa válido.
REEMPLAZAR:
REPL es un acrónimo de Read Evaluate Print Loop . En el caso de un intérprete, se lee el programa, se verifican los errores en los bucles y el programa devuelve el valor.
El programa Lisp puede ejecutarse en un intérprete o como un código compilado.
Programa simple en Lisp:
Lisp
; LISP code for ; Multiplication of 4 number in Lisp (write (* 2 5 8 10))
Producción:
Notación de prefijos en Lisp:
- Tenga en cuenta que en la notación de prefijos, los operadores se escriben antes que los operandos.
- Para realizar cualquier operación, se utiliza la notación de prefijo como en el ejemplo anterior.
- El símbolo ‘*’ anterior actúa como una función que multiplica los números proporcionados como operandos.
((a+(bc))/d) en notación de prefijo se escribe como:
(/(+ a (- bc) ) d)
Ejemplo:
Lisp
; LISP code for Expression ; ((9+(6-3))/3) (write (/(+ 9(- 6 3))3))
Producción:
Evaluación del programa Lisp:
La evaluación del programa Lisp implica dos pasos:
- Reader Program traduce el texto del programa a objetos Lisp
- El Programa Evaluador implementa la semántica del lenguaje en términos de los objetos.
Veamos los pasos de la evaluación:
- El lector traduce el texto del programa a la expresión s.
- El evaluador define la sintaxis de los formularios Lisp que se crean a partir de expresiones s y también determina qué expresiones s son formularios Lisp.
- El evaluador funciona como una función que toma una forma Lisp válida como argumento y la evalúa a un valor, por lo tanto, ponemos la expresión Lisp entre paréntesis porque enviamos la expresión de texto completa como argumento.
Ahora, para comenzar a escribir código en Lisp, simplemente cree un nuevo archivo como «nombre.lisp» y escriba el código mencionado en él:
Ejemplo:
Lisp
; LISP code for ; Hello World Program (write-line "Hello World")
Producción:
Publicación traducida automáticamente
Artículo escrito por kishanpandeyrkt y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA