Utilidades para el desarrollo y prueba de programas. Compiladores. Intérpretes. Depuradores.

De MediaWiki
Ir a la navegación Ir a la búsqueda

Rúbrica

Rúbrica de Xuño 2021 Xunta de Galicia
Tema Peso
1 - Presentación do tema: índice, contexto, coherencia, claridade expositiva, relación co currículo, conclusións e bibliografía. 15 %
2 - Utilidades de desenvolvemento e proba de programas. Tradutor. Porgrama fonte. Programa obxecto. Contornos de desenvolvemento integrado (IDE). 8 %
3 - Compiladores. Definición. Características. Estrutura dun compilador (análise, síntese, xestión de erros). Preprocesador. Ensamblador. Linguaxes formais. 47 %
4 - Intérpretes. Definición. Características. Diferencias co compilador. Tipos de compiladores. 9 %
5 - Compiladores interpretados. Definición. Máquinas virtuais. Compilación a linguaxe intermedia. Interpretación de linguaxe intermedia. 9 %
6 - Depuradores. Definición. Características. Execución paso a paso. Puntos de rutura. Monitorización de variables. Edición de variables. 12 %

Introducción

Introducción a la compilación

Compilando y ejecutando un programa en C
Compilando y ejecutando un programa en Java

Esquema de un compilador. Componentes

Lenguajes y Gramáticas

Máquinas reconocedoras y traductoras

Herramientas para el desarrollo y prueba de programas

Compilador gcc (GNU compiler)

El compilador gcc es rápido, flexible y riguroso con el estándar de ANSI C.

Puede funcionar como compilador cruzado para un gran número de arquitecturas distintas.

En realidad gcc no genera código máquina, sino código ensamblado. La fase de ensamblado a código máquina la realiza el ensamblador de GNU (gas) y el enlazador de GNU (ld) se encarga de los objetos resultantes. Este proceso es transparente para el usuario, ya que a no ser que se especifique lo contrario, gcc realiza automáticamente el paso desde código en C a un fichero ejecutable.

Su sintaxis es:

gcc [opciones] fichero(s) 

fichero(s) puede ser uno o varios ficheros fuente o ficheros objeto

opciones puede ser: ∗ -o <ejecutable>. El fichero ejecutable generado por gcc es por defecto a.out. Mediante este modificador, se especifica el nombre del ejecutable. ∗ -Wall. No omite la detección de ningún aviso de compilación (warning). ∗ -g. Incluye en el ejecutable información necesaria para utilizar un depurador. ∗ -c. Preprocesa, compila y ensambla, pero no enlaza. El resultado es un fichero objeto con extensión .o y el mismo nombre que el fichero fuente.

Depurador gdb (GNU Debugger)

Se trata de un depurador asociado a gcc, que necesita que el programa sea compilado previamente con la opción -g.

El depurador permite establecer puntos de ruptura condicionales y detener la ejecución del programa cuando el valor de una expresión cambie.

Su sintaxis es:

gdb fichero 

donde fichero es el nombre del ejecutable creado con gcc.

Con esta instrucción se entra dentro del depurador, que se maneja mediante línea de comandos, aunque existe una interfaz gráfica de usuario para este depurador denominado ddd (GNU data display debugger) más intuitiva de manejar.

Herramienta make

Un programa en C normalmente está formado por varios ficheros fuente y ficheros cabecera. Cada vez que se modifica algún fichero fuente o cabecera, el programa debe recompilarse para crear un ejecutable actualizado. Sin embargo no es necesario recompilar todos los ficheros, sino sólo los afectados por la modificación. −La utilidad make determina automáticamente qué ficheros del programa deben ser recompilados y las órdenes que se deben utilizar para ello. Para utilizar make es necesario escribir un fichero denominado Makefile, que describe las dependencias entre ficheros y las órdenes que se deben ejecutar con cada fichero.

Análisis y sísntesis

Fases del análisis

Análisis léxico

Análisis sintáctico

Análisis semántico

Fases de la síntesis

Generador de código intermedio

Optimizador de código

Generador de código

Fases de un compilador

Adminitrador de la tabla de símbolos

Manejador de errores

Programas relacionados con un compilador

Herramientas para la construcción de compiladores

Intérpretes

Compiladores interpretados

Depuradores

Bibliografía

Referencias