Documente Academic
Documente Profesional
Documente Cultură
Clase Introductoria
Luis Ochoa
ziul1979@gmail.com
Algunas ideas previas
El alumno debe estar familiarizado con matemáticas discretas, estructuras
de datos básicas, arquitectura del computador, lenguaje ensamblador,
lenguajes formales, sistemas de control.
C7 06 0000 0002
MOV X,2
RESUMIENDO:
• La arquitectura de Von Neumann marca el punto de partida de
la informática moderna.
• En caso de que el lenguaje fuente que hay que traducir sea de alto
nivel y el lenguaje obtenido, de bajo nivel, se utiliza el término
compilador.
ACTIVIDAD EN CLASES:
•Especificación léxica.
•Especificación sintáctica .
•Especificación semántica .
Construcción de Compiladores
•Especificación léxica. Se hace con expresiones
regulares que definen los componentes léxicos del
lenguaje (testigos). Utilizando estas definiciones se
puede crear automáticamente un analizador léxico
del lenguaje.
Construcción de Compiladores
•Especificación sintáctica. Se utiliza una
gramática libre de contexto, escrita generalmente
en notación BNF, para detallar la estructura
sintáctica del lenguaje. A partir de esta gramática,
y junto con el analizador léxico obtenido en la
parte anterior, se puede generar, también
automáticamente, un analizador sintáctico del
lenguaje.
Construcción de Compiladores
•Especificación semántica. Se describe el
significado de cada instrucción sintáctica y las reglas
semánticas que se deben cumplir. Hay notaciones
formales para especificar la semántica de un
lenguaje, pero no se utilizan demasiado. La
semántica suele ser especificada con palabras
(lenguaje natural) y se programa manualmente. A
veces, algunas reglas semánticas se pueden incluir
dentro de la especificación sintáctica, por ejemplo, la
procedencia y la asociatividad de los operadores. A
partir de esta especificación semántica se construye
el analizador semántico y se genera el código.
Asignación
Leer en el libro:
http://homepages.mty.itesm.mx/rbrena/AyL.html
http://homepages.mty.itesm.mx/rbrena/AyL.pdf