PROGRAMA DE COMPILADORES
|
|
- Arturo Sevilla Bustos
- hace 6 años
- Vistas:
Transcripción
1 1. Introducción 1.1. Tipos de traductores 1.2. Autómatas 1.3. Gramáticas formales 1.4. Fases de un compilador PROGRAMA DE COMPILADORES 2. Análisis Léxico 2.1. Definir un reconocedor de cadenas no trivial 2.2. Programar sistemáticamente el reconocedor en lo referente a la obtención del autómata, almacenarlo eficientemente y manejar adecuadamente el archivo fuente 2.3. Utilería LEX 2.4. Notaciones y nomenclatura en LEX 2.5. Programación LEX del mismo reconocedor 2.6. Comparación de dos tipos de técnicas 3. Análisis Sintáctico 3.1. Parsers LR 3.2. Gramáticas LR 3.3. Métodos SLR, LR canónico, LARL 3.4. Construcción de tablas de análisis SLR, LR canónico y LARL 3.5. Manejo de gramáticas ambiguas 3.6. Recuperación de errores 3.7. Empleo de YACC 3.8. Notación de YACC 3.9. Manejo de errores en YACC 4. Problemas de Implementación 4.1. Estrategias de acceso a memoria. Técnicas de acceso dinámico 4.2. Acceso a nombres no locales, bloques, alcance 4.3. Paso de parámetros 4.4. Tablas de datos, hashing, representación del alcance. Diferentes tipos de tablas 5. Generación de Código Intermedio 5.1. Representaciones de código intermedio 5.2. Generación de código intermedio y análisis semántico en compilación top-down 5.3. Generación de código intermedio y análisis semántico en compilación bottom-up 5.4. Instrucciones de asignación. Expresiones booleanas. Instrucciones de control. Instrucciones de entrada y salida
2 6. Generación de Código 6.1. Aspectos generales de la generación de código. Manejo de memoria 6.2. Selección de instrucciones. Acceso de registros 6.3. Aspectos relacionados con la máquina anfitriona 6.4. Bloques básicos y gráficas de flujo 6.5. Gráficas dirigidas acíclicas 6.6. Algoritmos para generación de código 6.7. Generación de código en YACC 7. Optimización de Código 7.1. Optimización de código 7.2. Optimización de código intermedio 7.3. Fuentes principales de optimización. Subexpresiones comunes 7.4. Propagación de copias. Eliminación de código muerto. Ciclos 7.5. Optimización de bloques básicos 7.6. Ciclos de gráfica de flujo 7.7. Análisis de flujo de datos 8. Proyectos 8.1. Definición del proyecto 8.2. Análisis y diseño del compilador BIBLIOGRAFÍA 1. Compilers: Principles, Techniques and Tools. A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman. Addison-Wesley; 2 nd edition (August 31, 2006) Se encuentra en las bibliotecas: FISMATIN-Xalapa y ECONOMIA-Xalapa. (QA76.76.C65 A36) 2. Compilers: Construction for Digital Computers D. Gries. Wiley International Edition. Se encuentra en las bibliotecas: USBI-Xalapa, FISMATIN-Xalapa y MIA-Xalapa (QA76.5 G74). 3. The Theory and Practice of Compiler Writing. L.P. Tremblay, P.G. Serenson. McGraw Hill (1985). Se encuentra en la biblioteca: ECONOMIA-Xalapa. (QA76.6 T73)
3 4. Machines, Languages and Computations. P.J. Denning, J.B. Dennis, J.E Qualitz. Prentice Hall (July 1978). Se encuentra en la biblioteca: INVESBIO-Xalapa. (QA267.D46) 5. Theory of Computation: Formal Languages, Automata and Complexity. J. Glenn Benjamin/Cummings Series in Computer Science (January 1989). Se encuentra en las bibliotecas: USBI-Xalapa y ECONOMIA-Xalapa. (QA267.B76) 6. Fundamentos de Compiladores: Cómo Traducir al Lenguaje Máquina. Karen A. Lemone. Editorial Continental. Se encuentra en las bibliotecas: USBI-Xalapa, FISMATIN-Xalapa y ECONOMIA-Xalapa. (QA76.76.C65 L45) 7. Construcción de Compiladores: Principios y Práctica. Kenneth C. Louden. San Jose State University. Ed. Thomson (2004). Se encuentra en la biblioteca: USBI-Xalapa y ECONOMIA-Xalapa. (QA76.76.C65 L68 C6). 8. Engineering a Compiler. Keith D. Cooper and Linda Torczon. Morgan Kaufman; 1st edition (September 2003). 9. Introduction to the Theory of Computation (Second Edition) Michael Sipser. Ed. Thomson (2006).
4 EVALUACIÓN Dos exámenes parciales (20% cada uno) % Programas computacionales (Proyecto) % Participación en clase (individual y equipo), % Dicha participación incluye trabajos de investigación redactados de forma adecuada Prácticas individuales y por equipo % Importante: - Para poder exentar el examen ordinario, la mínima calificación parcial deberá ser de 8. Dicha calificación estará conformada por cada uno de los criterios de evaluación arriba descritos. - Para tener derecho a presentar los exámenes parciales, deberán cubrir como mínimo el 80% de las asistencias. Se pasará lista 15 minutos después de iniciar la clase. Pasado este tiempo, si el estudiante no está presente, se considerará inasistencia (no se consideran retardos). - La fecha de entrega de los programas computacionales será exclusivamente los siguientes días: la primera parte del proyecto deberá entregarse el 22 de Abril de 2009 y la segunda parte el 15 de Junio de 2009 durante la clase. No se recibirán programas enviados vía electrónica. - Para integrar la calificación de las personas que presenten examen ordinario, se promediará la calificación de dicho examen con sus participaciones, prácticas y programas computacionales entregados durante el curso. En otras palabras, el examen ordinario valdrá un máximo de 40% de la calificación final mientras que el 60% restante estará integrado por los criterios de evaluación arriba descritos. - En el examen extraordinario se aplicará el criterio anterior. - El reporte escrito de los programas computacionales, deberá contener los siguientes puntos. 1. Introducción. En esta sección se deberá proporcionar el contexto del problema. 2. Planteamiento del problema. En esta sección se describirá el problema a resolver. 3. Solución Análisis. En esta sección se identificarán las posibles soluciones al problema. Diseño. En esta sección se propondrán los métodos para solucionar el problema.
5 4. Pruebas y Discusión. En esta sección se presentarán los resultados de la implementación así como un amplio y profundo análisis de los mismos. 5. Conclusiones. En esta sección se presentarán las resoluciones obtenidas a partir del estudio y solución del problema propuesto. 6. Referencias. Esta sección contendrá la lista de referencias bibliográficas utilizadas para la presentación de los puntos anteriores. Descripción del Proyecto (Tomado del libro Construcción de compiladores: principios y práctica. Autor: Kenneth C. Louden. Páginas: 491 a 501). Convenciones Léxicas de C 1) Las palabras clave o reservadas del lenguaje son las siguientes: else if int return void while. Todas las palabras reservadas o clave están reservadas, y deben ser escritas en minúsculas. 2) Los símbolos especiales son los siguientes: + - * / < <= > >= ==!= = ;, ( ) [ ] { /* */ 3) Otros tokens son ID y NUM definidos mediante las siguientes expresiones regulares: ID = letra letra* NUM = digito digito* letra = a... z A... z digito = Se distingue entre letras minúsculas y mayúsculas. 4) Los espacios en blanco se componen de blancos, retornos de línea y tabulaciones. El espacio en blanco es ignorado, excepto cuando deba separar ID, NUM y palabras reservadas. 5) Los comentarios están encerrados entre las anotaciones habituales del lenguaje C /*...*/. Los comentarios se pueden colocar en cualquier lugar donde pueda aparecer un espacio en blanco (es decir, los comentarios no pueden ser colocados dentro de los token) y pueden incluir más de una línea. Los comentarios no pueden estar anidados.
6 Sintaxis y Semántica de C Una gramática BNF para C es como se describe a continuación: 1) program declaration-list 2) declaration-list declaration-list declaration declaration 3) declaration var-declaration fun-declaration 4) var-declaration type-specifier ID ; type-specifier ID [ NUM ] ; 5) type-specifier int void 6) fun-declaration type-specifier ID ( params ) compound-stmt 7) params param-list void 8) param-list param-list, param param 9) param type-specifier ID type-specifier ID [ ] 10) compound-stmt { local-declarations statement-list 11) local-declarations local-declarations var-declarations empty 12) statement-list statement-list statement empty 13) statement expression-stmt compound-stmt selection-stmt iteration-stmt return-stmt 14) expression-stmt expression ; ; 15) selection-stmt if ( expression ) statement 16) iteration-stmt while (expression) statement 17) return-stmt return ; return expression ; 18) expression var = expression simple-expression 19) var ID ID [ expression ] if ( expression ) statement else statement 20) simple-expression additive-expression relop additive-expression additive-expression 21) relop <= < > >= ==!= 22) additive-expression additive-expression addop term term 23) addop ) term term mulop factor factor 25) mulop * / 26) factor (expression) var call NUM 27) call ID (args)
7 28) args arg-list empty 29) arg-list arg-list, expression expression Programas de Muestra en C El siguiente es un programa que introduce dos enteros, calcula su máximo común divisor y lo imprime: /* un programa para realizar el algoritmo de euclides para calcular mcd */ int gcd(int u, int v){ if (v==0) return u; else return gcd (v, u-u/v*v); void main (void){ int x; int y; x=input( ); y=input( ); output(gcd(x,y)); A continuación tenemos un programa que introduce una lista de 10 enteros, los clasifica por orden de selección, y los exhibe otra vez: /* un programa para realizar ordenación por selección en un arreglo de 10 elementos */ int x[10]; int minloc (int a[], int low, int high) { int i; int x; int k; k = low; x = a[low]; i = low+1; while (i<high){ if (a[i] < x) { x = a[i];
8 k = i; i = i+1; return k; void sort (int a[ ], int low, int high){ int i; int k; i = low; while ( i< high-1) { int t; k = minloc (a, i, high); t = a[k]; a[k] = a[i]; a[i] = t; i = i+1; void main (void){ int i; i = 0; while (i < 10) { x[i] = input( ); i = i+1; sort (x,0,10); i = 0; while (i < 10) { output (x[i]); i = i+1;
9 Primera Parte del Proyecto (fecha de entrega: 22 de abril): 1) Implementar una utilería de tabla de símbolos adecuada para el lenguaje C. Esto requerirá una estructura de tabla que incorpore información de ámbito, ya sea como tablas separadas vinculadas en conjunto o con un mecanismo de eliminación que funcione de manera basada en pilas, como se describió en el capitulo 6. ( Construcción de compiladores: principios y práctica. Autor: Kenneth C. Louden.) 2) Implemente un analizador léxico de C, ya sea a mano como un DFA o utilizando Lex, como se describio en el capítulo 2. ( Construcción de compiladores: principios y práctica. Autor: Kenneth C. Louden.). Segunda Parte del Proyecto (fecha de entrega: 15 de junio): 1) Diseñe una estructura de árbol sintáctico para C apropiada para la generación mediante un analizador sintáctico. 2) Implemente un analizador sintáctico de C (esto requiere un analizador léxico de C ), ya sea a mano utilizando parsers LR o mediante el uso de Yacc, como se describió en el capitulo 4 ó 5. ( Construcción de compiladores: principios y práctica. Autor: Kenneth C. Louden.) Y si el tiempo lo permite (20% extra de la calificación final): 1) Implemente un analizador semántico para C. El requerimiento principal del analizador, además de obtener información en la tabla de símbolos, es realizar verificación de tipo en el uso de variables y funciones. Como no hay apuntadores o estructuras, y el único tipo básico es el entero, los tipos que necesitan ser tratados mediante el verificador de tipo son los tipos void, integer, array y function. 2) Implemente un generador de código para C, de acuerdo con el ambiente de ejecución descrito en la sección A.4. (( Construcción de compiladores: principios y práctica. Autor: Kenneth C. Louden)
Procesadores de lenguaje Tema 1 Introducción a los compiladores
Procesadores de lenguaje Tema 1 Introducción a los compiladores Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen del tema Traductores Estructura
Más detallesCOMPILACIÓN I
COMPILACIÓN I http://ji.ehu.es/konpi1 Profesores: Eneko Agirre, Nerea Ezeiza, Julian Gutierrez (Información sobre tutorías, teléfonos, etc. en página web) Objetivos: El propósito de esta asignatura es
Más detallesManual de referencia del lenguaje Micro-C
Manual de referencia del lenguaje Micro-C Profesor: Egdares Futch H. Introducción Una parte importante de los cursos de (Ingeniería de Lenguajes de Programación) se centra en la experiencia de escribir
Más detallesToda copia en PAPEL es un "Documento No Controlado" a excepción del original.
S U P E RIO R DE MISANTLA Apartado: 7.1 Copia No. Código:PD-SCD-1016 Versión No.: 02 Hoja : 2 de 12 4.- COMPETENCIAS A DESARROLLAR 4.1 Competencias Específicas: Diseña mediante el uso de reglas semánticas
Más detallesPROCESADORES DEL LENGUAJE
PROCESADORES DEL LENGUAJE (3º Curso Primer Cuatrimestre) Grado en Ingeniería de Computadores Universidad de Alcalá Curso Académico 2011/12 GUÍA DOCENTE Nombre de la asignatura: Procesadores del lenguaje
Más detallesProcesadores de lenguaje Tema 5 Comprobación de tipos
Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,
Más detallesµ-c: Manual de referencia del lenguaje Micro-C
µ-c: Manual de referencia del lenguaje Micro-C Introducción Este manual de referencia describe en detalle el lenguaje Micro-C, para ser implementado como proyecto de los cursos de Compíladores I y II en
Más detallesESCUELA: UNIVERSIDAD DEL ISTMO
1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno
Más detallesCoordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012
Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción
Más detallesProfs. Carlos Pérez y Ricardo Monascal
TRADUCTORES E INTERPRETADORES Clase 0: Introducción al Curso Quiénes somos? Prof. Carlos Pérez caperez@ldc.usb.ve Prof. Ricardo Monascal rmonascal@ldc.usb.ve Oficina: MYS-228A (Sí, es la misma) Recursos
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 2 Análisis Léxico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos del Tema
Más detallesControla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion
UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto
Más detallesObjetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:
09:19 1 2 Temas Funciones del Analizador Léxico Manejo de buffers de entrada Especificación y reconocimiento de tokens Generación automática de Analizadores Léxicos Objetivos Que el estudiante logre conocer,
Más detallesCarrera: SCC - 0425 4-2-10. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación de sistemas Ingeniería en Sistemas Computacionales SCC - 0425 4-2-10
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesMETACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA
METACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA Erick Leonel Rico Preciado 1, Ana Cristina Bueno Campos 1, José Gerardo Carpio Flores 2, Ruth Sáez de Nanclares Rodríguez 2, Martha Alicia Rocha Sánchez
Más detallesTema: Análisis Sintáctico
Compiladores. Guía 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Sintáctico Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis
Más detallesPROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 NOMBRE CURSO: ESCUELA: PRE-REQUISITO: Organización de Lenguajes y Compiladores
Más detallesProcesadores de Lenguajes
Procesadores de Lenguajes Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Asignatura Materia Departamento responsable Procesadores de Lenguajes Programación LSIIS Créditos ECTS 3 Carácter
Más detallesGeneración de Código Intermedio
Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede
Más detallesAgenda. Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo
Agenda Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo Analizador sintáctico Bottom-Up 1-1 1-2 Introducción Los sistemas de implementación
Más detallesCarácter Modalidad Horas de estudio semestral (16 semanas)
PROGRAMA DE ESTUDIOS: TEORÍA DE LA COMPUTACIÓN PROTOCOLO Fechas Mes/año Clave Semestre 5 o Elaboración 05-2010 Nivel Licenciatura X Maestría Doctorado Aprobación Ciclo Integración Básico Superior Aplicación
Más detallesTexto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.
Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:
Más detallesDiseño de Compiladores I. Estructura General de un Compilador
Diseño de Compiladores I Estructura General de un Compilador PROGRAMA FUENTE COMPILADOR SALIDA Mensajes de Error 2 Un compilador es un programa que traduce un programa escrito en lenguaje fuente y produce
Más detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detallesTema 5. Análisis semántico
Departamento de Tecnologías de la Información Tema 5 Análisis semántico Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Características del análisis semántico 5.2 Gramáticas atribuidas
Más detallesContenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55
Contenido Capítulo 1. Teoría de conjuntos. 1 1.1 Conjuntos.... 3 1.1.1 Definiciones básicas.... 3 1.1.2 Operaciones sobre conjuntos.... 6 1.1.3 Diagrama de Venn.... 7 1.1.4 Álgebra de conjuntos.... 7 1.2
Más detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa
ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANALIZADOR LÉXICO (AL) El Analizador léxico (scanner), lee la secuencia de caracteres del programa fuente, caracter a caracter, y los agrupa para formar unidades
Más detallesFormato de programa de estudios para la formación y desarrollo de competencias profesionales. Ingeniería en Sistemas Computacionales
Formato de programa de estudios para la formación y desarrollo de competencias profesionales 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: SCD-1015 Lenguajes y Autómatas
Más detallesUnidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas
Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico
Más detallesLa aportación de la asignatura al perfil del egresado será específicamente la siguiente:
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Lenguajes y Autómatas II. Ingeniería en Sistemas Computacionales SCD-1016 (Créditos) (SATCA 44 ) 2 3 5 2.- PRESENTACIÓN
Más detallesBENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA INGENIERIA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA: Clave:
Más detallesProcesadores de Lenguajes
Procesadores de Lenguajes Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Asignatura Materia Departamento responsable Procesadores de Lenguajes Programación LSIIS Créditos ECTS 3 Carácter
Más detallesCarrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Teoría de la computación Ingeniería en Sistemas Computacionales SCM - 0434 3-2-8
Más detallesEl proceso del Análisis Léxico
El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente
Más detallesPlanificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8
Planificaciones 9511 - Algoritmos y Programación I Docente responsable: CARDOZO MARTIN MIGUEL 1 de 8 OBJETIVOS Capacitar al alumno en el diseño y programación documentados de algoritmos y en la elección
Más detallesUnidad 2. Introducción Lenguajes y Compiladores
Unidad 2 Introducción Lenguajes y Compiladores Principal material bibliográfico utilizado Compiladores Principios, técnicas y herramientas. Aho y Ullman. Addison Wesley. www.jorgesanchez.net www.iqcelaya.itc.mx/~vicente/programacion/tradcomp.pdf
Más detallesCompiladores: Análisis Léxico. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Léxico Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análisis Léxico Programa Lenguaje Fuente Análisis Léxico (Token, Lexema)
Más detallesProcesadores de Lenguajes
Procesadores de Lenguajes Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Asignatura Materia Departamento responsable Procesadores de Lenguajes Desarrollo de Software LSIIS Créditos
Más detallesExamen de Procesadores de Lenguaje
Apellidos: Nombre: Dni: Examen de Procesadores de Lenguaje Junio de 2007 (2 horas y 45 minutos) Instrucciones Entrega esta hoja, rellenada con tus datos, junto a tu examen cuando lo entregues. Ten en cuenta
Más detallesSYLLABUS de la Asignatura. Programación INF1201
Sazie 2325, 3er Piso, Santiago +56 2 661 8256 SYLLABUS de la Asignatura Programación INF1201 1. Descripción de la asignatura El estudiante aprenderá a analizar un problema y plantear una solución racionalmente,
Más detallesProcesadores de lenguaje Tema 1: Introducción a los compiladores
Procesadores de lenguaje Tema 1 Introducción a los compiladores Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen del tema Traductores Estructura
Más detallesSÍLABO DEL CURSO DE COMPILADORES Y LENGUAJES DE PROGRAMACIÓN
SÍLABO DEL CURSO DE COMPILADORES Y LENGUAJES DE PROGRAMACIÓN I. INFORMACIÓN GENERAL 1.1 Facultad Ingeniería 1.2 Carrera Profesional Ingeniería en Sistemas Computacionales 1.3 Departamento 1.4 Requisito
Más detallesProgramación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí
Programación Básica Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Objetivo del Curso Estudiar y aplicar los conceptos básicos de programación estructurada en un lenguaje de
Más detallesPROCESADORES DEL LENGUAJE
PROCESADORES DEL LENGUAJE Grado en Ingeniería Informática Ingeniería de Computadores Universidad de Alcalá Curso Académico 2015/16 GUÍA DOCENTE Nombre de la asignatura: Procesadores del lenguaje Código:
Más detallesPROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal
Más detallesTema 1: Introducción. Teoría de autómatas y lenguajes formales I
Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.
Más detallesLas Etapas de la Compilación
Las de la Compilación El en la Compilación Universidad de Cantabria Outline 1 El Problema 2 Las y el Qué pasos son necesarios dar para hallar la estructura de un programa? En qué pasos podemos dividirlos
Más detallesUNIVERSIDAD TECNOLÓGICA DEL CHOCÓ Diego Luís Córdoba FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA EN TELECOMUNICACIONES E INFORMÁTICA
UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ Diego Luís Córdoba FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA EN TELECOMUNICACIONES E INFORMÁTICA Programa: Materia Profesor Semestre Período Ingeniería en Telecomunicaciones
Más detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesPROCESADORES DEL LENGUAJE I
ASIGNATURA DE GRADO: PROCESADORES DEL LENGUAJE I Curso 2015/2016 (Código:71013130) 1.PRESENTACIÓN DE LA ASIGNATURA La asignatura de Procesadores de Lenguajes I se imparte en el primer semestre del tercer
Más detallesUNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA SYLLABUS
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA SYLLABUS PROYECTO CURRICULAR: Ingeniería de Sistemas ASIGNATURA: Electiva en Ciencias de la computación NOMBRE DEL DOCENTE: Deicy Alvarado,
Más detallesUNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI
UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: PROGRAMACIÓN ESTRUCTURADA FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS: AS ( )
Más detallesDesarrollo del Programa Docente de Procesadores del Lenguaje
Grado en Ingeniería Informática. Procesadores del Lenguaje. Curso 2010-2011 -1- Desarrollo del Programa Docente de Procesadores del Lenguaje Introducción Se presenta en este texto el programa desarrollado
Más detallesIntroducción. Análisis Semántico. José M. Castaño. Teoría de Lenguajes 2011 Departamento de Computación FCEyN, UBA
Análisis Semántico José M. Castaño Teoría de Lenguajes 2011 Departamento de Computación FCEyN, UBA Compiladores Análisis Léxico Análisis Sintáctico Análisis Semántico Generación Código Intermedio Optimización
Más detallesTema 5 Tabla de Símbolos
Traductores, Compiladores e Intérpretes 1 Tema 5 También se la llama tabla de nombres o tabla de identificadores y tiene dos funciones principales: - Efectuar chequeos semánticos. - Generación de código.
Más detallesROGRAMA DE CURSO Código Nombre EL4102. Arquitectura de Computadores Nombre en Inglés Computer Organization SCT
ROGRAMA DE CURSO Código Nombre EL4102 Arquitectura de Computadores Nombre en Inglés Computer Organization SCT Unidades Horas de Horas Docencia Horas de Trabajo Docentes Cátedra Auxiliar Personal 6 10 3
Más detallesTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Más detallesGENERACIÓN DE CÓDIGO INTERMEDIO ÁRBOLES DE SINTAXIS ABSTRACTA (ASA)
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesPLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN
CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título: Facultad:
Más detallesUNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS
UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN MATERIA : ESTRUCTURAS DE DATOS NIVEL : TERCER SEMESTRE FECHA DE ELABORACIÓN: Julio 19, 1999. DURACIÓN:
Más detallesProgramación de Sistemas
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación de sistemas Ingeniería en Sistemas Computacionales SCC - 0425 4-2-10
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 4
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 4 Análisis Sintáctico Ascendente Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
Más detallesUnidad II: Análisis semántico
Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico
Más detallesEXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
Más detallesNombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316
. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura: Diseño Estructurado de Algoritmos Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: SCB-9 Horas teoría Horas práctica
Más detallesUnidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas
Unidad III Análisis Léxico M.C. Juan Carlos Olivares Rojas Agenda 3.1 Introducción a los Autómatas finitos y expresiones regulares. 3.2 Analizador de léxico. 3.3 Manejo de localidades temporales de memoria
Más detallesTema 5: Traducción dirigida por la sintaxis
Tema 5: Traducción dirigida por la sintaxis Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 5: Traducción dirigida por la sintaxis
Más detallesINSTITUTO TECNOLÓGICO SUPERIOR DEL SUR DEL ESTADO DE YUCATAN SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL
Referencia a la Norma ISO 9001:008 7.1, 7..1, 7.5.1, 7.6, 8.1, 8..4 Página 1 de 18 INSTITUTO TECNOLÓGICO SUPERIOR DEL SUR DEL ESTADO DE YUCATAN SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL
Más detallesNombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324
. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura : Lenguajes y Autómatas Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : SCB- 9 Horas teoría-horas práctica-créditos
Más detallesTema: Análisis Léxico
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Léxico Contenido En esta guía se dará a conocer la manera en que un compilador realiza el análisis
Más detallesTema 3. Introducción al análisis sintáctico
Tema 3 Introducción al análisis sintáctico Bibliografía: Aho, A.V., Sethi, R., Ullman, J.D. (1990), Compiladores: principios, técnicas y herramientas, Tema 4, pág.: 163-186. Louden, K.C. (1997), Compiler
Más detallesGUÍA DOCENTE PROCESADORES DE LENGUAGE
Año académico 2015-16 GUÍA DOCENTE PROCESADORES DE LENGUAGE Profesorado: Jordi Planes Cid Maria Teresa Alsinet Bernadó Información general de la asignatura Denominación Carácter PROCESADORES DE LENGUAGE
Más detallesLEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesTema: Tabla de Símbolos
Compiladores. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Tabla de Símbolos Contenido En esta guía se desarrollará una tabla de símbolos y se asociará al analizador
Más detallesUNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL COMPUTACION I
UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL COMPUTACION I I. DATOS DE IDENTIFICACIÓN Nombre de la materia: Computación I Código: 2010008 Grupo: 2 Carga horaria: 4 Docencia
Más detallesPrograma del curso IC-5701. Compiladores e Intérpretes. Escuela de Computación. Carrera de Ingeniería de Computación, Plan 410.
Programa del curso IC-5701 Compiladores e Intérpretes Escuela de Computación Carrera de Ingeniería de Computación, Plan 410. I Parte. Aspectos relativos al plan de estudios 1 Datos generales Nombre del
Más detallesAnalizadores sintácticos LR(0) y SLR
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Clase de Hoy Anteriores: Parsing descendente (LL(1), ELL) Recursivos e iterativos Generan árbol de derivación desde
Más detallesLP - Lenguajes de Programación
Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 723 - CS - Departamento de Ciencias de la Computación Curso: Titulación: 2016 GRADO EN INGENIERÍA INFORMÁTICA (Plan
Más detallesLABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison
LABORATORIO DE PROCESADORES DE LENGUAJE Curso: 2008-2009 Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison Planteamiento del problema En esta práctica se trata de realizar, mediante el
Más detallesJavaCC Parte I. 1 Compiladores / Guía VII / Ciclo Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores.
1 Compiladores / Guía VII / Ciclo 02-2016 Centro de Investigación y Transferencia de Tecnología JavaCC Parte I Contenido Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores En la presente
Más detallesProcesadores de lenguaje Tema 2 Análisis léxico
Procesadores de lenguaje Tema 2 Análisis léxico Departamento de Ciencias de la Computación Universidad de Alcalá de Henares Resumen del tema Objetivo: comprender la estructura, organización y funcionamiento
Más detallesPROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
Más detallesGUÍA DOCENTE DE PROYECTO DE AUTÓMATAS Y LENGUAJES
GUÍA DOCENTE DE PROYECTO DE AUTÓMATAS Y LENGUAJES La presente guía docente corresponde a la asignatura Proyecto de Autómatas y Lenguajes (PAyL) del Grado en Ingeniería Informática, aprobada para el curso
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesTema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detallesEI MT1008 Programación II
GRADO EN INGENIERÍA INFORMÁTICA GRADO EN MATEMÁTICA COMPUTACIONAL EI1008 - MT1008 Programación II Curso 2010-2011 Departamento de Lenguajes y Sistemas Informáticos 1. Datos de la asignatura Carácter: Formación
Más detallesPROCESADORES DEL LENGUAJE I
ASIGNATURA DE GRADO: PROCESADORES DEL LENGUAJE I Curso 2016/2017 (Código:71013130) 1.PRESENTACIÓN DE LA ASIGNATURA La asignatura de Procesadores de Lenguajes I se imparte en el primer semestre del tercer
Más detallesIntroducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Más detallesUNIDAD V. Analisis Semantico. 5.1 Introduccion. Analizador Semántico. Verifica que el significado de las construcciones del lenguaje tengan sentido.
UNIDAD V Analisis Semantico 5.1 Introduccion Analizador Semántico. Ejemplo: Verifica que el significado de las construcciones del lenguaje tengan sentido. Tareas del analizador semántico: 1) Comprobación
Más detallesUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL
VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL PROGRAMA: PROGRAMACION I CÓDIGO ASIGNATURA: 1215-208 PRE-REQUISITO: 1215-102 SEMESTRE: II (SEGUNDO) UNIDADES
Más detallesAnalizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones
Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos
Más detallesPROGRAMA DE MATERIA. El alumno continuara la secuencia de fases ya establecidas en el curso previo, particularmente se enfocara en:
DATOS DE IDENTIFICACIÓN CENTRO ACADÉMICO: DEPARTAMENTO ACADÉMICO: COMPILADORES II CENTRO DE CIENCIAS BÁSICAS SISTEMAS ELECTRÓNICOS PROGRAMA EDUCATIVO: AÑO DEL PLAN DE ESTUDIOS: 2009 SEMESTRE: 7 ÁREA ACADÉMICA:
Más detallesTema 2: Análisis léxico
Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis
Más detallesPONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS 1. DATOS INFORMATIVOS MATERIA: DISEÑO DE LENGUAJES Y AUTOMATAS: CARRERA: INGENIERÍA DE SISTEMAS NIVEL:
Más detallesCarrera: MTE Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos.
.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos: Lógica de Programación Ingeniería Mecatrónica MTE-05 --6.- HISTORIA DEL PROGRAMA
Más detallesD. Prerrequisitos, correquisitos y otros requerimientos
Universidad de Puerto Rico Universidad de Puerto Rico en Humacao Facultad de Ciencias Naturales Departamento de Física y Electrónica Programa del Grado Asociado en Tecnología Electrónica A. Título del
Más detalles