Ingeniero en Sistemas de Informacion

Páginas: 6 (1396 palabras) Publicado: 5 de junio de 2014
COMPILADOR

Un compilador traduce el programa fuente en programa objeto (codificado en binario)
Tiene 6 fases que son programas unidos y que se ejecutan en forma secuencial.
las tres primeras fases son de analisis (determinan si existen errores en la aplicacion del lenguaje de programacion) y las 3 ultimas de sintesis

Fases de analisis
análisis léxico :
lee los caracteres de entrada ylos agrupa en lexemas mediante el automata correspondiente.
Su funcion principal es generar una lista ordenada de tokens (c.l)
verifica la 1era popiedad (que las palabras sean una cadena de terminales)

analizador sintactico:
transformar en arbol los componentes lexicos
verificar la 2da propiedad (si sepuede armar un arbol de derivacion)

analizador semantico:convierte los componenteslexicos

fases de síntesis:
generador de codigo intermedio: algunos compiladores la tienen. Se genera en ensamblador

optimizador de código intermedio:hacer mas rapido el codigo intermedio

generador de codigo:
traduce a codigo objeto relocalizable o ensamblador
selecciona el espacio de memoria para las variables



Análisis Léxico

Cuando definimos la gramática G={vn,vt,start,R} los 4componentes:
Vn, no terminales (pepe)
Vt, terminales (id,if)
Start/raiz/inicial, no terminal
y las producciones R

las palabras que determinan el lenguaje son
1-las que pertenecen a vt* (la cadena de terminales)
2-las que se puede armar un arbol de derivacion (solo si es una cadena de terminales)

lenguaje generado por una gramatica (L(G)): es el conjunto de todas las palabras quesiendo cadenas de terminales tiene un árbol de derivación con raíz en S y las hojas del mismo concatenados constituyen la tira x.

propiedades del arbol:
1-raiz con simbolo inicial
2-cada hoja con un componente lexico o E
3-cada nodo interior con un No terminal

funcionamiento
El analizador léxico verifica cada lexema (palabra del programa fuente) y determina sipertenece a algún patrón (familia de palabras definidas en el lenguaje de programación). Ej palabras clave, id, operadores.
Si pertenece es enviada a la tabla de simbolos (vector que guarda los lexemas correctos)
Si no pertenece es enviada al gestor de errores y se le informa al programador para que lo corrija

Componente léxico: Unidad lógica que genera el Analizador Lexico.
Cada componente léxicose corresponde con cada lexema correcto del programa fuente.
Tiene 2 componentes: el token (códigos creador por el programador) y el atributo (el propio lexema, la posición relativa en la tabla de simbolos)

Expresiones regulares, patrones
Las expresiones regulares representan patrones y generan lenguajes (palabras que reconoce la e.r y el patrón)
Cada expresión regular puede ser representadacomo autómata finito.
El producto final es la tabla de simbolos (ruta a seguir por el analizador léxico para verificar palabras)


Una máqina de Turing, es una séxtupla={k,v,t,d,0,f}

1 – K estados.
2 – V alfabeto de entrada (No contiene el símbolo B, blanco)
3 – T símbolos de cinta. (contiene al simbolo B)
4 – delta Funcion que mapea K x T --> K x (T - {B}) x {L,R}. estado y simbolode cinta ->
5 - 0 estado inicial
6 - F estados finales.

Transiciones en AF: estando en el estado I paso a J si debajo de la cabeza esta A
Siempre se lee para la derecha

Transiciones en AP: estando en el estado I paso a J si debajo de la cabeza esta A, y en la cima de la pila esta X, que se reemplaza con Z.
Siempre se lee para la derecha o se queda en el lugar si se lee la cadena vaciaTransiciones en MT: la maquina es un autómata con un funcionamiento totalmente mecánico y secuencial.
1-Lee un símbolo que hay en la casilla que tiene debajo de la cabeza lectora.
2-toma el símbolo del estado en que se encuentra.
3-Con estos dos datos accede a la tabla, en la cual lee el símbolo que debe escribir en la cinta. El nuevo estado al que debe pasar y si debe desplazarse a la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero en sistemas de Información
  • Ingeniero en Sistemas de Informacion
  • Ingeniero En Sistemas De Información
  • Ingeniero En Sistemas De Información
  • Informacion De La Carrera Ingeniero Administrador De Sistemas
  • Ingeniero En Sistemas De Informacion
  • Ingeniero en Sistemas de Informacion
  • Ingeniero en sistemas de la información

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS