ESPECIFICACIÓN DE SÍMBOLOS
|
|
- Cristóbal Villalobos Campos
- hace 6 años
- Vistas:
Transcripción
1 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ESPECIFICACIÓN DE SÍMBOLOS Elaborado el Sábado 24 de Julio de 2004 I.- COMPONENTES LÉXICOS, PATRONES Y LEXEMAS (extraído de Compiladores: Principios, técnicas y Herramientas, Aho, Sethi y Ullman) Dadas las siguientes definiciones y una tabla explicativa del uso que se le da en el análisis léxico a los términos mostrados más abajo, se procederá a explicar como se pueden definir de una manera formal los patrones de un lenguaje utilizando los Principios de la Teoría de Lenguajes. Componente Léxico También denominado Token(símbolo) es cualquier cadena de longitud finita que tiene un significado especial dentro de un Lenguaje. Patrón La especificación formal de un componente léxico. Lexema Cualquier cadena que concuerde con un patrón. COMPONENTE LÉXICO LEXEMAS DE EJEMPLO DESCRIPCIÓN INFORMAL DEL PATRÓN const Const const if If if relación <, <=, =, <>, >, >= < o <= o = o <> o >= o > id pi, cuenta, D2 letra seguida de letras y dígitos núm , 0, 6.02e23 cualquier constante numérica literal vaciado de memoria cualquier carácter entre y, excepto II.- TEORÍA DE LENGUAJES (extraído de Compiladores: Principios, técnicas y Herramientas, Aho, Sethi y Ullman) En general, la Teoría de Lenguajes define una manera formal de especificar la inmensa cantidad de lenguajes, sean computacionales o no, que ya existen y que irán apareciendo en el futuro. En base a la aplicación práctica de esta teoría se especificarán los componentes léxicos de un lenguaje particular.
2 2 Conceptos Previos Alfabeto Cualquier conjunto finito de símbolos. Por ejemplo: Alfabeto Binario = {0, 1} Alfabeto Decimal = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Alfabeto ASCII = {..., A, B,..., 0, 1,..., (, ),..., %,...} Alfabeto Abecedario Español = {A, B,..., Y, Z, Á, É,... a, b,..., y, z, á, é,...} Alfabeto C = {id, num, literal, (, ), int, for, if, while,...} Para simplificar la notación el símbolo Σ se usa como sinónimo de Alfabeto. Cadena Secuencia finita de símbolos tomados de un alfabeto. En teoría de lenguajes frase o palabra es sinónimo de cadena. Ejemplos de cadenas: Cadena de un Alfabeto Binario = { } Cadena de un Alfabeto Decimal = { } Cadena de un Alfabeto ASCII = {%A1#567;!78 } Cadena de un Alfabeto Abecedario Español = {América} Cadena de un Alfabeto C = {int id=num;} Existe una cadena especial llamada cadena vacía que existe para cualquier Alfabeto y se denota por el símbolo ε o el símbolo λ. Longitud de una cadena Es el número de apariciones de símbolos en s. Se denota como s y se lee como norma de s. Por ejemplo: = = 8 %A1#567;!78 = 14 América = 7 int id=num = 4 ε = 0 Lenguaje Cualquier conjunto de cadenas de un Alfabeto fijo. Por ejemplo: Lenguaje de Máquina es el conjunto de cadenas binarias que pueden ser interpretadas por el computador. Cada sentencia es una cadena. Lenguaje de los Números Naturales son el conjunto de cadenas formadas por símbolos decimales. Cada número es una cadena. Lenguaje de Archivos de Texto son el conjunto de archivos escritos en texto ASCII. Cada archivo es una cadena. Lenguaje Español es el conjunto de sentencias bien construidas con símbolos del Abecedario. Cada sentencia es una cadena. Lenguaje C es el conjunto de archivos fuente de C bien construidos (sin importar el significado). Cada archivo es una cadena. Existen dos lenguajes especiales en Teoría de Lenguajes: Φ = Lenguaje Vacío {ε} = Lenguaje que sólo contiene la cadena vacía. Nótese que pueden existir conjuntos finitos e infinitos, dependiendo del lenguaje.
3 3 Definición Si x e y son cadenas la concatenación de x e y se escribe como xy y es la cadena que resulta de agregar y a x. Por ejemplo, si x=caza e y=fortunas entonces xy=cazafortunas. Definición La cadena ε es el elemento identidad que se concatena. Sea s una cadena cualquiera, entonces se cumple que sε = εs = s. Definición Sea s una cadena cualquiera. La exponenciación de cadena se define como: s 0 = ε s i = s i-1 s, i > 0 Entonces: Operaciones con Lenguajes s 1 = s 0 s = εs = s s 2 = s 1 s = ss s 3 = s 2 s = sss etc. La siguiente tabla resume las operaciones que se definen con lenguajes. OPERACIÓN Unión de L y M, que se escribe L M Concatenación de L y M, que se escribe LM Cerradura de Kleene de L, que se escribe L* Cerradura positiva de L, que se escribe L + DEFINICIÓN L M = {s s está en L o s está en M} LM = {st s está en L y t está en M} L * = = i 0 i L L* denota cero o más concatenaciones de L. L + = i= 1 i L L + denota una o más concatenaciones de L.
4 4 Ejemplo Sea L el conjunto {A, B,..., Y, Z, a, b,..., y, z} y D el conjunto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Se puede considerar L y D como dos Alfabetos, o se puede considerar L y D como dos lenguajes finitos que tienen cadenas de longitud uno. Tomando la segunda alternativa los siguientes son ejemplos de nuevos lenguajes creados a partir de L y D mediante la aplicación de los operadores definidos en la tabla. 1. L D es el conjunto de letras y dígitos. 2. LD es el conjunto de cadenas que consta de una letra seguida de un dígito. 3. L 4 es el conjunto de todas las cadenas de cuatro letras. 4. L* es el conjunto de todas las cadenas de letras, incluyendo ε, la cadena vacía. 5. L(L D)* es el conjunto de todas las cadenas de letras y dígitos que comienzan con una letra. 6. D + es el conjunto de todas las cadenas de uno o más dígitos. Nótese como las notaciones pueden definir conjuntos finitos e infinitos, sin la necesidad de dar ninguna explicación, que a modo didáctico se colocó al lado de ellas, sobre como son sus elementos.
5 5 III.- CLASIFICACIÓN DE LOS LENGUAJES (extraído de Apunte Autómatas, trabajo realizado por Alicia de Alvaro Martín, Lara Barrio Márquez, María Elena Rincón Arribas) En general, los Lenguajes se clasifican según su complejidad en 4 Tipos (Clasificación de Noam Chomsky), siendo los más simples de definir aquellos denominados como Lenguajes Regulares. Son estos en particular los que nos permitirán especificar los componentes léxicos de un lenguaje de programación. G) Tipo 0 (Chomsky) Sin restricciones. M) Máquinas de Turing L) Problemas Recursivamente Enumerables. Describe cualquier suceso computable. G) Tipo 1 Sensibles al contexto M) Autómata acotado linealmente L) Dependiente de contexto G) Tipo 2 De contexto libre M) Autómatas a pila L) Independientes de contexto. Sintaxis de lenguajes como Pascal, C... G) Tipo 3 Gramáticas regulares M) Autómatas finitos, probabilísticos y Células de McCulloch-Pitts L) Expresiones regulares. Analizador léxico (indica si se reconoce la palabra) Editores de Texto (Reconocen /Reemplazan la palabra) Clasificación de los Lenguajes
6 6 IV.- LENGUAJES REGULARES (extraído de Compiladores: Principios, técnicas y Herramientas, Aho, Sethi y Ullman) En pascal, un identificador es una letra seguida de cero o más letras o dígitos; es decir, un identificador es un miembro del conjunto definido por la notación del ejemplo L(L D)* de la sección II del Apunte. Con expresiones regulares se pueden definir de manera precisa conjuntos como este. Con la notación de expresión regular se pueden definir los identificadores de Pascal como: letra(letra digito)* La barra vertical aquí significa o, los paréntesis se usan para agrupar subexpresiones, el asterisco significa cero o más casos de la expresión entre paréntesis, y la yuxtaposición de letra con el resto de la expresión significa concatenación. Una expresión regular se construye a partir de expresiones regulares más simples utilizando un conjunto de reglas definitorias. Cada expresión regular r representa un Lenguaje Regular L(r). Las reglas de definición especifican como se forma L(r) combinando de varias maneras los lenguajes representados por las subexpresiones de r. Reglas de Definición de Expresiones Regulares Las siguientes son las reglas que definen las expresiones regulares del alfabeto Σ. 1. ε es una e.r. designada por {ε}. 2. Si a Σ a es una e.r. designada por {a}. 3. Si r y s son e.r. representadas por L(r) y L(s) a. (r) (s) es una e.r. representada por L(r) L(s). b. (r)(s) es una e.r. representada por L(r)L(s). c. (r)* es una e.r. representada por (L(r))*. d. (r) es una e.r. representada por L(r). Un lenguaje designado por una expresión regular es un conjunto regular. Precedencia de los Operadores Se pueden omitir los () de una expresión regular siguiendo las siguientes reglas. 1. El operador * tiene la mayor precedencia y es asociativo por la izquierda. 2. La concatenación tiene la segunda mayor precedencia y es asociativo por la izquierda. 3. El operador tiene la menor precedencia y es asociativo por la izquierda. Por ejemplo (a) ((b)*(c)) a b*c
7 7 Ejemplo Sea Σ = {a, b}. 1. a b {a, b} 2. (a b)(a b) {aa, ab, ba, bb} 3. aa ab ba bb {aa, ab, ba, bb} 4. a* {ε, a, aa, aaa, aaaa,...} 5. (a b)* (a*b*)*, es el conjunto de todas las cadenas formadas por a y b, incluida la cadena vacía. 6. a a*b, es el conjunto que contiene la cadena a y todas las que se componen de cero o más a seguidas de una b. Si dos expresiones regulares r y s representan el mismo lenguaje, se dice que r y s son equivalentes y se escribe r = s. Por ejemplo (a b) = (b a). Propiedades Algebraicas de las Expresiones Regulares Son varias las leyes algebraicas que obedecen las expresiones regulares y pueden ser utilizadas para transformar las expresiones regulares a formas equivalentes. Definiciones Regulares AXIOMA DESCRIPCIÓN r s = s r es conmutativo r (s t) = (r s) t es asociativo (rs)t = r(st) La concatenación es asociativa r(s t) = rs rt La concatenación distribuye sobre (s t)r = sr tr εr = r ε es el elemento identidad para la concatenación rε = r r* = (r ε)* La relación entre * y ε r** = r* * es idempotente Por conveniencia de notación, puede ser deseable dar nombres a las expresiones regulares y definir expresiones regulares utilizando dichos nombres como si fueran símbolos. Si Σ es un alfabeto de símbolos básicos, entonces una definición regular es una secuencia de definiciones de la forma d 1 r 1 d 2 r 2... d n r n Donde cada d i es un nombre distinto, y cada r i es una expresión regular sobre los símbolos de Σ {d 1, d 2,..., d i-1 }.
8 8 Como ya se estableció antes, el conjunto de identificadores de Pascal es el conjunto de cadenas de letras y dígitos que empiezan con una letra. A continuación se da una definición regular para este conjunto. letra A B... Z a b... z dígito id letra ( letra dígito ) * Los números sin signo en Pascal son cadenas como 5280, 39.37, 6.336E4 o 1.89E-4. La siguiente definición regular proporciona una especificación precisa para esta clase de cadenas: dígito dígitos dígito dígito* fracción_optativa. dígitos ε exponente_optativo ( E ( + - ε ) ) dígitos ) ε núm dígitos fracción_optativa exponente_optativo Obsérvese que, como mínimo, debe ir un dígito después del punto, de modo que núm no concuerde con 1., pero sí con 1.0. Abreviaturas en la Notación Ciertas construcciones aparecen con tanta frecuencia en una expresión regular, que es conveniente introducir algunas abreviaturas. Uno o más casos. El operador unitario postfijo + significa uno o más casos de. Si r es una expresión regular que designa al lenguaje L(r), entonces (r)+ es una expresión regular que designa al lenguaje (L(r)) +. El operador + tiene la misma precedencia y asociatividad que el operador *. Las dos identidades algebraicas que relacionan la cerradura de Kleene y la cerradura positiva son las siguientes: r* = r+ ε r + = r r* Cero o un caso. El operador unitario postfijo? significa cero o un caso de. La notación r? Es una abreviatura de r ε. Si r es una expresión regular, entonces (r)? es una expresión regular que designa el lenguaje L(r) {ε}. Clases de caracteres. La notación [abc], donde a, b y c son símbolos del alfabeto, designa la expresión regular a b c. Una clase abreviada de carácter como [a-z] designa la expresión regular a b... z. Utilizando clases de caracteres, se puede definir los identificadores como cadenas generadas por la expresión regular [A-Za-z][A-Za-z0-9]*
9 9 Con estas abreviaciones se puede reescribir la definición de número sin signo en Pascal como dígito [0-9] dígitos dígito + fracción_optativa (. dígitos)? exponente_optativo ( E ( + - )? ) dígitos )? núm dígitos fracción_optativa exponente_optativo V.- EJERCICIOS PROPUESTOS Teoría de Lenguajes 1.- Describa los conjuntos de palabras generados por los siguientes lenguajes: a. L(a)* b. L(a)* L(b)* c. L(a)*L(b)* d. L(a)*L(a)L(b) L(b) e. L(L(c)L(L(a)*L(b))*)* f. L( L(a)* L(b)* L(ab)* )* g. L(L(a)L(b)L(b)*L(a))* 2.- Determine si son ciertas las siguientes expresiones: a. L(L(a) L(b))* = Σ*, donde Σ= {a,b} b. baa L(a)*L(b)*L(a)*L(b)* c. L(b)*L(a)* L(a)*L(b)* = L(a)* L(b)* d. L(a)*L(b)* L(c)*L(d)* = * e. abcd L(L(a)L(L(c)L(d))*)*
10 10 Expresiones Regulares 1.- Escriba las expresiones regulares para los siguientes conjuntos: a. L={w {0,1}* w tiene dos o tres ocurrencias de 1 y el primer 1 no es consecutivo con los otros 1} b. L={w {a,b}* w no tiene más de tres a} c. L={w {a,b}* w tiene una ocurrencia de aaa} 2.- Determine si son equivalentes las siguientes expresiones regulares: a. ((a*b*)*(b*a*)*)* = (b*a*)* = (a b)* b. ab((aa ε)b)*a ε= (abb*a)* c. 0*100*10*(ε 10*) = 0*100*1(0* 0*10*)
Autómata finito y Expresiones regulares A* C. B
Autómata finito y Expresiones regulares A* C. B Conceptos Alfabeto ( ): es el conjunto finito no vacío de símbolos. Ejemplo: = {0,1}, el alfabeto binario Cadenas: secuencia finita de símbolos pertenecientes
Más detallesNo todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:
1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.
Más detallesSea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:
09:50 1 Temas Gramáticas libres de contexto Árbol de derivación Derivación más a la izquierda y más a la derecha Ambigüedad Factorización a izquierda Gramáticas propias Expresiones Regulares Objetivo Que
Más detallesSSL Guia de Ejercicios
1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.
Más detallesExpresiones regulares, gramáticas regulares
Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde
Más detallesTeoría de la Computación y Leguajes Formales
y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos
Más detalles07 Análisis léxico III
2 Contenido Lenguaje Operaciones entre lenguajes Lenguajes regulares Expresiones regulares 3 Lenguaje Un lenguaje es un conjunto de palabras (cadenas) de un determinado alfabeto Σ. Formalmente: Se llama
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado
Más detallesIntroducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas
Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del
Más detallesUnidad 1 Introducción
Unidad 1 Introducción Contenido 1.1 La importancia de estudiar los autómatas y lenguajes formales 1.2 Símbolos, alfabetos y cadenas 1.3 Operaciones sobre cadenas 1.4 Definición de lenguaje y operaciones
Más detalles08 Análisis léxico IV
2 Contenido Expresiones regulares Lenguaje generado por una expresión regular Precedencia de las operaciones con las expresiones regulares Ejemplos Definiciones regulares Extensiones de las expresiones
Más detallesClase 06: Definiciones regulares
Solicitado: Ejercicios 04: Expresiones y definiciones regulares M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Expresiones
Más detallesTema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison
Más detallesTema 1: Introducción. Teoría de autómatas y lenguajes formales I
Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.
Más detallesCAPITULO 2: LENGUAJES
CAPITULO 2: LENGUAJES 2.1. DEFINICIONES PREIAS SIMBOLO: Es una entidad indivisible, que no se va a definir. Normalmente los símbolos son letras (a,b,c,.., Z), dígitos (0, 1,.., 9) y otros caracteres (+,
Más detallesLENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas
Más detallesLenguajes y Compiladores Análisis Léxico
Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.
Más detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,
Más detallesTemas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes
0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales
Más detallesAlfabetos, cadenas y lenguajes
Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena
Más detallesSintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:
Tema 3 Expresiones y Lenguajes Regulares Dr Luis A Pineda ISBN: 970-32-2972-7 Sintaxis y Semántica En us uso normal, las expresiones lingüística hacen referencia a objetos individuales, así como a sus
Más detallesConceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Más detalles2. El análisis léxico.
Compiladores. Análisis léxico 2-1 2. El análisis léxico. Esta fase del compilador es la única que esta en contacto con el programa fuente. Su función es leer las instrucciones del programa y generar una
Más detallesExpresiones regulares, gramáticas regulares
Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde
Más detallesExpresiones regulares
Expresiones regulares Elvira Mayordomo Universidad de Zaragoza 26 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Expresiones regulares 26 de septiembre de 2013 1 / 15 Contenido de este
Más detallesCompiladores: Sesión 3. Análisis léxico, expresiones regulares
Compiladores: Sesión 3. Análisis léxico, expresiones regulares Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali 29 de enero de
Más detallesAlfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:
Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin
Más detalles14 Lenguajes y gramáticas II
2 Contenido Lenguaje generado por una gramática (Derivaciones) Ejemplo Jerarquía de Chomsky Gramáticas tipo 3 Gramáticas tipo 2 Gramáticas tipo 1 Gramáticas tipo 0 Descripción de las gramáticas Ejercicios
Más detallesEXPRESIONES REGULARES
EXPRESIONES REGULARES Son entes formales o estructuras matemáticas utilizadas para especificar parámetros de formación de componentes léxicos. Las Expresiones Regulares denotan o representan lenguajes.
Más detallesIntroducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica
Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq
Más detallesClase 12: Clasificación de gramáticas
Solicitado: Ejercicios 10: Clasificación de gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Avram Noam Chomsky
Más detallesANÁLISIS LÉXICO EXPRESIONES REGULARES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesDEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES
1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS
Más detallesExpresiones regulares
Expresiones regulares Elvira Mayordomo Universidad de Zaragoza 24 de septiembre de 2012 Contenido de este tema Introducción a las expresiones regulares Definición de expresión regular Ejemplos de expresiones
Más detallesExpresiones regulares, gramáticas regulares Unidad 3
Expresiones regulares, gramáticas regulares Unidad 3 Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes,
Más detallesRepaso Clase Anterior
Mayo 22, Lunes Repaso Clase Anterior Glosario Tareas Prof. Esp. Ing. José María Sola 258 Agenda para esta clase Especificación Formal de Máquintas de Estado Expresiones Regulares Prof. Esp. Ing. José María
Más detallesINAOE. Expresiones Regulares. Operadores y Operandos. Equivalencia de Lenguajes de FA y Lenguajes RE. Leyes Algebraicas de las. Expresiones Regulares
INAOE (INAOE) 1 / 52 Contenido 1 2 3 4 (INAOE) 2 / 52 Es un equivalente algebraico para un autómata. Utilizado en muchos lugares como un lenguaje para describir patrones en texto que son sencillos pero
Más detallesCONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle
CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas
Más detallesLenguajes, Gramáticas y Autómatas Conceptos
Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesMáquina de estado finito con salida sin salida
Máquina de estado finito con salida sin salida Máquina de estado finito Máquinas de estados finitos se utilizan ampliamente en aplicaciones en ciencias de la computación y redes de datos. Por ejemplo,
Más detallesPrácticas de Lenguajes, Gramáticas y Autómatas
Prácticas de Lenguajes, Gramáticas y Autómatas Cuarto cuatrimestre (primavera) de Ingeniería en Informática Curso 2010-2011 http://webdiis.unizar.es/asignaturas/lga Profesor Responsable: Jorge Júlvez Dpto.
Más detallesCurso Básico de Computación Preliminares
Curso Básico de Computación Preliminares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Preliminares 2010 1 / 11 1 Preliminares
Más detallesIntroducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica
Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq
Más detallesCompiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013
Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/2013 1 / 34 Índice
Más detallesTemas. Objetivo 07:00
0 Temas Definición de Gramáticas de Estructura de Frase Proceso de derivación Gramáticas equivalentes Lenguajes de Estructura de Frase Jerarquía de Chomsky Relación entre los lenguajes Objetivo Que el
Más detallesINTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesInducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática
Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx
Más detallesCurso Básico de Computación
CINVESTAV IPN México City 2010 1 Preliminares 1.1 Cadenas, alfabetos y lenguajes Un símbolo es un ente abstracto que no se puede definir formalmente. Letras o dígitos son ejemplos
Más detallesExamen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene
Más detallesDesarrollo de lenguajes y Compiladores [MII-771] Capítulo 1: Lenguajes y Gramáticas Formales
Desarrollo de lenguajes y Compiladores [MII-771] Capítulo 1: Lenguajes y Gramáticas Formales Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia
Más detallesFundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto
Más detallesLenguajes y Gramáticas
Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas
Más detallesEl proceso del Análisis Léxico
El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente
Más detallesSintaxis y Semántica. Un repaso
Sintaxis y Semántica Un repaso Definición: Alfabeto Un conjunto finito de símbolos: {a,b,c,d} {0,1,2,34,5,6,7,8,9} {identificador, número, +,-,*, /} {while, if, {, }, >, >=,
Más detallesLos modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo
Tema 1: Introducción Preliminares Los Modelos Abstractos de Cómputo El principio de inducción Palabras y Lenguajes Palabras Operadores sobre palabras Predicados sobre palabras Lenguajes Operadores sobre
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesGramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.
Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 2 Análisis Léxico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos del Tema
Más detallesAUTÓMATAS DE ESTADO FINITO
AUTÓMATAS DE ESTADO FINITO Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 12 de octubre de 2008 Contenido Autómatas de estado finito Concatenación de
Más detallesTema 1: Introducción
Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 28 Definición de compilador Un compilador
Más detallesJerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto
Jerarquía de Chomsky 1. Clasificación de gramáticas 2. Clasificación de lenguajes 3. Gramáticas regulares 4. Gramáticas independientes del contexto 5. Gramáticas dependientes del contexto 6. Gramáticas
Más detallesTema 2: Lenguajes Formales. Informática Teórica I
Tema 2: Lenguajes Formales Informática Teórica I Teoría de Lenguajes Formales. Bibliografía M. Alfonseca, J. Sancho y M. Martínez. Teoría de Lenguajes, Gramáticas y Autómatas, R.A.E.C., Madrid, (1998).
Más detallesTema 1. Introducción
Departamento de Tecnologías de la Información Tema 1 Introducción Ciencias de la Computación e Inteligencia Artificial Índice 1.1 Conceptos 1.2 Un poco de historia 1.3 Estructura de un compilador 1.4 Teoría
Más detallesPROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS
Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican
Más detallesIntroducción a los compiladores
Introducción a los compiladores William Cruz-Santos wdelacruzd@uaemex.mx Ingeniería en Computación Universidad Autónoma del Estado de México Unidad de Competencia I 2 de octubre de 2015 William Cruz-Santos
Más detallesAnalizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones
Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos
Más detallesNombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil
Nombre de la asignatura: Lenguajes y Autómatas I Créditos: 2 3 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares de calidad
Más detallesPrácticas de Lenguajes, Gramáticas y Autómatas
Prácticas de Lenguajes, Gramáticas y Autómatas Cuarto cuatrimestre (primavera) de Ingeniería en Informática Curso 2004-2005 http://webdiis.unizar.es/asignaturas/lga Profesor Responsable: Rubén Béjar Hernández
Más detallesMáquinas de estado finito y expresiones regulares
Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.
Más detallesPROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES
UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA
Más detallesExpresiones Regulares
Conjuntos Regulares y Una forma diferente de expresar un lenguaje Universidad de Cantabria Conjuntos Regulares y Esquema 1 Motivación 2 Conjuntos Regulares y 3 4 Conjuntos Regulares y Motivación El problema
Más detallesObjetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:
09:19 1 2 Temas Funciones del Analizador Léxico Manejo de buffers de entrada Especificación y reconocimiento de tokens Generación automática de Analizadores Léxicos Objetivos Que el estudiante logre conocer,
Más detallesSumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales
Teoría de Autómatas y Lenguajes Formales Capítulo 2: Lenguajes Formales Holger Billhardt holger.billhardt@urjc.es Sumario: Capítulo 2: Lenguajes Formales 1. Concepto de Lenguaje Formal 2. Operaciones sobre
Más detallesPalabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas.
1 Ing. Fco. Ríos Acosta friosam@prodigy.net.mx Expresiones regulares Palabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas.
Más detallesApuntes de compiladores
Apuntes de compiladores Tomás Barros 4 de septiembre de 2008 1. Introducción Un compilador es simplemente un programa que puede leer un programa en un lenguaje y traducirlo a otro lenguaje programa fuente
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.
UNIVRSIDAD NACIONAL D DUCACIÓN A DISTANCIA scuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte I Análisis Sintáctico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
Más detallesInducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática
Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx
Más detallesTeoría de la Computación
Teoría de la Computación Grado en Ingeniería Informática Prácticas de Laboratorio Profesor: Gregorio de Miguel Casado * email: gmiguel@unizar.es Dpto. de Informática e Ingeniería de Sistemas Escuela de
Más detallesTeoría de la Computación Lenguajes Regulares (LR) - Propiedades
Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve http://webdelprofesor.ula.ve/ingenieria/hyelitza Objetivo Lenguajes
Más detallesSumario: Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 1: Conceptos básicos (parte 1) Tema 1: Conceptos básicos
Formales Tema 1: Conceptos básicos (parte 1) Holger Billhardt holger.billhardt@urjc.es Sumario: Tema 1: Conceptos básicos 1. Lenguajes Formales 2. Gramáticas Formales 3. Autómatas Formales 2 1 Sumario:
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir
Más detallesTema 2. Fundamentos de la Teoría de Lenguajes Formales
Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones
Más detalles1. Cadenas EJERCICIO 1
LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada
Más detallesTeoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza
Teoría de autómatas. Un enfoque práctico Recortables Thelma Cantú María Gpe. Mendoza 1.1 Búsqueda de lenguajes Alumno: 1 Nombre del lenguaje Alfabeto: Dónde se utiliza? Cuál es el beneficio para la humanidad?
Más detallesModelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas
Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es
Más detallesTeoría de Autómatas y Lenguajes Formales.
Teoría de Autómatas y Lenguajes Formales Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso Weber 1 UNIVERSIDAD CARLOS III DE
Más detallesMODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN
MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como
Más detallesIntroducción: historia de las Ciencias de la Computación. Informática Teórica I: Tema 1
Introducción: historia de las Ciencias de la Computación Informática Teórica I: Tema 1 Ciencias de la Computación:... Teoría de Lenguajes, Gramáticas, Autómatas, Redes de Neuronas, Complejidad... Informática
Más detallessi w=ay por tanto a Σ e y Σ*
EJERCICIOS: LENGUAJES Y GRAMÁTICAS FORMALES Y MÁQUINAS DE TURING 1.- Prefijos de una cadena x son las cadenas que se pueden obtener de x suprimiendo 0 o más caracteres del final de x. Prefijos propios
Más detallesNOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN
NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje
Más detalles8- LEX-Expresiones regulares
8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite
Más detallesAMBIENTES DE COMPILACION
AMBIENTES DE COMPILACION Los compiladores a menudo producen como resultado del análisis semántico, una forma de representación intermedia del código fuente. Hoy en día, es cada vez más común que, en ambientes
Más detallesCompiladores e Intérpretes Análisis Léxico
1 Compiladores e Intérpretes Análisis Léxico Sebastian Gottifredi 2017 Organizacion Esquema General de Análisis Léxico Tokens Especificando Tokens Expresiones Regulares Reconociendo Tokens Autómatas Finitos
Más detallesANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa
ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANALIZADOR LÉXICO (AL) El Analizador léxico (scanner), lee la secuencia de caracteres del programa fuente, caracter a caracter, y los agrupa para formar unidades
Más detallesLenguajes (gramáticas y autómatas)
Lenguajes (gramáticas y autómatas) Elvira Mayordomo Universidad de Zaragoza 19 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Lenguajes (gramáticas y autómatas) 19 de septiembre de 2013
Más detalles