ESPECIFICACIÓN DE SÍMBOLOS
|
|
|
- Cristóbal Villalobos Campos
- hace 8 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
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.
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
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.
Teoría de la Computación y Leguajes Formales
y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación [email protected] [email protected] Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos
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
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
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
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
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 [email protected] 1 Contenido Expresiones
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
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.
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 (+,
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
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.
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
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
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
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
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
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
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
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
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
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
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: [email protected] Página Web: www.matematicas.unam.mx/fhq
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
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
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,
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
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
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
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á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,
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.
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
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: [email protected] Página Web: www.matematicas.unam.mx/fhq
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
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
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: [email protected]
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
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
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
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
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, {, }, >, >=,
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
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.
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.
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
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.
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
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
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).
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
Introducción a los compiladores
Introducción a los compiladores William Cruz-Santos [email protected] 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
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
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á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.
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
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
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,
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 [email protected] Sumario: Capítulo 2: Lenguajes Formales 1. Concepto de Lenguaje Formal 2. Operaciones sobre
Palabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas.
1 Ing. Fco. Ríos Acosta [email protected] Expresiones regulares Palabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas.
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
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: [email protected]
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: [email protected] Dpto. de Informática e Ingeniería de Sistemas Escuela de
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 [email protected] http://webdelprofesor.ula.ve/ingenieria/hyelitza Objetivo Lenguajes
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 [email protected] Sumario: Tema 1: Conceptos básicos 1. Lenguajes Formales 2. Gramáticas Formales 3. Autómatas Formales 2 1 Sumario:
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
