
- Compilador - Inicio
- Compilador - Descripción General
- Compilador - Arquitectura
- Compilador - las Fases del Compilador
- Compilador - Análisis Léxico
- Compilador - Expresiones Regulares
- Compilador - Autómatas Finitos
- Compilador - Sintaxis Anã¡lisis
- Compilador - Tipos de Análisis
- Compilador - Analizador Descendente
- Compilador - Analizador Ascendente
- Compilador - Recuperación de Errores
- Compilador - Análisis Semántico
- Compilador - Entorno de Ejecución en Tiempo Real
- Compilador - Tabla de Símbolos
- Compiler - Intermediate Code
- Compilador - Generación de Código
- Compilador - Optimización de Código
Compilador Diseo - Anlisis Lxico
Anlisis Lxico es la primera fase de un compilador. Toma el cdigo fuente modificado preprocesadores de idioma que se escriben en la forma de las sentencias. El analizador lxico se rompe estas sintaxis en una serie de fichas, quitando cualquier espacio en blanco o los comentarios en el cdigo fuente.
Si el analizador lxico encuentra un token no vlido, se genera un error. El analizador lxico trabaja en estrecha colaboracin con la sintaxis analizador. Lee caracteres corrientes desde el cdigo fuente, comprueba de tokens, y pasa los datos a la sintaxis analizador cuando que exige.

Fichas
Lexema resultante- se dice que son una secuencia de caracteres (alfanumrico) en un token. Hay algunas reglas predefinidas para cada lexeme a ser identificado como un token vlido. Estas reglas se definen las reglas de gramtica, por medio de un patrn. Un patrn se explica lo que puede ser un testigo, y estos patrones se definen por medio de expresiones regulares.
En lenguaje de programacin, palabras clave, constantes, identificadores, cadenas, nmeros, operadores y puntuaciones los smbolos pueden ser considerados como testigos.
Por ejemplo, en lenguaje C, la declaracin de variable lnea
int value = 100;
Contiene las fichas:
int (keyword), value (identifier), = (operator), 100 (constant) and ; (symbol).
Las especificaciones de tokens
Nos permiten comprender de qu modo la teora del lenguaje se compromete los siguientes trminos:
Alfabetos
Cualquier conjunto finito de smbolos {0,1 } es un conjunto de caracteres binarios, {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} es un conjunto de valores hexadecimales alfabetos, {a-z, A-Z} es un conjunto de idioma Ingls alfabetos.
Cadenas
Cualquier secuencia finita de alfabetos se llama una cadena. Longitud de la cadena es el nmero total de ocurrencia de los alfabetos, p. ej., la longitud de la cadena tutorialspoint es 14 y se denota por |tutorialspoint| = 14. Una cadena que no alfabetos, es decir, una cadena de longitud cero se conoce como una cadena vaca, y se denota por (psilon).
Smbolos especiales
EL tpico lenguaje de alto nivel contiene los siguientes smbolos:
Smbolos aritmticos | Adems (+), resta (-), mdulo (%), Multiplication(*), divisin (/) |
Puntuacin | Comas (,), punto y coma (;), punto (.), la flecha(->) |
Asignacin | = |
Asignacin especial | +=, /=, *=, -= |
Comparacin | ==, !=, , >= |
Preprocesador | # |
Especificador de ubicacin | & |
Lgico | &, &&, |, ||, ! |
Operador de turno | >>, >>>, |
Idioma
UN idioma es considerado como un conjunto finito de cadenas en algunos conjunto finito de los alfabetos. Lenguajes de programacin son considerados como conjuntos finitos, y matemticamente conjunto de operaciones que se pueden llevar a cabo en ellos. Lenguajes finitos se pueden describir por medio de expresiones regulares.
Regla de coincidencia ms larga
Cuando el analizador lxico leer el cdigo fuente, explora el cdigo letra por letra; y cuando se encuentra un espacio en blanco, smbolo de operador, o smbolos especiales, decide que una palabra se ha completado.
Por ejemplo:
int intvalue;
Mientras se realiza la exploracin tanto lexema resultante- hasta 'int', el analizador lxico no puede determinar si se trata de una palabra clave int o las iniciales del identificador valor int.
La regla de coincidencia ms larga que el capturado lexeme debe ser determinado sobre la base de la mayor coincidencia entre todas las fichas disponibles.
El analizador lxico tambin sigue prioridad de regla donde una palabra reservada, por ejemplo, una palabra clave, de un idioma se da prioridad a entrada de usuario. Es decir, si el analizador lxico encuentra un lexeme que coincide con cualquier palabra reservada, deber generar un error.