Institución | ||
---|---|---|
Disponible desde | Primavera 2008 | |
Cursos Asociados | Otras realizaciones de este Curso | |
Objetivos | El objetivo de este curso es entregar los elementos necesarios para implementar la traducción, o “compilación”, de un lenguaje de programación de alto nivel al lenguaje de máquina de un computador digital. El énfasis del curso son las técnicas usadas en el diseño de compiladores, sus modelos teóricos y la implementación de un lenguaje de alto nivel. |
|
Descripción | Para el curso usaré los apuntes y metodología que amablemente me facilito Alex Aiken, ex profesor de Berkeley. En la actualidad el profesor Aiken trabaja en Standford, sin embargo yo usaré el material que usaba en Berkeley, que me parece muy didáctico y entretenido. Esto consistirá en construir un compilador para el lenguage COOL (Classroom Object-Oriented Language) que genera código para la máquina MIPS. Si quieren saborear un poco cool pueden ver la página: www.cs.berkeley.edu/~aiken/cool/ En general me gusta mucho su enfoque aunque en algunas partes pasaré otras técnicas que me gustan más o daré más énfasis en ciertos aspectos. |
|
Metodología | Introducción Un poco de historia, estructura general de un compilador, un compilador básico Análisis Léxico Expresiones regulares y autómatas finitos, AFN, AFD, transformar un AFN a AFD. Generación de un analizador léxico. LEX Análisis Sintáctico Gramáticas libres de contexto, notación BNF. Árbol de derivación, análisis descendente y ascendente, análisis LALR. Gramáticas ambiguas. YACC Análisis Semántico Atributos, tabla de símbolos, tipo de datos Ambientes de Ejecucción Organización de la memoria, memoria dinámica, paso de parámetros Generación de Código Código intermedio: declaraciones, asignaciones, expresiones boolean, control, llamado a funciones. Generación de código, asignación de registros, optimización de código |
|
Evaluación | El curso comprenderá 4 tareas (T1, T2, T3 y T4) y tres controles La nota de tareas NT se calcula como NT = 0.6*(T1+T2+T3) + 0.4*T4. Para aprobar el curso debe tener NT >= 4 La Nota de Control (NC) es el promedio simple de los tres controles y el Examen ( el Examen sustituye la peor nota de los controles, en caso de ser superior a ella). Si la Nota de Control es superior o igual a 3,7 pero inferior a 4,0, el estudiante tendrá derecho a rendir un Examen Adicional (oral o escrito), con el cual mantendrá su nota reprobatoria o elevará la Nota de Control a 4,0. La nota de eximición del exámen es superior o igual a 5.5 La Nota final se calcula como NF = 0.5*NT+0.5*NC |
|
Programa del Curso | 2006_0_CC50A.pdf | |
Compartir |