Publicación:
Desarrollo de una herramienta software para la visualización de los registros de activación y el estado del cómputo durante la ejecución de un programa

Cargando...
Miniatura
Fecha
2023-10-03
Editor/a
Director/a
Tutor/a
Coordinador/a
Prologuista
Revisor/a
Ilustrador/a
Derechos de acceso
Atribución-NoComercial-SinDerivadas 4.0 Internacional
info:eu-repo/semantics/openAccess
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Nacional de Educación a Distancia (España). Escuela Técnica Superior de Ingeniería Informática
Proyectos de investigación
Unidades organizativas
Número de la revista
Resumen
El objetivo del proyecto es el desarrollo de un lenguaje de programación y un compilador como herramienta para el estudio y aprendizaje del funcionamiento de los registros de activación y el estado del cómputo. Al ejecutar un programa, las llamadas a los procedimientos y funciones, y los valores que devuelven los mismos se manejan en tiempo de ejecución mediante una pila llamada pila de control. Cada llamada en vivo a estos procedimientos y funciones produce en la parte superior de esta pila su propio registro de activación, que incluye todos los datos necesarios para el correcto funcionamiento del programa. Asimismo, durante la ejecución de un programa, los valores que contienen las variables en un momento determinado de la ejecución se denomina estado del cómputo. Estos dos conceptos de registro de activación y estado del cómputo se estudian en profundidad en la UNED a lo largo del Grado en Ingeniería Informática dentro de las asignaturas de Teoría de los Lenguajes de Programación, Procesadores del Lenguaje I y Procesadores del Lenguaje II. El proyecto muestra el desarrollo de un entrono web donde el alumno puede escribir y compilar sus propios programas en un lenguaje muy sencillo diseñado adhoc para al proyecto. Posteriormente a esta compilación, el usuario puede de una manera fácil y sencilla, ir viendo cómo se crean y destruyen los diferentes registros de activación dentro de la pila de control, los valores que se van almacenando en las diferentes partes que compone cada registro de activación y el estado del cómputo que es la evolución de las variables que va teniendo a lo largo de la ejecución del programa en un momento dado del mismo.
The objective of the project is the development of a programming language and a compiler such as tool for the study and learning of the operation of activation register and the status of computation. When a program runs, the procedures and functions calls, and the values they return are handled at run time by a stack called stack control. Every live call to these procedures and functions produces on then top of this stack its own activation register, which includes all the data necessary for the proper functioning of the program. Likewise, during the execution of a program, the values contained in the variables in a specific moment of execution is called the status of computation. These two concepts of activation register and status of computation are studied in depth at UNED throughout the Degree in Computer Engineering within the subjects of Theory of Programming Languages, Language Processors I and Language Processors II. The project shows the development of a web environment where the student can write and compile its owns programs in a very simple language designed ad hoc for the project. After this compilation, the user can, in an easy and simple way, see how the different activation register are created and destroyed within the control stack, the values that are stored in the different parts that make up each activation register and the status of computation, which is the evolution of the variables that it has throughout the execution of the program at a given moment in the program.
Descripción
Categorías UNESCO
Palabras clave
compilador, lenguaje, pila, registro, activación, variable, enlace, control, acceso, estado, Jison, web, HTML, CSS, JavaScript
Citación
Centro
E.T.S. de Ingeniería Informática
Departamento
No procede
Grupo de investigación
Grupo de innovación
Programa de doctorado
Cátedra
DOI