Analizador Lexico

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

ASIGNATURA: lenguaje de autómatas II

CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES

NOMBRE DEL MAESTRO

MANUEL SEGOVIA LOPEZ

ALUMNO

JOSE ARMANDO HERNANDEZ PEREZ

BALANCAN TABASCO.
ANALIZADOR LEXICO
Marco Teórico
El analizador léxico es la primera fase de un compilador. Su principal función
consiste en leer los caracteres de entrada y elaborar como salida una secuencia
de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis.
Funciones del Analizador Lexico
Convierte el programa fuente en una cadena de tokens
Para reconocer el token usa un patrón, una regla que describe como se forman las
cadenas que corresponden a un token.
Salta comentarios y espacios en blanco (tabuladores, saltos de línea...)
Tener el registro de la línea del archivo fuente que está siendo analizada
Genera mensajes de error léxico, y se recupera del error
Convierte los valores literales al tipo que corresponda
Si la entrada debe obedecer a un formato, verifica el formato Ej. Fortran, Cobol

Componentes léxicos
Un token: es un par que consiste en un nombre de token y un valor de
atributo opcional. El nombre del token es un símbolo abstracto que
representa un tipo de unidad léxica; por ejemplo, una palabra clave
específica o una secuencia de caracteres de entrada que denotan un
identificador. Los nombres de los tokens son los símbolos de entrada que
procesa el analizador sin táctico

Un patrón es una descripción de la forma que pueden tomar los lexemas de


un token. En el caso de una palabra clave como token, e l patrón es sólo la
secuencia de caracteres que forman la palabra clave. Para los
identificadores y algunos otros tokens, el patrón es una estructura más
compleja que se relaciona mediante muchas cadenas.

Un lexema es una secuencia de caracteres en el programa fuente, que


coinciden con el patrón para un token y que el analizador léxico identifica
como una instancia de ese token.

Qué es un compilador
Un compilador es un pequeño programa informático, que se encarga de traducir
(compilar) el código fuente de cualquier aplicación que se esté desarrollando. En
pocas palabras, es un software que se encarga de traducir el programa hecho en
lenguaje de programación, a un lenguaje de máquina que pueda ser comprendido
por el equipo y pueda ser procesado o ejecutado por este.

Partes de un compilador
Front End: El Front End es la parte del compilador que interactúa con el
usuario y por lo general, es independiente de la plataforma en la que se
trabaja. Se encarga de realizar el análisis del código fuente a compilar y
verifica que este sea válido, así como también, genera el árbol de
derivación y rellena los valores de la tabla de símbolos.
Back End: Esta parte del compilador es la encargada de generar el código
en formato de máquina, a partir del trabajo hecho por el Front End.

Importancia de los compiladores


La importancia de los compiladores radica en que, sin estos programas no existiría
ninguna aplicación informática, ya que son la base de la programación en
cualquier plataforma.

Características principales de un compilador


El compilador traduce todo el programa antes de ejecutarlo.
Los programas compilados se ejecutan más rápido que los interpretados,
debido a que han sido completamente traducidos a lenguaje máquina.
Informa al usuario de la presencia de errores en el programa fuente.
Poseen un editor integrado con un sistema de coloreado para los
comandos, funciones, variables y demás partes de un programa.

Ventajas
Generan analizadores eficientes, incluso más que los que se pudiera hacer
de manera manual.
Los analizadores ascendentes reconocen la mayor parte de los lenguajes
Desventajas
Yacc usa herramientas externas para que le provean los tokens necesarios
Las acciones semánticas asociadas con las producciones de los no
terminales de las gramáticas son difíciles de depurar
Yacc no genera árboles de análisis sintáctico
Mezcla las especificaciones sintácticas con las semánticas
Incrementos en la dificultad del trabajo de depuración de puesto que los
errores que cometen el fichero de especificación con solo visibles en el
analizador generado.

¿Qué es la semántica?
Se llama semántica a una rama de la lingüística dedicada al estudio del
significado. Su nombre proviene del término griego sëmantikós (“significado
relevante”) y junto con la fonética, gramática y la morfosintaxis, constituye una de
las principales aproximaciones al estudio organizado del lenguaje verbal
La semántica enfrenta el signo lingüístico desde el interés por su parte inmaterial,
esto es, su parte mental, convencional y abstracta: el significado. Esto significa
que se interesa no sólo por la manera en que se forman los significados de las
palabras a partir de sus componentes (sus raíces y agregados), sino también del
modo en que los significados cambian a lo largo del tiempo y devienen otros,
cambiando junto con la cultura que emplea la lengua.
La finalidad de la semántica es descomponer el significado en unidades más
pequeñas, llamadas semas o rasgos semánticos, estos permiten segmentar el
significado de las palabras, y diferenciar palabras de significado parecido y
palabras de significado opuesto.
Tipos de semánticas
Abiertos: Dentro de los campos semánticos abiertos se incluyen aquellos
cuyo número de vocablos es infinito o indeterminado. Un ejemplo de esto
serían los tipos de comida (pasta, tamales, comida rápida, ensaladas,
pasteles, sopas, guisos, frituras …).
Cerrados: En casos muy concretos, el número de palabras que podrían
pertenecer a determinado campo semántico es finito. Tal es el caso de los
días de la semana, los signos zodiacales o los mares del mundo.

Graduales: En algunos casos, las palabras que conforman un campo


semántico están englobadas en dos extremos. Este es el caso de todo el
rango de palabras que se encuentran entre grande y pequeño o entre malo
y bueno (como mediano o regular, respectivamente).

Asociativos: Un campo semántico puede estar integrado por palabras


relacionadas con un concepto. Este es el criterio utilizado por los
diccionarios ideológicos, muy populares durante los siglos XIX y buena
parte del XX.

En NetBeans se creó el código, y se definió todos los dígitos para que el


código acepte el autómata Se mandó a imprimir el resultado y esto hace que lo
identifica si es numero o letra
Como

podemos ver el resultado lo identifica si es un numero o letra

También podría gustarte