P. 1
Mapa Mental Anterior

Mapa Mental Anterior

|Views: 812|Likes:
Publicado porJuliamx2009

More info:

Published by: Juliamx2009 on Jul 01, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

08/10/2010

pdf

text

original

TRABAJO: PROYECTO FINAL MATERIA: SOFTWARE DE SISTEMA INTEGRANTES DEL EQUIPO : VICTOR HUGO CARRILLO GARCIA EZEQUIEL GONZALEZ

VELAZQUEZ SERGIO GOMEZ JIMENEZ FRANCO ALEJANDRO MARTINEZ LOPEZ RENE SANTAMARIA MUNGIA CATEDRATICO: LIC. JULIA MARIA MUÑOZ LARA

Mapa Mental
Aplicación 1 Aplicación 2

Paso a paso de aplicaciones

Paso a paso de aplicaciones

Graficas de información

Graficas de información

Problemática y Justificación
En la escuela Benito Juárez García el profesor Sergio Martínez López tenia la problemática del control de sus alumnos. Es así que decidió adquirir un programa para llevar el registro de sus alumnos, capturando cada nombre e imprimiéndolos en

Programa (Código)
Programa fuente

Compilador
Analizador lexicografico Analizador sintáctico Analizador semántica Programa objeto

Ligador Cargador
Programa ejecutable

Programa (En ejecución)

Cargador
Programa ejecutable

PROGRAMA FUENTE
Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programación). Necesita ser traducido a código máquina para poder ser ejecutado. Por lo general este es un archivo que es creado por el usuario como un texto ASCII con o sin un formato especifico aunque también puede ser el resultado de algún otro proceso Programas que generan programas

PROCESAMIENTO
Un preprocesador es la estrategia generalmente adoptada como solución a lenguajes huéspedes, extensiones, lenguajes 4GL, o lenguajes de dominio especifico. El preprocesador es un traductor encargado de transformar dichas instrucciones a instrucciones del lenguaje anfitrión (generalmente un tradicional 3GL) sobre las cuales finalmente trabajar el compilador. Esta etapa es definitivamente opcional.

COMPILADOR Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina y de comprobar que las llamadas a las funciones de librería se realizan correctamente.

ANALIZADOR LEXICOGRAFICO
El analizador léxico lee los caracteres del programa fuente, y verifica que correspondan a una secuencia lógica. En esta fase, la cadena de caracteres que conforma al programa fuente es despojada de comentarios, espacios en blanco y otros elementos superfluos. El programa encargado de hacer esto es conocido como un scanner , y de aquí que al proceso se le refiera comúnmente como scanning (exploración). Durante esta fase se identifican los elementos gramaticales usados en la creación del programa. Cada elemento identificado es substituido por un digo numérico conocido como token .

ANALIZADOR SINTÁCTICO
Dicho de otra manera, que los tokens pertenezcan a frases gramaticales validas, que el compilador utiliza para sintetizar la salida. La cadena de tokens resultante es alimentada a un programa conocido como parser . El parser es el encargado de verificar que la secuencia y disposición de los tokens corresponda con la sintaxis del lenguaje. Este proceso de verificación sintáctica es conocido como parsing y es completamente guiado por la gramática del

EL ANALIZADOR SEMÁNTICO
El analizador semántico verificara en este caso que cada operador tenga los operandos permitidos. En esta etapa se reúne la información sobre los tipos para la fase posterior, en esta etapa se utiliza la estructura jerárquica de la etapa anterior y así poder determinar los operadores, y operandos de expresiones y preposiciones.

GENERACION DE CODIGO INTERMEDIO
Una vez que la secuencia de tokens ha sido validada, esta es utilizada para identificar el sentido de la acción a realizar y generar el correspondiente c digo en lenguaje m quina. Algunos compiladores recurren a la creación de código intermedio para posteriormente generar la secuencia de instrucciones maquina necesarias, mientras que algunos otros proceden a la generación directa del código maquina. ésta acción código máquina.

OPTIMIZACION DE CODIGO.
Esta es otra etapa opcional. La optimización de c digo es una actividad que raya en un arte dominado solamente por un experimentado programador de ensamblador y conocedor de la arquitectura del computador. Existen algunas técnicas desarrolladas al respecto pero nada supera a la experiencia de un hábil programador. En esta etapa, ya sea posteriormente o trabajando al unísono con el generador de c digo, secuencias de instrucciones y estructuras de datos son examinadas buscando su substitución con secuencias, instrucciones o estructuras m s cortas, r pidas o eficientes.

PROGRAMA OBJ

Programa (o código) objeto: Es el programa fuente traducido (por el compilador) a código máquina. Aún no es directamente ejecutable.

LIGADOR

Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producirá un programa ejecutable .exe. Las librerías son una colección de código (funciones) ya programado y traducido a código máquina, listo para utilizar en un programa y que facilita la labor del programador.

CARGADOR

Un cargador es un programa que realiza la función de carga, pero muchos cargadores también incluyen relocalización y ligado.

PROGRAMA EJECUTABLE
Una vez que tenemos el programa en lenguaje máquina, para poderlo ejecutar hay que introducirlo en la memoria. 1. Una utilidad del S.O. llamada cargador colocará el programa, y sus datos de entrada, en memoria principal, preparándolo para su ejecución. 2. El S.O. le pasa el control a la C.P.U. para que comience la ejecución del programa, realizando la Unidad de Control los siguientes pasos (fases): Captación de la instrucción: Lee de la Memoria Principal la instrucción a ejecutar. Ejecución de la instrucción: Interpreta la instrucción leída y envía señales de control a las unidades que deban intervenir en su ejecución. Tras dicha ejecución se establece cuál será la siguiente instrucción a ejecutar.

Compilador

CARGADOR

Grafica de información
Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa: • Los errores en tiempo de compilación son los que se producen antes de la ejecución del programa, durante el proceso de compilación del programa. • Los errores en tiempo de ejecución son los que se producen durante la ejecución del programa. Son los más difíciles de encontrar, no son detectados por el compilador, ya que son errores de lógica, no de sintaxis. Aunque al compilar un programa no de errores, el programa puede funcionar incorrectamente y/o a dar errores durante su ejecución. Por ejemplo: • Un programa puede producir resultados erróneos, al

Los errores que se pueden producir en la fase de compilación son: − Errores fatales: Son raros. Indican errores internos del compilador. Cuando ocurren la compilación se detiene inmediatamente. − Errores de sintaxis: Son los errores típicos de sintaxis. No detienen la compilación sino que al finalizar ésta se mostrará la lista con todos los errores encontrados. Algunos errores suelen ser consecuencia de otros cometidos con anterioridad. Con este tipo de errores no se puede obtener un programa objeto y por lo tanto tampoco el ejecutable. − Advertencias o avisos (warnings): Indican que hay líneas de código sospechosas que a pesar de no infringir ninguna regla sintáctica, el compilador las encuentra susceptibles de provocar un error. Cuando se

PROGRAMA 1
TIEMPO DE COMPILACION TIEMPO DE EJECUCION

OBSERVACIONES
4 segundos 5 segundos en empezar el proceso

ERRORES DE TIEMPO DE EJECUCION No se encontró errores ERRORES DE TIEMPO DE COMPILACION ERRORES LOGICOS ERRORES DE SINTAXIS ERRORES FATALES ADVERTENCIAS O AVISOS No se encontró errores No se encontró errores No se encontró errores No se encontró errores No se encontró errores

PROBLEMÁTICA
MAS QUE NADA SERIA ENTENDER EL FUNCIONAMIENTO DE LOS COMPILADORES, ASI COMO EL DE LA IMPORTANCIA QUE TIENEN EN LAS TECNOLOGIAS DE INFORMACION, Y SABER COMO ES QUE HAN IDO EVOLUCIONANDO

JUSTIFICACION

NOSOTROS DECIDIMOS PONER ESTE PROGRAMA DE EXPLICACION YA QUE ES UN PROGRAMA NO MUY COMPLICADO, YA QUE EXISTEN MAS COMPLEJOS, ADEMAS FACILITA EL USO Y LA IMPORTANCIA QUE TIENEN LOS PROGRAMAS CARGADORES Y COMPILADORES

Programa fuente

Compilador
Analizador lexicografico Analizador sintáctico Analizador semántica Programa objeto

Ligador Cargador
Programa ejecutable

Cargador

COMO ACTUA EL COMPILADOR

EL ANALIZADOR SEMANTICO SE DA CUENTA QUE ESTA USANDO LISTAS ENLAZADAS AL ENCONTRAR UNA CLASE AUTOREFERENCIADA ES ESTE CASO NODE LE AVISA AL ANALIZADOR SINTACTICO DE QUE DEBE DE CONECTAR LOS NODOS POR MEDIO DEL NEXT EN EL CUERPO PRINCIPAL MAIN INICIALIZA CON LA FUNCION TOP QUE ES UNA VARIABLE DE REFERENCIA EL COMPILADOR DIVIDE EL PROGRAMA FUENTE EN ANALISIS Y LA SINTESIS DURANTE EL ANALISIS SE DA CUENTA DE TODAS LAS OPERACIONES QUE NECESITA EFECTUAR EN EL PROGRAMA FUENTE EN ESTE CASO SE DA CUENTA EL ANALIZADOR LEXICOGRAFICO QUE DEBE CREAR UNA ESTRUCTURA JERARQUICA LLAMADA ARBOL LO CREA Y ORDENA AL ANALIZADOR SEMANTICO QUE TODAS LAS INSTRUCCIONES SIGAN UN PROCESO LOGICO ADEMAS DE NO TENER ERRORES DE SINTAXIS

SI ES ASI DETIENE EL PROGRAMA FUENTE Y LE MUESTRA AL PROGRAMADOR SUS ERRORES ASI COMO TAMBIEN LE INDICA EL NUMERO DE RENGLON DONDE ESTAN  EL PROGRAMADOR LO MODIFICA Y LO VUELVE A COMPILAR  SI YA NO ES EXISTEN ERRORES EL ANALIZADOR SEMANTICO ENVIA UN MENSAJE DE PROCESO COMPLETO ESO INDICA QUE YA PUEDE SER EJECUTADO SI ES ESI EL PROGRAMA FUENTE SE CONVIERTE EN PROGRAMA OBJETO FINALMENTE EL CARGADOR ES EL QUE SE ENCARGA DE LLEVARLO A LA MEMORIA EL PROGRAMA YA ES EJECUTABLE .EXE EL CARGADOR APARTA UN TAMAÑO EN LA MEMORIA DONDE EJECUTARA ESE PROGRAMA.

PROGRAMA 2
TIEMPO DE COMPILACION TIEMPO DE EJECUCION

OBSERVACIONES
6 segundos: mayor proceso

10 segundos en empezar el proceso mayor ejecuciones tiene el programa ERRORES DE TIEMPO DE EJECUCION No se encontró errores ERRORES DE TIEMPO DE COMPILACION ERRORES LOGICOS ERRORES DE SINTAXIS ERRORES FATALES ADVERTENCIAS O AVISOS No se encontró errores No se encontró errores No se encontró errores No se encontró errores No se encontró errores

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->