domingo, 7 de junio de 2009

ANALISIS LEXICO

UNIDAD 3

INTRODUCCION A LOS AUTOMATAS FINITOS Y EXPRESIONES REGULARES

Automata finito: un automata finito o maquina de resultado es un modelo matematico de un sistema que recibe una cadena constituida por simbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el automata reconoce.
Formalmente un automata finito (AF) puede ser descrito con un dupla de 8 a 5 elementos donde:
"s" es unconjunto de estados "E" es el alfabeto, "T" es la funcion de transicion.

ANALIZADOR LEXICO
El analizador lexico es la primera fase de un compilador lee carecteres de entrada para formar componentes e identificarlos o clasificarlos y pasar informacion de los componentes al analizador sintactico.
Realiza ademas funciones como eliminar espacios en blanco saltos de linea tabuladores ignorar comentarios deteccion y recuperacion de errores. Los errores que el analizador lexico reconoce son simbolos no validos o no reconocidos por el lexico del lenguaje o que no forma ningun componente lexico.
Existen diversos metodos para construir un analizador lexico un metodo es usar un (AFD) para describir el patron de cada componente para este metodo se parte de una tabla descriptiva de los componentes lexicos que reconoce el analizador en donde se clasifican diversos componentes.

MANEJO DE LOCALIDADES TEMPORALES DE MEMORIA (BUFFER)
La forma mas facil de leer un programa es caracter para caracter pero es ineficiente la forma mas eficiente es realizar una copia de la memoria de todo el codigo fuente pero esto en la mayoria de las ocasiones es impractico por las dimensiones de los programas para solucionar este problema se sugiere utilizar los buffers.
MANEJO DE BUFFERS: Existen muchas formas de dividir el trabajo pero siempre se debera llevar 2 punteros uno al caracter actual y el otro al inicial del lexema, el manejo de buffer es esencial para realizar el analisis de grandes programas de la mejor manera.
UNIDAD 2

DISEÑO DETALLADO DE LOS LENGUAJES DE PROGRAMACION

El diseño detallado tiene que leer la especificacion de detalles algoritmicos representacion concreta de datos, representacion algoritmica de datos interconexiones estructuras de datos y el empaque del producto de programacion el diseño detallado esta fuertemente influenciado por el lenguaje de instrumentacion.

El diseño detallado tiene que ver mas con aspectos semanticos y la instrumentacion tiene que ver mas con aspecytos sintacticos y la instrumentacion comunica los aspectos de la sintaxis del llenguaje de programacion el estudio de codificacion interna, la insercion de pruebas y depuracion de codigo.

compilador: se define como un programa que traduce un programa fuente como pascal al lenguaje c en ensamblador o maquina.
interprete: es un traductor que toma un programa fuente lo traduce y acontinuacion lo ejecuta por ejemplo basic es un lenguaje interpretado.
portabilidad: es la capacidad del lenguaje para trabajar en cualquier plataforma.
verificabilidad: capacidad del lenguaje para soportar procedimientos texto prueba.
integridad: es el nivel de proteccion tanto de datos como componentes de un lenguaje a posibles alteraciones.
la instrumentacion tiene que ver mas con aspectos sintacticos, la instrumentacion comunica los aspectos de la sintaxis del lenguaje de programacion el estilo de la codificacion de la documentacion interna.

Introduccion al lenguaje de programacion