martes, 31 de mayo de 2016




  • 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
Token 
 Así son tokens: las 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.


Elemento léxico del lenguaje 
Símbolo No Terminal de las fases siguientes

Patrón 
Expresión regular que define el lenguaje 
Letra (Letra | Digito)

Lexema 
◦ Secuencia de caracteres que concuerda con un patrón 
◦ Numero, caracter.
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
  •  Identificar la colección de tokens  
  • Estructurar la colección de tokens  
  • Describir el lenguaje como expresiones regulares
  •  Así, para la siguiente sentencia de Pascal: IF cuenta = sueldo THEN jefe:= justo;
  • El analizador léxico la separa en la siguiente secuencia de tokens:

Y les asigna su atributo, habitualmente por medio de un código numérico cuyo significado se ha definido previamente.






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 

  • Gramáticas Lineales 
  • Recursivas a izquierdas 
  • Recursivas a derechas 
  • expresiones regulares 
  • Autómatas Finitos (Diagramas de Transición)
  • Tratar con la tabla de símbolos 
  • Generar tokens bajo demanda del analizador sintáctico  
  • Manejar el fichero fuente 
  • Ignorar comentarios 
  • Contabilizar posición de tokens 
  • Preprocesar macros, constantes, includes



No hay comentarios.:

Publicar un comentario