Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 1 - Introducción PDF
Clase 1 - Introducción PDF
Interpretes
Clase Introductoria
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.
• Esta teoría estableció las bases para la lingüística matemática que sirvió
como herramienta para el estudio y formalización de los lenguajes de
computadora.
Hechos importantes:
C7 06 0000 0002
MOV X,2
• Esto mejoro la velocidad con la que se podían escribir los programas, sin
embargo su principal defecto es que no es fácil de escribir y es difícil de
leer y comprender, además de ser dependiente de la plataforma para la
cual se creo.
Una breve historia (continuación)
X=2
• Noam Chomsky comenzó con su estudios del lenguaje natural por ese
mismo momento lo cual junto con las maquinas abstractas permitieron
sentar las bases de los compiladores modernos.
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.
Popularidad de los lenguajes
de programación (fuente:www.complang.tuwien.ac.at/anton/comp.lang-statistics/)
Paradigmas computacionales
• Los lenguajes de programación se iniciaron imitando y abstrayendo
las instrucciones existentes de forma predeterminada en las
computadoras.
I. Análisis léxico.
II.Análisis sintáctico.
III.Análisis semántica.
IV.Generación de Código.
V.Optimización.
Principales Fases de un compilador
Análisis léxico:
’C := A + B’
LOAD A
SUM B
STO C
Principales Fases de un compilador
Optimización del Código:
Esta fase de síntesis está presente en los compiladores más
sofisticados, y su propósito es producir un código objeto más
eficiente:
• En el análisis léxico:
símbolos ajenos al lenguaje.
• En el análisis sintáctico:
expresiones mal construidas.
• En el análisis semántico:
variables sin declarar.
En resumen
Al hablar de un compilador, hay que especificar como mínimo los tipos
de lenguajes siguientes:
• El lenguaje fuente.
• El lenguaje objeto y la plataforma de ejecución.
• El lenguaje en el que está escrito el propio compilador, denominado
lenguaje de implementación.
• Ejemplo
En un compilador de Fortran a código máquina del PC que se ejecuta sobre un PC:
– El lenguaje fuente sería el Fortran.
– El lenguaje objeto sería el código máquina del PC.
– El lenguaje en el que está escrito también sería código máquina del PC.
En resumen
Normalmente el lenguaje fuente se especifica generalmente en tres
partes:
•Especificación léxica.
•Especificación sintáctica .
•Especificación semántica .
Construcción de Compiladores
Especificación léxica.
http://homepages.mty.itesm.mx/rbrena/AyL.html
http://homepages.mty.itesm.mx/rbrena/AyL.pdf