Utilidades para el desarrollo y prueba de programas. Compiladores. Intérpretes. Depuradores.
Sumario
- 1 Rúbrica
- 2 Introducción
- 3 Análisis y sísntesis
- 4 Fases del análisis
- 5 Fases de la síntesis
- 6 Fases de un compilador
- 7 Adminitrador de la tabla de símbolos
- 8 Manejador de errores
- 9 Programas relacionados con un compilador
- 10 Herramientas para la construcción de compiladores
- 11 Intérpretes
- 12 Compiladores interpretados
- 13 Depuradores
- 14 Bibliografía
- 15 Referencias
Rúbrica
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
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
- Aho, A. V.; Lam, M.; Sethi, R.; Ullman, J. D.: "Compiladores: Principios, Técnicas y Herramientas" Addison-Wesley. 2008.
- Patterson D.A. y Hennessy JL. "Estructura y diseño de computadoras: la interfaz hardware/software" 5a Ed. (20??) Edt McGraw-Hill
Referencias
- https://www.oposinet.com/temario-de-informatica/temario-3-informatica/tema-29-utilidades-para-el-desarrollo-y-prueba-de-programas-2/
- https://www.oposinet.com/temario-de-informatica/temario-1-informatica/tema-29-utilidades-para-el-desarrollo-y-prueba-de-programas/
- http://nube.burningthetowers.com/oposiciones/Temario/Propio/31.%20Utilidades%20para%20el%20desarrollo%20y%20pruebas%20de%20programas.%20Compiladores.pdf
- https://blog.makeitreal.camp/lenguajes-compilados-e-interpretados/
- https://ed.team/blog/lenguajes-compilados-vs-lenguajes-interpretados
- para qué sirve Nexus o Artifactor
- Repositorio de artefactos privado con Nexus