- 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