Documente Academic
Documente Profesional
Documente Cultură
Los objetos correspondientes a procedimientos o funciones recursivas, ya que en tiempo de compilacin no se sabe el nmero de variables que sern necesarias. Las estructuras dinmicas de datos tales como listas, rboles, etc. ya que el nmero de elementos que las forman no es conocido hasta que el programa se ejecuta.
La asignacin de memoria puede hacerse en tiempo de compilacin y los objetos estn vigentes desde que comienza la ejecucin del programa hasta que termina. En los lenguajes que permiten la existencia de subprogramas, y siempre que todos los objetos de estos subprogramas puedan almacenarse estticamente se aloja en la memoria esttica un registro de activacin correspondiente a cada uno de los subprogramas. Estos registros de activacin contendrn las variables locales, parmetros formales y valor devuelto por la funcin. Dentro de cada registro de activacin las variables locales se organizan secuencialmente. Existe un solo registro de activacin para cada procedimiento y por tanto no estn permitidas las llamadas recursivas. El proceso que se sigue cuando un procedimiento p llama a otro procedimiento q es el siguiente: 1. p evala los parmetros de llamada, en caso de que se trate de expresiones complejas, usando para ello una zona de memoria temporal para el almacenamiento intermedio. Por ejemplo, s la llamada a q es q ((3*5) + (2*2),7) las operaciones previas a la llamada propiamente dicha en cdigo mquina han de realizarse sobre alguna zona de memoria temporal. (En algn momento debe haber una zona de memoria que contenga el valor intermedio 15, y el valor intermedio 4 para sumarlos a continuacin). En caso de utilizacin de memoria esttica sta zona de temporales puede ser comn a todo el programa, ya que su tamao puede deducirse en tiempo de compilacin. 2. q inicializa sus variables y comienza su ejecucin. Dado que las variables estn permanentemente en memoria es fcil implementar la propiedad de que conserven o no su contenido para cada nueva llamada