es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

sbcl analiza y ejecuta inmediatamente con –script.

Si ejecuto el siguiente código Common Lisp:

(print "A")
(print "B")
(print "C - No closing bracket")

sbcl --script ./test.lisp

Se imprimirán las letras A y B. Después de eso, aparecerá el error como se esperaba.

¿SBCL analiza la(s) primera(s) línea(s) (o en otras palabras, el código encerrado entre los corchetes) y lo ejecuta inmediatamente antes de pasar a la siguiente parte? ¿O analiza todo el archivo y “marca” que hay un error de análisis en un punto específico en el AST?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es probable que SBCL analice el código línea por línea, ejecutando cada línea antes de pasar a la siguiente. En este caso, se ejecutarán las líneas 1 y 2 y se imprimirán las cadenas “A” y “B”. Sin embargo, cuando llegue a la línea 3, encontrará un error de sintaxis debido a la falta del corchete de cierre y detendrá la ejecución sin intentar ejecutar ninguna de las líneas restantes en el archivo.

    En cuanto al árbol de sintaxis abstracta (AST), es probable que SBCL construya el AST mientras analiza el archivo, pero no podrá construir un AST completo si hay un error de sintaxis que le impide analizar todo el archivo. En este caso, “marcará” el error en el punto donde ocurrió en el código y el AST no estará completo para el resto del archivo.

Comments are closed.