Lexico

Solo disponible en BuenasTareas
  • Páginas : 17 (4239 palabras )
  • Descarga(s) : 4
  • Publicado : 14 de julio de 2010
Leer documento completo
Vista previa del texto
Una forma sencilla de crear un analizador léxico consiste en la construcción de un diagrama que ilustre la estructura de los componentes léxicos del lenguaje fuente, y después hacer la traducción “a mano” del diagrama a un programa para encontrar los componentes léxicos. De esta forma, se pueden producir analizadores léxicos eficientes.
* Lenguaje patrón accion LEX
* EL AWK
*Expresiones en Unix
Una herramienta de SW que automatiza la construcción de analizadores léxicos permite que personas con diferentes conocimientos utilicen la concordancia de patrones en sus propias áreas de aplicación. Por ejemplo, Javis [1976] utilizó un generador de analizadores léxicos para crear un programa que reconoce imperfecciones en tarjetas de circuitos electricos.
* Podría realizarse paraotros campos?
* Cuales?
* Algoritmos más conocidos de concordancia de patrones.
El parser, usualmente genera un árbol de sintaxis del programa fuente como ha sido definido por una gramática. Las hojas del árbol son símbolos terminales de la gramática. Son esos símbolos terminales o tokens los que el scanner extrae del código fuente y se los pasa al parser. Es posible para el parser usarel conjunto de caracteres terminales del lenguaje como el conjunto de tokens, pero ya que los tokens pueden ser definidos en términos de gramáticas regulares más simples que en las gramáticas más complejas utilizadas por los parsers, es deseable usar scanners. Usar solo parsers es costoso en términos de tiempo de ejecución y requerimientos de memoria, y la complejidad y el tiempo de ejecuciónpuede reducirse con el uso de un scanner.
La separación entre análisis léxico (scanning) y análisis sintáctico (parsing) puede tener también otras ventajas. El análisis léxico de caracteres generalmente es lento en los compiladores, y separándolo del componente de análisis semántico de la compilación, el énfasis particular puede darse para hacer más eficiente el proceso.

Analizador Léxico
Unanalizador de léxico es la primera parte de un compilador, y tiene como función principal el tomar secuencias de caracteres o símbolos del alfabeto del lenguaje de entrada y ubicarlas dentro de categorías, conocidas como unidades de léxico. Las unidades de léxico son empleadas por el analizador sintáctico para determinar si lo escrito en el programa fuente es correcto o no gramaticalmente. Algunas delas unidades de léxico no son empleadas por el analizador sintáctico sino que son descartadas o filtradas. Tal es el caso de los comentarios, que documentan el programa pero que no tienen un uso gramatical, o los espacios en blanco, que sirven para dar legibilidad a lo escrito.
  
Un analizador léxico puede convertirse en una subrutina o corrutina de un analizador sintáctico: El analizadorléxico lee los caracteres de entrada hasta que pueda identificar el siguiente componente léxico.
Razones para dividir la parte de analizador léxico y analizador sintáctico.
* Un diseño sencillo.
* Se mejora la eficiencia del compilador.
* Se mejora la transportabilidad del compilador.
Alguna terminología empleada en la construcción de un analizador de léxico se encuentran los siguientestérminos.
* Patrón Representa la regla para que una secuencia de caracteres sea considerada cierta unidad de léxico. Ejemplo: El patrón para un identificador de Pascal es: Una letra seguida por letras, dígitos o guiones (_)
* Lexema El valor actual de un conjunto de caracteres que satisfacen un patrón. Ejemplo:Este_es_1_ejemplo . Este es el lexema que satisface el patrón de un identificador.* Token o Ficha (Componente léxico) El valor asociado a una categoría o unidad de léxico. Se representa como un número entero o una constante de un byte. Ejemplo: el token de un identificador puede ser 1 ó id (si id fue definida como 1).
* Unidades de léxico Categorías en que se clasifican las cadenas de caracteres válidos en un lenguaje. Los caracteres válidos reciben el nombre de...
tracking img