ESPECIFICACIÓN DE SÍMBOLOS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ESPECIFICACIÓN DE SÍMBOLOS"

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 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 detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No 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 detalles

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:

Sea 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 detalles

SSL Guia de Ejercicios

SSL 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 detalles

Expresiones regulares, gramáticas regulares

Expresiones 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 detalles

Teoría de la Computación y Leguajes Formales

Teorí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 detalles

07 Análisis léxico III

07 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 detalles

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes 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 detalles

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducció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 detalles

Unidad 1 Introducción

Unidad 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 detalles

08 Análisis léxico IV

08 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 detalles

Clase 06: Definiciones regulares

Clase 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 detalles

Tema 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 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 detalles

Tema 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 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 detalles

CAPITULO 2: LENGUAJES

CAPITULO 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 detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES 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 detalles

Lenguajes y Compiladores Análisis Léxico

Lenguajes 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 detalles

Ciencias de la Computación I

Ciencias 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 detalles

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes

Temas. 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 detalles

Alfabetos, cadenas y lenguajes

Alfabetos, 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 detalles

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Sintaxis 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 detalles

Conceptos básicos sobre gramáticas

Conceptos 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 detalles

2. El análisis léxico.

2. 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 detalles

Expresiones regulares, gramáticas regulares

Expresiones 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 detalles

Expresiones regulares

Expresiones 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 detalles

Compiladores: Sesión 3. Análisis léxico, expresiones regulares

Compiladores: 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 detalles

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Alfabetos 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 detalles

14 Lenguajes y gramáticas II

14 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 detalles

EXPRESIONES REGULARES

EXPRESIONES 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 detalles

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducció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 detalles

Clase 12: Clasificación de gramáticas

Clase 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 detalles

ANÁLISIS LÉXICO EXPRESIONES REGULARES

ANÁ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 detalles

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

DEFINICIONES 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 detalles

Expresiones regulares

Expresiones 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 detalles

Expresiones regulares, gramáticas regulares Unidad 3

Expresiones 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 detalles

Repaso Clase Anterior

Repaso 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 detalles

INAOE. Expresiones Regulares. Operadores y Operandos. Equivalencia de Lenguajes de FA y Lenguajes RE. Leyes Algebraicas de las. Expresiones Regulares

INAOE. 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 detalles

CONJUNTOS 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. 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 detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, 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 detalles

16 Análisis sintáctico I

16 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 detalles

Máquina de estado finito con salida sin salida

Má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 detalles

Prácticas de Lenguajes, Gramáticas y Autómatas

Prá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 detalles

Curso Básico de Computación Preliminares

Curso 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 detalles

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducció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 detalles

Compiladores. 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 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 detalles

Temas. Objetivo 07:00

Temas. 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 detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

INTRODUCCIÓ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 detalles

Inducció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. 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 detalles

Curso Básico de Computación

Curso 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 detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. 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 detalles

Desarrollo 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 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 detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos 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 detalles

Lenguajes y Gramáticas

Lenguajes 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 detalles

El proceso del Análisis Léxico

El 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 detalles

Sintaxis y Semántica. Un repaso

Sintaxis 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 detalles

Los modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo

Los 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 detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS 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 detalles

Tema 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 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 detalles

Procesadores de Lenguaje

Procesadores 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 detalles

Gramá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 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 detalles

UNIVERSIDAD 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. 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 detalles

AUTÓMATAS DE ESTADO FINITO

AUTÓ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 detalles

Tema 1: Introducción

Tema 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 detalles

Jerarquí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. 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 detalles

Tema 2: Lenguajes Formales. Informática Teórica I

Tema 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 detalles

Tema 1. Introducción

Tema 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 detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓ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 detalles

Introducción a los compiladores

Introducció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 detalles

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Analizador 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 detalles

Nombre 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: 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 detalles

Prácticas de Lenguajes, Gramáticas y Autómatas

Prá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 detalles

Máquinas de estado finito y expresiones regulares

Má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 detalles

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

PROGRAMA 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 detalles

Expresiones Regulares

Expresiones 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 detalles

Objetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:

Objetivos 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 detalles

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Sumario: 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 detalles

Palabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas.

Palabras 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 detalles

Apuntes de compiladores

Apuntes 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 detalles

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.

UNIVERSIDAD 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 detalles

Inducció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. 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 detalles

Teoría de la Computación

Teorí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 detalles

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Teorí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 detalles

Sumario: Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 1: Conceptos básicos (parte 1) Tema 1: Conceptos básicos

Sumario: 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 detalles

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Lenguajes 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 detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 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 detalles

1. Cadenas EJERCICIO 1

1. 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 detalles

Teorí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 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 detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos 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 detalles

Teoría de Autómatas y Lenguajes Formales.

Teorí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 detalles

MODELOS 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 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 detalles

Introducció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 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 detalles

si w=ay por tanto a Σ e y Σ*

si 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 detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS 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 detalles

8- LEX-Expresiones regulares

8- 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 detalles

AMBIENTES DE COMPILACION

AMBIENTES 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 detalles

Compiladores e Intérpretes Análisis Léxico

Compiladores 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 detalles

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa

ANÁ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 detalles

Lenguajes (gramáticas y autómatas)

Lenguajes (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