Anda di halaman 1dari 9

1.

3 PROCESOS DE COMPONENTES EMISOR (CODIFICADOR) RECEPTOR DECODIFICADOR CDIGO MENSAJE CANAL RUIDO O INTERFERENCIA REFERENTE SITUACIN RETROALIMENTACIN

1.4 TRADUCTOR Y SU ESTRUCTURA UN TRADUCTOR ES UN PROGRAMA QUE OBTINE UN CODIGO FUENTE ESCRITO EN CIERTO LENGUAJE Y LO CONVIERTA A UN CODIGO DISTINTO U OBJETO ESCRITO EN UN LENGUAJE DIFERENTE. CODIGO FUENTE TRADUCION CODIGO OBJETO EXISTEN DIVERSOS TIPOS DE TRADUCCIONES ENTRE ELLOS LOS ENSABLADORES, COMPILADORES E INTRPRETES. 1.4.1 ENSAMBRADOR DEL TERMINO EN INGLES ASSAMBLER, ES UN PROGRAMA QUE SE ENCARGA DE TRADUCIR UN CODIGO FUENTE ESCRITO EN LENGUAJE ENSAMBLADOR A UN CODIGO OBJETO ESCRITO EN LENGUAJE MAQUINA (BINARIO DE 1 Y 0). EL LENGUAJE ENSAMBLADOR ES UN CONJUNTO DE REGLAS Y MICROINSTRUCIONES DENOMINADAS NEMONICOS O NEMOTECNICOS QUE UN MICROPROCESADOR PUEDE EJECUTAR DIRECTAMENTE. EXISTEN DIVERSOS TIPOS DE ENSAMBLADORES POR EJEMPLO: MODULADORES* CUANDO GENERAN EL CODIGO OBJETO LO GENERAN EN MODULOS DE 32 BITS Y 64 BITS * NUMERO DE BITS POR INSTRUCION DEPENDEINDO DEL MANEJADOR BASICOS *ESPECIALES CRUZADOS *ENSAMBLADOR DE ARQUITECTURAS DIFERENTES SACANDO EJECUTABLES DE SERVIDORES COMPLIDADO EN LOS SERVIDORES Y SEUTILIZA EN OTRA MAQUINA.

1.4.2 COMPILADORES EL COMPILADOR O UN PROGRAMA TRADUCTOR QUE OBTIENE COMO ENTRADA UN CODIGO FUENTE ESCRITO EN UN LENGUAJE DE ALTO NIVEL Y LO CONVIERTE A UN CODIGO OBJETO ESCRITO EN UN LEGUNAJE DE MAS BAJO NIVEL, ESNAMBLADOR O MAQUINA. LOS COMPILADORES COMUNMENTE SE DIVIDEN EN DOS PARTES: 1.- FRONT END O ANALISIS. SE ENSCARGA DE REALIZAR LOS ANALISIS LEXICO, SINTATICO Y SEMATICO PARA VERIFICAR QUE EL CODIGO FUENTE ENTE CORRECTAMENTE ESCRITO. 2.- BACK END O SINTESIS. SE ENSCARGA DE REALIZAE TODAS LAS CPONVERSACIONES AL NUENVO LENGUAJE Y OPTIMIZA EL CODIGO PARA MEJORAR LA VELOCIDAD DE EJECUCION Y REDUCIR TAMAO.

EXISTEN VARIOS TIPOS DE COMPILADORES CRUZADOS OPTIMIZADORES DE UN FASE *HACE ANALISIS Y TRADUCCION AL MISMO TIEMPO DE DOS FASES DE VARIAS FASES JIT(JUST IN TIME)

LAS FUNCIONES PRINCIPALES DE UN COMPILADOR A N A L I S I S S I N T E S I S DETECTAR ERRORES TRADUCIR OTIMIZAR LEXICO


TABLA DE SIMBOLOS

SINTATICO
ARBOL SINTATICO

SEMATICO
FILA SEMATICA

RUTINA DE MANEJO DE ERRORES

GENERACION DE CODIGO INTERMEDIO


OPTIMIZACION DE CODIGO INTERMEDIO

ESTRUCTURA DE UN COMPILADOR
SINTEXIS CONSTRUYE UN ARBOL.

GENERACION DE CODIGO OBJETO


OPTIMIZACION DE CODIGO INTERMEDIO

CODIGO OBJETO

1.4.3 INTERPRETES UN INTERPRETE EN UN PROGRAMA QUE TRADUCE Y EJECUTA INSTRUCCIN POR INSTRUCCIN UN CODIGO FUENTE. ES DECIR LEE UN LINEA DEL CODIGO FUENTE, LA TRADUCE. LA EJECUTA Y PASA A LA SIGUINETE INSTRUCCIN. PREVIO A ESTO PUEDE REALIZAR UN LECTURA GENERAL PARA CONSTRUIR L ATABLA DE SIMBOLOS. EJEMPLO DE INTRPRETE EN UN NAVEGADOR JAVASCRIPT:ALERT("HOLA");

EN ALGUNOS EXPLORADORES PUEDE EST BLOQUEADO POR SEGURIDAD.

EJEMPLO 2

EJEMPLO 3 SE CICLA EL NAVEGADOR CON EL CODIGO. DIFERENCIAS ENTRE COMPILADOR E INTERPRETE C++(COMPILADOR) Y JAVA(INTERPRETE) AL MENOS 4 ENTRE USTEDES LEE TODO EL CODIGO Y EJECUTA EL CODIGO LEE UN LINEA Y EJECUTA ASI SUSESIVAMENTE CON TODAS LAS LINEAS.

GENERADOPRES DE CODIGO PARA COMPILADORES(COMPILADOR DE COMPILADOR) UN COMPILADOR O COMPILADOR ES UN PROGRAMA QUE RICIBE COMO ENTRADA LAS ESPECIFICACIONES DEL ELNGUAJE APARA EL QUE DESEA OBTENER UN POMPILADOR GENERO COMO SALIDDA EL COMPILADOR PARA ESE LENGUAJE.

DEFINICION DE NUEVO LENGUAJE

METACOMPILADOR

COMPILADOR

LAS ESPECIFICACIONED DEL LENGUAJE CON REGLAS GENERALMENTE REPRESENTADAS POR EXPRESIONES REGULARES Y GRAMTICAS. ACTUALMENTE EXISTE UN PROBLEMA DE UNIR LA PARTE DE ANALISIS CON LA SINTESIS, SIN EMBARGO EXISTEN ALGUNOS GENERADORES DE ANALIZADORES LEXICOS Y SINTACTICOS COMO LEX Y YACC.

LINUX FEDORA----X MANDRAKE DEBIAN RED HAT UBUNTU SUSE BACKTRACK (ANALISIS DE REDES)

COMO INSTALAR UNA MAQUINA VIRTUAL UNIDAD 2 INTRODUCCION AL DISEO DE LOA LENGUAJES DE PROGRAMACION. OBJETIVO: LAS BASES QIE DEBEN TOMAR EN CUENTA PARA EL BUN DISEO DE UN LENGUAJE DE PROGRAMACION. 2.1 VISIN DEL PROBLEMA EL PROBLEM AES EL DISEO Y PROGRAMACION DE UN COMPILADOR Y EN CONSECUANCIA LA DEFINICION DEL LENGUAJE DE PROGRAMACION QUE ENTENDERA EL NUEVO COMPILADOR. EL LENGUAJE DE PROGRAMACION DEBE ESTAR DEFINIDO DESCRIBIENDO EL ASPECTO DE SUS PROGRAMAS (SINTAXIS) Y EL SIGNIFICADO DE ESTOS (SEMANTICA).PARA ESTO SE DEBE CONSIDERAR LO SIGUIENTE: 2.2 CONCIDERACIONES PRELIMINARES 1. TIPOS DE LENGUAJE NOTA: PARA VER COMO SE DESARROLA UN NUEVO LENGUAJE DE PROGRAMACION. A) B) C) D) LENGUAJE NATURAL LENGUAJE ARTIFICIAL LENGUAJE ARTIFICIAL ABSTRACTO: LENGUAJE MATEMATICO LENGUAJE ARTIFICIAL COMPUTACIONAL a. LENGUAJE MAQUINA b. LENGUAJE ENSAMBLADOR c. LENGUAJE DE ALTO NIVEL

2. ESTRUCTURA DEL LENGUAJE EL LENGUAJE SE COMPONE DE: COMPONENTES LEXICOS. CONJUNTO DE VOCABLOS O PALABRAS QUE EN PROGRAMACION SE LLAMAS TOKENS *las palabras. Revisa palabra por palabra para revisar si esta bien escrita COMPONENTES SINTACTICOS. CONJUNTO DE REGLAS QUE INDICAN COMO DEBEN ESTAR AGRUPADOS Y ORDENADOS LOS TOKENS. *revisa una instruccin

COMPONENTES SEMANTICOS. CONJUNTO DE REGLAS QUE INDICAN EL SIGNIFICADO DE UN CONJUNTO DE TOKENS Y SE RELACIONAN DIRECTAMENTE CON LA SINTATICTICA.

Ejemplo: Dependiente de contesto. Por que se depende del complemento para que se vea el significado de la palabra. Te veo en el cafToma El nio toma leche El nio toma el camin El nio toma la mano El nio toma el ejemplo -while (mientras) El lenguaje natural tendra ms de un significado, pero en un LP debera tener solo uno y debe especificarse por una regla. 2.3 OBJETIVOS Y FILOSOFAS DEL DISEO DE LOS LENGUAJES DE PROGRAMACIN LOS OBJETIVOS DE DISEAR UN NUEVO LENGUAJE DE PROGRAMACIN SON: FACILITAR LA PROGRAMACION REALIZANDO LENGUJAES SENCILLOS DE COMPRENDER PARA SOLUCIONAR PROBLEMAS ESPECIFICOS EXTENDER FUNCIONALIDADES

LA FILOSOFIA DEBE TENERSE AL DISEAR NUEVOS LENGUAJES ES: PROCUAR QUE EL LENGUAJE SEA LO MAS PARECIDO AL HUMANO; Y ABSTRAERSE DE CUALQUIER OTRO LENGUJAE DE PROGRAMACION, ES DECIR CONCENTRARSE EN EL NUEVO LENGUAJE Y EVITAR COPIAR LOS QUE AY EXISTEN: Y PENSANDO EN LA NECESIDAD DEL USUARIO FINAL. *CREAR UN LEGUAJE SENCILLOS *MEJORAR EL SISTEMA *EXTENDER ALGUNA FUNCIONALIDAD *SE DEBE VER PARA QUE USUARIO. *RESOLVER MUCHOS PROBLEMAS ** AL DISEAR NO SE DEBE COPIAR UN SISTEMA... ES MEJOR EMPEZAR DESDE CERO. SE PUEDE ANALISAR OTRO LENGUJAE PERO NO HACER EL MISMO O QUE SE TENGA LAS MISMAS CARACTERISTICAS, DEBE SER LO MAS PARECIDO POSIBLE. 2.4 DISEO DETALLADO PARA DISEAR U LENGUAJE DE PROGRAMACION SE DEBE SEGUIR LOS SIGUIENTES PASOS: A) BUSCAR EL AREA DE OPORTUNIDAD IDENTIFICAR EN DONDE SE PUEDE IMPLEMENTAR EL LENGUJAE, CONSIDERANDO QUE UN LENGUAJE DEBE PERMITIR RESOLVER UN NUMERO INFINITO DE PROBLEMAS E INVOLUCRANDO A LOS FUTUROS USUARIOS. Ejemplos: visual fox - aplicacin en base de datos (basado ms en bases de datos) Visual Basic aplicacin empresarial

Clips Aplicaciones de sistemas expertos inteligencia artificial. B) DEFINIR LA ORIENTACIN DEL LENGUAJE ESPECIFICAR DE FORMA MUY CLARA EL TIPO DE LENGUAJE EN CUANTO A SU FORMA GENERAL DE CONSTRUCCIN, POR EJEMPLO ESTRUCTURADO, ORIENTADO A OBJETOS, ORIENTADO A EVENTOS, FUNCIONAL C ESTRUCTURADO JAVA ORIENTADO A OBJETOS VB ORIENTADO A EVENTOS LIPS FUNCIONAL C) DEFINIR LOS ESTATUTOS

DEFINIR QUE ESTATUTOS SE UTILIZARAN NO BASNDOSE EN OTROS LENGUAJES O EN SU CASO TOMAR LO MEJOR Y AADIR INNOVACIONES QIE LO HAGAN PRACTICO Y TIL. LOS ESTATUTOS ESTNDAR SON: ENTRADA Y SALIDA. EJEMPLO DE C SCANF Y PRINTF. CONDICIONALES. EJEMPLO IF, SWITCH. CICLOS. EJEMPLO WHILE, FOR, DO. ASIGNACIN. EJEMPLO C: VARIABLE=VALOR. 4->X EJEMPLO C: FUNCIN (PARMETROS) CALL SUMA

D) DEFINIR ESTRUCTURA DE DATOS SE DEBEN CONSIDERAR LOS TIPOS DE DATOS QUE SE MANEJARAN Y LAS ESTRUCTURAS QUE PUEDEN ARMAR CON ESTOS. ES LA PARTE MAS COMPLEJA QUE MANEJA UN COMPILADOR POR LO QUE DEBEN UTILIZARSE LAS ESTRUCTURAS ESTRICTAMENTE NECESARIAS. ALGUNOS TIPO SON: 1. NUMRICOS. ENTEROS Y FLOTANTES. 2. ALFANUMRICOS. CARACTERES Y CADENAS 3. BOLANOS 4. FECHAS Y HORAS 5.- COMPUESTOS. ARREGLOS, MATRICES, ESTRUCTURAS, UNIONES, ETC. E) DEFINIR LA EXPRESIN CONSIDERAR LAS EXPRESIONES QUE SE PUEDEN UTILIZAR SEGN EL TIPO DE LENGUAJE ARITMTICAS BOOLEANAS COMPARACIN

LOS OPERADORES A UTILIZAR Y CREAR UNA JERARQUA DE EVALUACIN C= 2+3*4; // 14 1 && 0 > 3-2

F)

DEFINIR LAS REGLAS SEMNTICAS

SE DEFINE LAS REGLAS PARA LAS EXPRESIONES, LAS FORMAS EN CMO SE EVALUARAN, AS COMO PARA LOS ESTATUTOS, NO RESTRINGIDO EN LOS POSIBLE LAS COMBINACIN DE TIPOS DEFINIR LO QUE S SE PUEDE SUMAR. PERO SI SE TIENE UNA CADENA Y UN NMERO MARCA ERROR SI NO MARCA EL TIPO DE DATO QUE SE TIENE. EJEMPLO: SUMA: ENTERO + ENTERO ENTERO SUMA: ENTERO + FLOTANTE FLOTANTE G) DEFINIR SINTAXIS SE DEBE DEFINIR LA ESTRUCTURA DE CADA INSTRUCCIN SOPORTADA POR EL LENGUAJE DECLARACIONES Y ESTATUTOS DE FORMA EXPLCITA Y DETALLADA. POR EJEMPLO: DECLARACIONES C TIPO VARIABLE; TIPO VARIABLE, VARIABLE, . . . ; ESTO SE REALIZA MEDIANTE DIAGRAMAS (AUTMATAS O GRAMTICAS). 2.5 CASO DE ESTUDIO DISEAR UN LENGUAJE DE PROGRAMACION, CONCIDERANDO LOS PUENTOS DEL TEMA ANTERIOS AREA ORIENTACION ESTATUTOS(MINIMO 3, ADEMAS DE LA ASIGNACION Y ENTRADA Y SALIDA) ESTRUCTURA (MINIMO 3) EXPRESIONES (ARITMETICAS, BOLEANAS Y COMPARACION CON AL MENOS 2 OPERADORES CADA UNA

E. ARITMETICAS SUMA + RESTA E. BOLEANAS Y O E. COMPARACION MAYOR > MENOR < REGLAS ARITMETICAS PARA EXPRESIONES

SINTAXIS DE ESTATUTOS, DECLARACIONES Y XPRESIONES CON AUTOMATAS O DIAGRAMAS EQUIPOS DE 4 ALUMNOS MAXIMO

Anda mungkin juga menyukai