Lenguajes y Automatas

Páginas: 20 (4768 palabras) Publicado: 3 de abril de 2014
Instituto Tecnológico de la Laguna
Ingenieria en Sistemas Computacionales

Apuntes de

LENGUAJES Y AUTOMATAS II

por

Ing. Luis Fernando Gil Vázquez

Octubre de 2013

ITL

Lenguajes y Autómatas II

Ing. Fernando Gil

Temario
I

Análisis semántico
1.1 Analizador semántico
2.2 Verificación de tipos en expresiones.
1.3 Conversión de tipos.
1.4 Acciones agregadas en unanalizador sintáctico descendente (top-down).
1.5 Pila semántica en un analizador sintáctico ascendente (bottom-up).
1.6 Administración de la tabla de símbolos.
1.7 Manejo de errores semánticos.

II

Generación de código intermedio.
2.1 Lenguajes intermedios.
2.2 Notaciones.
2.2.1 Infija.
2.2.2 Postfija.
2.2.3 Prefija.
2.3 Representación de código intermedio.
2.3.1 Notación Polaca.2.3.2 Codigo P.
2.3.3 Triplos.
2.3.4 Cuádruplos.
2.4 Esquemas de generación.
2.4.1 Expresiones.
2.4.2 Declaración de variables, constantes
2.4.3 Estatuto de asignación.
2.4.4 Estatuto condicional.
2.4.5 Estatuto de ciclos
2.4.6 Arreglos.
2.4.7 Funciones.

III

Optimización.
3.1 Tipos de optimización.
3.1.1 Locales.
3.1.2 Bucles.
3.1.3 Globales.
3.1.4 De mirilla.
3.2 Costos.3.2.1 Costo de ejecución.
3.2.2 Criterios para mejorar el código.
3.2.3 Herramientas para el análisis del flujo de datos

Pag. 2

ITL

Lenguajes y Autómatas II

IV

Ing. Fernando Gil

Generación de código objeto.
4.1 Lenguaje máquina.
4.1.1 Características.
4.1.2 Direccionamiento.
4.2 Lenguaje ensamblador.
4.2.1 Características.
4.2.2 Almacenamiento.
4.3 Registros.
4.3.1Distribución.
4.3.2 Asignación.
4.4 Administración de memoria.

Bibliografia
COMPILADORES: PRINCIPIOS, TECNICAS Y HERRAMIENTAS
Alfred V. Aho, R. SEIT, J.D. Ullman
Addison - Wesley
COMPILADORES, CONCEPTOS FUNDAMENTALES
Teufel – Schmidt – Teufel
Addison – Wesley
COMPILADORES: TRADUCTORES Y COMPILADORES CON LEX / YACC, JFLEX / CUP y JAVACC
Sergio Rojas y Miguel Angel Mora
Universidad deMalaga
( PDF )

Pag. 3

ITL

Lenguajes y Autómatas II

Ing. Fernando Gil

UNIDAD I
Análisis Semántico

1.1

Introduccion
Analizador Semántico.
 Verifica que el significado de las construcciones del lenguaje tengan sentido.
 Tareas del analizador semántico:
1) Comprobación de Tipos.
2) Comprobación de parámetros.
3) Generación de código intermedio.
Ejemplo:
A : float ;
B :string ;
.
.
.
A := B + 5 ;

Analizador Léxico
id1 : float ;
id2 : string ;
.
.
.
id1 := id2 op num ;

TABLA DE SÍMBOLOS
Lexema

Complex

Tipo

1

A

id

?

2

B

id

?

3

5

num

...

?

Pag. 4

ITL

Lenguajes y Autómatas II

Ing. Fernando Gil

Analizador Sintáctico

:=
A

+
B

5

Analizador Semántico
Hasta aquí la entrada eslexica y sintacticamente valida, ahora se analiza desde el punto de vista semantico:

:=
id1.entrada

+

real

id2.entrada
cadena
(1)

num
entero

ERROR_TIPO

ERROR_TIPO = No hay compatibilidad de tipos

cadena + entero = ERROR_TIPO

Un compilador puede necesitar tener en cuenta muchas características además del código generado para la
construcción de entrada. Para realizarun análisis semántico a cada construcción del lenguaje se le asocia una
serie de atributos así como de acciones o reglas semánticas.
Un atributo es información asociada a un terminal o a un no-terminal, y puede representar una cadena o una
posición de memoria.
Regla Semántica: Acción o conjunto de acciones(algoritmo) para calcular el valor de los atributos.
Pag. 5

ITL

Lenguajes yAutómatas II

Ing. Fernando Gil

Los analizadores semánticos se construyen asociando una serie de atributos y acciones o reglas semánticas a
cada construcción del lenguaje.
Dos formas de asociarlo:
1) Definición dirigida por la sintáxis.
2) Esquema de traducción.
En ambos casos es útil definir un conjunto de atributos a los símbolos gramaticales del lenguaje.
Dos tipos de atributos:
1)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • lenguajes y automatas
  • lenguajes y automatas
  • Lenguajes Y Automatas
  • Automatas Y Lenguaje Formales
  • Teoria Lenguajes Y Automatas
  • CARPETA FINAL LENGUAJES AUTOMATAS
  • Autómatas y lenguajes formales.
  • Ejercicios Lenguajes y Automatas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS