Vous êtes sur la page 1sur 5

Fase de anlisis

El anlisis lxico constituye la primera fase, aqu se lee el programa


fuente de izquierda a derecha y se agrupa en componentes lxicos
(tokens), que son secuencias de caracteres que tienen un significado.
Adems, todos los espacios en blanco, lneas en blanco, comentarios y
dems
informacin innecesaria se elimina del
programa fuente. Tambin se comprueba que los smbolos del lenguaje
(palabras clave, operadores, etc.) se han escrito correctamente.

Funcin del anlisis lxico


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. [Smbolo] 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.

Componente Lxico (Token)


Un token o tambin llamado componente lxico es una cadena de
caracteres que tiene un significado coherente en cierto lenguaje de
programacin. Ejemplos de tokens podran ser palabras clave (if, else,
while, int,...), identificadores, nmeros, signos, o un operador de varios
caracteres, (por ejemplo, :=).
Los componentes lxicos ms comunes son los siguientes:
1. Palabras clave o reservadas:
Operadores aritmticos
Operadores
Relacionales
Operadores lgicos
Operador de asignacin
Identificadores
Constantes
Cadenas
Literales
Signos de puntuacin
Libreras

2. Atributos de los componentes lxicos:


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:
Apuntador a la entrada de la Tabla de smbolos donde se guarda
la informacin sobre el componente lxico.
El lexema para un identificador
El nmero de lnea en que se encontr por primera vez.

Anlisis semntico
Se trata de determinar el tipo de los resultados intermedios, comprobar
que los argumentos que tiene un operador pertenecen al conjunto de
los operadores posibles, y si son compatibles entre s, etc. En definitiva,
comprobar que el significado de lo que se va leyendo es vlido.

El anlisis semntico se realiza posteriormente al sintctico y mucho


ms difcil de formalizar que ste.

Que es un arbol semantico?


Es una estructura jerrquica en la cual se registran las operaciones que
implica u operan dentro del programa fuente.
Tabla de simbolos
Un compilador necesita guardar y usar la informacin de los objetos que se va
encontrando en el texto fuente, como variables, etiquetas, declaraciones de
tipos, etc.

Sistemas de tipo:
Sistema de tipos: conjunto de reglas que determinan el criterio
para asignar expresiones de tipo a las diferentes partes del cdigo
fuente.

Tipo bsico: entero, carcter, real, lgico.

Nombres de tipo.

Constructores de tipo: estructuras, uniones, objetos

Apuntadores: referencias a tipos

Funciones a=suma();

COMPROBACIONES SEMNTICAS

Comprobaciones ESTTICAS.

Las comprobaciones sintcticas y semnticas.

Comprobaciones DINMICAS.

Realizadas en tiempo de ejecucin.

Comprobaciones SEMNTICAS
De TIPO.

Verificacin del tipo de los operandos en las expresiones.

De FLUJO de CONTROL.

Verifica los puntos del programa de salida y entrada del control.


Representaciones internas
Intermedias entre frontal [front-end] y dorsal [back-end], permiten desacoplar
los diseos de unos y otros.
Orientadas a:
Su optimizacin (instrucciones claras y simples)
Generar cdigo de distintas mquinas objeto y el diseo debe permitir su fcil
generacin por el analizador semntico.

Analizador sintctico
Un analizador sintctico (o parser) es una de las partes de un compilador que
transforma su entrada en un rbol de derivacin.
Elanlisis sintctico convierte eltexto de entrada en otras estructuras
(comnmente rboles), que son ms tiles para el posterior anlisis y capturan
la jerarqua implcita de la entrada. Un analizador lxico crea tokens de una

secuencia de caracteres de entrada y son estos tokens los que son procesados
por el analizador sintctico para construir la estructura de datos, por ejemplo
un rbol de anlisis o rboles de sintaxis abstracta.

Sistema de tipos
Sistema de tipos: reglas de un lenguaje que permiten asignar tipos a las
distintas partes de un programa y verificar su correccin.
Formado por las definiciones y reglas que permiten comprobar el dominio de
un identificador, y en qu contextos puede ser usado.
Cada lenguaje tiene un sistema de tipos propio, aunque puede variar de una a
otra implementacin.
La comprobacin de tipos es parte del anlisis semntico.
Funciones principales:
Inferencia de tipos: calcular y mantener la informacin sobre los tipos de
datos.
Verificacin de tipo: asegurar que las partes de un programa tienen sentido
segn las reglas de tipo del lenguaje.

Expresiones de tipo
Un lenguaje de programacin contiene un conjunto de tipos predefinido
denominados tipos simples.
Algunos lenguajes permiten definir nuevos tipos simples: enumerado, subrango.
Equivalencia de tipos
Una caracterstica importante del sistema de tipos de un lenguaje de
programacin es el conjunto de reglas que permiten decidir cundo dos
expresiones de tipo representan al mismo tipo.
En muchos casos estas reglas no se definen como parte de las
especificaciones del lenguaje.
1. Diferentes interpretaciones de los creadores de compiladores.

2. Estas diferencias afectan a la compatibilidad entre diferentes dialectos de un


mismo lenguaje.
Tres formas de equivalencia: estructural, nominal y funcional.

Polimorfismo: una interfaz, mtodos mltiples.


Un lenguaje es polimrfico si una entidad puede tomar ms de un tipo.

Vous aimerez peut-être aussi