Ir al contenido principal

Conceptos básicos para el Analizador léxico

Analizador léxico

El análisis léxico es la primera fase en el diseño del compilador. Un Lexer toma el código fuente modificado que está escrito en forma de oraciones. En otras palabras, te ayuda a convertir una secuencia de caracteres en una secuencia de fichas. El analizador léxico divide esta sintaxis en una serie de tokens. Elimina cualquier espacio adicional o comentario escrito en el código fuente.

Los programas que realizan análisis léxico en el diseño del compilador se denominan analizadores léxicos o lexemas. Un lexema contiene tokenizador o escáner. Si el analizador léxico detecta que el token no es válido, genera un error. La función de analizador léxico en el diseño del compilador es leer flujos de caracteres del código fuente, buscar tokens legales y pasar los datos al analizador de sintaxis cuando lo requiera.

Lexical Analysis

Lexical Analysis is the very first phase in the compiler designing. A Lexer takes the modified source code which is written in the form of sentences. In other words, it helps you to convert a sequence of characters into a sequence of tokens. The lexical analyzer breaks this syntax into a series of tokens. It removes any extra space or comment written in the source code.

Programs that perform Lexical Analysis in compiler design are called lexical analyzers or lexers. A lexer contains tokenizer or scanner. If the lexical analyzer detects that the token is invalid, it generates an error. The role of Lexical Analyzer in compiler design is to read character streams from the source code, check for legal tokens, and pass the data to the syntax analyzer when it demands.

Terminologías básicas

¿Qué es un lexema?

Un lexema es una secuencia de caracteres que se incluyen en el programa fuente de acuerdo con el patrón de coincidencia de un token. No es más que una instancia de un token.

What's a lexeme?

A lexeme is a sequence of characters that are included in the source program according to the matching pattern of a token. It is nothing but an instance of a token.

¿Qué es un token?

Los tokens en el diseño del compilador son la secuencia de caracteres que representa una unidad de información en el programa fuente.

What's a token?

Tokens in compiler design are the sequence of characters which represents a unit of information in the source program.

¿Qué es el patrón?

Un patrón es una descripción que es utilizada por el token. En el caso de una palabra clave que se utiliza como token, el patrón es una secuencia de caracteres.

What is Pattern?

A pattern is a description which is used by the token. In the case of a keyword which uses as a token, the pattern is a sequence of characters.

Comentarios

Entradas más populares de este blog

3.1 CONCEPTO DEFINICIÓN Y CLASIFICACIÓN DE AUTÓMATA FINITO (AF)

Autómata  finito. es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir una salida. Este modelo está conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autómata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptación, que representa la salida. La finalidad de los autómatas finitos es la de reconocer lenguajes regulares, que corresponden a los lenguajes formales más simples según la Jerarquía de Chomsky. Definición formal Formalmente: E: alfabeto de entrada. Q: conjunto de estados; es conjunto finito no vacío. f: función de transición. f(p, a)=q q0 : (perteneciente a Q) estado inicial. F : (perteneciente a Q) conjunto de estados finales o de ac...

EXAMEN

 1. CONVERTIR ER-AUTOMATA A) A* B B + BC* + A B C* B) Z Y X + Z Y* + (Z Y X )* 2. CONVERTIR AUTOMATA A E-R M* N (M,N )* + M N* 0* 1 (0 1)* 1 0* + 1 (0 ,1)* + 0 (0.1)* 3. DETRMINAR SI ES AUTÓMATA FINITO DERTERMINISTA O AUTÓMATA FINITO NO DERTERMINISTA AUTÓMATA FINITO NO DERTERMINISTA AUTÓMATA FINITO DERTERMINISTA 

Ejercicio 5

  q 3 =a* q 2 =mq1 q 1 =h(a*) + a(m(q1))   Solución: q 0 =m[h(a* + a(m(q 1 ))) + h(m(h(a*) +(m(q 1 ))))]