martes, 31 de mayo de 2016

Análisis Léxico.

Análisis Léxico y Díagramas de Transición.

  • Está constituido por todas las palabras y símbolos que lo componen. Para un lenguaje de programación la definición también es válida.
  • Lo constituyen todos los elementos individuales del lenguaje, denominados frecuentemente en inglés tokens.
¿Que es Token?

Son palabras reservadas del lenguaje, los símbolos que denotan los distintos tipos de operadores, identificadores (de variables, de funciones, de procedimientos, de tipos, etc.), separadores de sentencias y otros.

¿Que es Patrón?

  • Expresión regular que define el lenguaje.
  • Letra (Letra | Dígito)*
¿Que es Lexema?

  • Secuencia de caracteres que concuerda con un patrón.
  • Numero, carácter.

¿Que son Atributos?
  • Estructura de datos de cada token para almacenarse en la TS.
  • Depende del tipo de token.
  • [ID. Lexema, Tipo, Valor, Línea]

Un programa fuente es una serie de símbolos que representan las construcciones del lenguaje tales como variables, etiquetas, palabras reservadas, constantes, operadores, entre otros.

El programa fuente se trata inicialmente con el analizador léxico.

 Pasos del AL.

  • Identificar la colección de tokens.
  • Estructurar la colección de tokens.
  • Describir el lenguaje como expresiones regulares.



El análisis léxico es un análisis a nivel de caracteres, su misión es reconocer los componentes léxicos o tokens, enviando al analizador sintáctico.

Analizador léxico que reconozca los siguientes elementos: 
  • Números enteros 
  • Operadores aritméticos suma, resta, producto, división, incremento y decremento (+, - *, /, ++,--) 
  • Identificadores 
  •  WHILE
Especificación formal 
  1. Gramáticas Lineales:  Recursivas a izquierdas y Recursivas a derechas 
  2. Expresiones regulares .
  3. Autómatas Finitos (Diagramas de Transición).
  4. Tratar con la tabla de símbolos 
  5.  Generar tokens bajo demanda del analizador sintáctico 
  6.  Manejar el fichero fuente 
  7. Ignorar comentarios 
  8. Contabilizar posición de tokens 
  9. Preprocesar macros, constantes, includes…


No hay comentarios:

Publicar un comentario