funciones del analizador léxico reconocer los símbolos o tokens que componen el texto fuente eliminar comentarios del texto fuente eliminar espacios en blanco,saltos de linea y pagina , tabulares avisar de los errores léxicos detectados . conceptos básicos Token o componente léxico Lexema Patron. expresiones regulares mecanismo mas adecuado para expresar los componentes léxicos, permiten definir de forma precisa los componentes léxicos de un lenguaje adddada. autómatas finitos deterministicos son los dispositivos que detectan y clasifican los componentes léxicos tyhththr. símbolos ∅ expresión regular que denota el lenguaje vacío ϵ denota al lenguaje { ϵ } unión : (r+s) es una expresión regular que denota el lenguaje L(r) ∪ L(s) Clausura: r*expresión regular que denota el lenguaje (L(r))*(=(r*)) concatenación: (rs o r.s) denota le el lenguaje L(r)L(s). (s) denota el lenguaje L((s)),L(s)=L((s)). orden de operadores 1.operador * se aplica a la exprecion regular mas pequeña bien formada que quede a su derecha 2.operador . o concatenación 3.operador + o unión . mas símbolos l se utiliza en lugar del símbolo de unión + ya que representan lo mismo [] sirven para expresar rangos ^ se usa para expresar los caracteres fuera de la expresión a la que proceden ., para representar cualquier carácter +,r+para representar rr* la interrogación ?, r? para representar el lenguaje rlϵ. AFND autómata finito no deterministico con transiciones nulas sddd. algoritmo para construir un AFNDε algoritmo de Thompson :(también conocido como método de Thompson) creado por Ken Thompson y Dennis Ritchie, sirve para obtener autómatas finitos no deterministas con transiciones vacías (AFND-ε) a partir de expresiones regulares (ER). sdesdese. LEX Es un programa para generar analizadores léxicos, el proyecto que se va a
realizar es un Analizador Léxico del lenguaje que le asigno la maestra.
• El Lex se utiliza comúnmente con el programa yacc que se utiliza para
generar análisis sintáctico.
• Es una herramienta muy utilizada en la especificación de analizadores léxicos
para varios lenguajes.
• Toma como entrada una especificación de analizador léxico y devuelve como
salida el código fuente implementando el analizador léxico. partes de LEX DECLARACIONES
incluye declaraciones de variables constantes manifiestas y definiciones
regulares (una constante manifiesta en un compilador es un identificador que
se declara para identificar una constante). Las declaraciones regulares se
utilizan como componentes de las expresiones regulares que aparecen en las
reglas de traducción REGLAS DE TRADUCIONES:
Son proporciones de la forma
P1 {acción1}
P2 {acción2}
…. ……….
Pn {acciónn}
Donde Pi es una expresión regular y cada acción es un
fragmento de programa que escribe cual ha de ser la
acción del analizador léxico cuando el patrón Pi concuerda
con un lexema. En lex las acciones se escriben en C pueden
estar en cualquier lenguaje de implantación PROCEDIMIENTOS AUXILIARES
Esta sección contiene todos los procedimientos auxiliares que puedan
necesitar las acciones. Estos procedimientos se pueden compilar por separado
y cargar con el analizador léxico. . Dado un alfabeto V , los símbolos Φ, λ y los operadores +
(unión), ・ (concatenación) y ∗ (clausura), definimos (de
forma recursiva) una expresión regular (ER) sobre el alfabeto
V como:
• el símbolo ϕ es una expresión regular
• el símbolo λ es una ER (cadena vacia)
• cualquier símbolo a ∈ V es una ER
• si α y β son ER entonces también lo es α + β
• si α y β son ER entonces también lo es α ・ β
• si α es una ER entonces también lo es α. que es un E-R(diagrama o modelo entidad-relación) es una herramienta para el modelado de datos de un sistema
de información. Estos modelos expresan entidades
relevantes para un sistema de información así como
sus interrelaciones y propiedades. Se elabora el diagrama (o diagramas) entidadrelación.
Se completa el modelo con listas de atributos y
una descripción de otras restricciones que no se
pueden reflejar en el diagrama.
Dado lo rudimentario de esta técnica se necesita
cierto entrenamiento y experiencia para lograr
buenos modelos de datos.
El modelado de datos no acaba con el uso de
esta técnica. Son necesarias otras técnicas para
lograr un modelo directamente implementable en
una base de datos. Entidad
Representa una “cosa” u "objeto" del mundo real
con existencia independiente, es decir, se
diferencia unívocamente de cualquier otro objeto
o cosa, incluso siendo del mismo tipo, o una
misma entidad.
Algunos Ejemplos:
Una persona. (Se diferencia de cualquier otra
persona, incluso siendo gemelos).
Un automóvil. (Aunque sean de la misma marca,
el mismo modelo,..., tendrán atributos diferentes,
por ejemplo, el número de bastidor).
Una casa (Aunque sea exactamente igual a otra,
aún se diferenciará en su dirección). Atributos
Los atributos son las características que definen
o identifican a una entidad. Estas pueden ser
muchas, y el diseñador solo utiliza o implementa
las que considere más relevantes. Los atributos
son las propiedades que describen a cada
entidad en un conjunto de entidades. ergfregre. operaciones de expresiones regulares, tres operaciones básicas selección entre alternativas :la cual se indica mediante el metacaracter l(barra vertical) concatenación:La concatenación es el conjunto de cadenas
formado al concatenar todas las cadenas de cada una de ellas. La
concatenación de dos expresiones regulares r y s se escribe como
rs, y corresponde a cualquier cadena que sea la concatenación de
dos cadenas con la primera de ellas correspondiendo a r y la
segunda a s. Repetición: La repetición de una cadena regular se denomina
también en ocasiones como cerradura de Kleene, y se escribe
r*, donde r es una expresión regular.
• La expresión regular r*corresponde a cualquier concatenación
finita de cadenas, cada una de las cuales corresponde a r. .
|