You are on page 1of 3

ANALISIS LEXICO.

FUNCION DEL ANLIZADOR LEXICO.


El analizador lxico es la primera fase de un compilador. Su principal funcin
consiste en leer los caracteres de entrada y elaborar como salida una secuencia de
componentes lxicos que utiliza el analizador sintctico para hacer el anlisis.
Como el analizador lxico es la parte del compilador que lee el texto fuente,
tambin puede realizar ciertas funciones secundarias en la interfaz del usuario,
como eliminar del programa fuente comentarios y espacios en blanco en forma
de caracteres de espacio en blanco, caracteres TAB y de lnea nueva. Otra
funcin es relacionar los mensajes de error del compilador con el programa
fuente.
En algunas ocasiones, los analizadores lxicos se dividen en una cascada de dos
fases; la primera, llamada "examen", y la segunda, "anlisis lxico". El
examinador se encarga de realizar tares sencillas, mientras que el analizador
lxico es el que realiza las operaciones complejas.
ASPECTO DEL ANALISIS LEXICO.
Hay varias razones para dividir la fase de anlisis de la compilacin en anlisis
lxico y anlisis sintctico.
1. Un diseo sencillo es quiz la consideracin ms importante. Separar el
anlisis lxico del anlisis sintctico a menudo permite simplificar una u
otra de dichas fases.
2. Se mejora la eficiencia del compilador. Un analizador lxico independiente
permite construir un procesador especializado y potencialmente ms
eficiente para esta funcin. Gran parte de tiempo se consume en leer el
programa fuente y dividirlo en componentes lxicos. Con tcnicas
especializadas de manejo de buffer para la lectura de caracteres de entrada
y procesamiento de componentes lxicos se puede mejorar
significativamente el rendimiento de un compilador.
3. Se mejora la transportabilidad del compilador. Las peculiaridades del
alfabeto de entrada y otras anomalas propias de los dispositivos pueden
limitarse al analizador lxico.

COMPONENTES LEXICOS, PATRONES Y LEXEMAS.


Cuando se menciona el anlisis sintctico, los trminos
"componente lxico"(token), "patrn" y "lexema" se emplean con significados
especficos. En general, hay un conjunto de cadenas en la entrada para el cual se
produce como salida el mismo componente lxico. Este conjunto de cadenas se
describe mediante una regla llamada patrn asociado al componente lxico. Se
dice que el patrn concuerda con cada cadena del conjunto. Un lexema es una
secuencia de caracteres en el programa fuente con la que concuerda el patrn
para un componente lxico.
Los componentes lxicos se tratan como smbolos terminales de la gramtica del
lenguaje fuente, con nombres en negritas para representarlos. Los lexemas para el
componente lxico que concuerda con el patrn representan cadenas de
caracteres en el programa fuente que se pueden tratar juntos como una unidad
lxica.
En la mayora de los lenguajes de programacin, se consideran componentes
lxicos las siguientes construcciones: palabra clave, operadores, identificadores,
constante, cadenas literales y signos de puntuacin, como parntesis, coma y
punto y coma.
ATRIBUTOS DE LOS COMPONENTES LEXICOS.
Cuando concuerda con un lexema ms de un patrn, el analizador lxico debe
proporcionar informacin adicional sobre el lexema concreto que concord con
las fases del compilador.
El analizador lxico recoge informacin sobre los componentes lxicos en sus
atributos asociados. Los componentes lxicos influyen en las decisiones del
anlisis sintctico, y los atributos, en la traduccin de los componentes lxicos.
En la practica, los componentes lxicos suelen tener un solo atributo un
apuntador a la entrada de la tabla de smbolos donde se guarda la informacin
sobre el componente lxico; el apuntador se convierte en el atributo del
componente lxico. A efectos de diagnstico, puede considerarse tanto el lexema
para un identificador como el nmero de lnea en el ste se encontr por primera
vez. Estos dos elementos de informacin se pueden almacenar en la entrada de la
tabla de smbolos para el identificador.

PARTES DE UN PROGRAMA FUENTE.


Las partes de un programa fuente son: Cabecera, Declaraciones, y partes de
sentencias.
CABECERA: La cabecera de un programa consiste en el nombre del programa
que se realiza.
La cabecera de un subprograma incluye, como mnimo; el tipo de subprograma
(procedimiento o funcin) y su nombre, las funciones requieren o necesitan que
se rectifique el tipo que devuelven.
DECLARACIONES: La seccin de declaraciones incluye las definiciones de
variables y constantes, etiquetas, tipos y subprogramas.
SENTENCIAS: Es la parte donde se realizan todas las operaciones que el
programa debe de ejecutar.

You might also like