Lenguajes Formales. rafael ramirez. Ocata 320
|
|
- Alberto Alcaraz Velázquez
- hace 8 años
- Vistas:
Transcripción
1 Lenguajes Formales rafael ramirez Ocata 320
2 Conceptos centrales Un alfabeto es un conjunto (finito y no vacio) de símbolos. Σ={0,1} Σ={a,b,,z} Una cadena (a veces llamada palabra) es una sequencia (finita) de símbolos de algun alfabeto es una cadena del alfabeto Σ={0,1} La cadena vacia є es la cadena con cero símbolos La longitud de una cadena es el número de símbolos que contiene = 5 є = 0 La potencia k de un alfabeto es el conjunto de cadenas con longitud k si Σ={0,1}, Σ 1 ={0,1}, Σ 2 ={00,01,10,11} El conjunto de todas las cadenas sobre un alfabeto se denota Σ* 2
3 Conceptos centrales xy denota la concatenacion de las cadenas x e y si x=barce, y=lona entonces xy=barcelona Un lenguaje es un conjunto de cadenas escogidas de algun Σ* el conjunto de cadenas con mismo numero de 0s que de 1s = {є,01,10,0011,0101,1001, } = {w w consiste de el mismo numero de 0s que de 1s} 3
4 Gramáticas formales Una gramática formal consiste en: Un alfabeto Σ Un conjunto de símbolos terminales T Σ Un conjunto de reglas de produccion Un símbolo inicial El lenguaje generado por una gramática G (que se denota por L(G) ) es el conjunto de cadenas sobre Σ que puede ser producido por las reglas de produccion empezado con el simbolo inicial. A Σ T se le llama el conjunto de simbolos no terminales 4
5 Ejemplo 1 Alfabeto: Σ = {0,1,S} Conjunto de simbolos terminales: T = {0,1} (conjunto de simbolos no terminales: Σ T = {S} ) Reglas de produccion: S є S 0S1 Simbolo inicial: S Que lenguaje L(G) genera esta gramatica G? 5
6 Ejemplo 2 Alfabeto: Σ = conjunto de palabras en español y algunos simbolos no terminales Σ = {el, la, niño, niña, corre, come, tarta, Oracion, Sujeto, Predicado, Verbo, Articulo, Sustantivo} Conjunto de simbolos terminales: T = {el, la, niño, niña, corre, come, tarta} Reglas de produccion: Oracion Sujeto Predicado Sujeto Articulo Sustantivo Predicado Verbo Articulo Sustantivo Verbo corre come Articulo el la Sustantivo niño niña tarta Simbolo inicial: Oracion 6
7 Ejemplo 2 Operador de remplazo : remplaza cualquier no terminal en el lado izquierdo de cualquier produccion por el lado derecho de la produccion Oracion Sujeto Predicado Regla 1 Articulo Sustantivo Predicado Regla 2 el Sustantivo Predicado Regla 5... el niño come la tarta A partir de Oracion tambien podemos derivar el pastel come el niño La sintaxis no implica semantica correcta 7
8 Derivaciones Una derivacion es una secuencia de formas sentenciales empezando con el símbolo inicial. Gramatica: B 0B 1B 0 1 Derivacion: B 0B 01B 010 Cada paso de derivation es la aplicacion de una regla de produccion. 8
9 Arboles de parse Un arbol de parse es una estructura sintactica herárquica Los nodos internos denotan no terminales Las hojas (nodos externos) denotan terminales. Gramatica: B 0B 1B 0 1 Derivacion: B 0B 01B 010 A partir de la derivacion podemos obtener el arbol de parse. 9
10 Derivaciones arbol de parse Las derivaciones no necesariamente son unicas S SS (S) () S SS (S)S (())S (())() S SS S() (S)() (())() En este caso tenemos diferentes derivaciones pero obtenemos el mismo arbol de parse 10
11 Derivaciones arbol de parse Pero a partir de algunas gramaticas podemos obtener 2 arboles de parse diferentes para la misma cadena: ()()(). Cada arbol de parse corresponde a una unica derivacion: S SS SSS ()SS ()()S ()()() Una gramatica es ambigua si alguna cadena tiene 2 arboles de parse distintos. Para entender la semantica de un lenguaje nos gustaria tener gramaticas no ambiguas 11
12 Pregunta Es esta gramática ambigua? (intenta construir dos arboles de parse diferentes para una misma cadena) E E + E E E * E E N N
13 Respuesta: considera la cadena * 4 E E + E E E * E E N N E E E + E E * E N N * N I + I I
14 Para desambiguarla (Caso 1) + con precedencia sobre * E E2 E2 * E E2 N N + E2 <expr> <expr2> * <expr> 1+2*3 (1+2)*3 <num> + <expr2> 1 <num> 2 <expr2> <num> 3 14
15 Herarquía de Chomsky Gramaticas Regulares: (tipo 3) subclase de las que hemos estado viendo (tipo 2) Las reglas estan restringidas a: A t N t donde: N = no terminal, t = terminal Ejemplo: B 0 B 1 B 0 1 Gramaticas libres de contexto: (tipo 2) Las que hemos estado viendo Las reglas estan restringidas a: A α donde: α = cadena de 0 o mas terminales y no terminales Ejemplo: S SS (S) () 15
16 Herarquía de Chomsky (cont) Gramaticas sensibles al contexto: (tipo 1) Reglas: α βdonde α β e.d. long. de α long. de β, Gramaticas irrestringidas: (tipo 0) Reglas: α β. Sin restricciones en α y β. 16
17 DERIVACION Grammar V = { } Σ = { } R = { } S = { } Tree PARSING Cadena 19a0c6duw Tree 17
18 Top Down parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Top-Down Parse => <num> => <int> (Try first choice) => <digit> (Try first choice) => 1 (Backtrack : 2.34 not parsed) 18
19 Top Down parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Top-Down Parse => <num> => <int> (Try first choice) => <digit><int> (Try second choice) => 1<int> => 1<digit> (Try first choice) => 12 (Backtrack:.34 not parsed) 19
20 Top Down parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Top-Down Parse => <num> => <real> (Try second choice) => <int-part>.<fraction> => => (success!) 20
21 Bottom-up parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Bottom-Up Parse => => <digit>2.34 => <int>2.34 => <num>2.34 (Backtrack) 21
22 Bottom-up parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Bottom-Up Parse => => <digit>2.34 => <digit><digit>.34 => <digit><int>.34 => <int>.34 => <num>.34 (Backtrack) 22
23 Bottom-up parsing Gramática N Int Real Int Digit Digit Int Real Int-part. Fraction Int-part Digit Int-part Digit Fraction Digit Digit Fraction Digit Es aceptado por la gramática con N como símbolo inicial? Bottom-Up Parse => => => <int-part>.34 => => <int-part>.<fraction> => <real> => <num> (Success!) 23
24 Automatas Automata Finito Una manera importante de describir los simples pero muy utiles lenguajes regulares Un grafo con un numero finito nodos, llamados estados Los arcos estan etiquetados con uno o mas símbolos de algun alfabeto Un estado es designado el estado inicial Algunos estados son finales El lenguaje del AF es el conjunto de cadenas que contienen los simbolos que en los arcos en un camino desde el estado inicial a algun estado final. 24
25 Automatas: ejemplo inicio h h o ho l hol a hola 25
26 Automata Finito (formal) Un automata finito M consiste en: 1. un conjunto finito QM de simbolos (los elementos de QM se llaman los estados de M); 2. un elemento sm de QM (sm se llama estado inicial de M); 3. un subconjunt AM de QM (los elementos de AM se llaman estados finales o accepting states de M); 4. a subconjunto finito TM de { (q, x, r) q, r en QM y x es una cadena} (los elementos de TM se llaman transiciones de M). 26
27 Automata Finito Ejemplo 1. QM = {A,B,C}; 2. sm = A; 3. AM = {A,C}; 4. TM = {(A, 1,A), (B, 11,B), (C, 111, C), (A, 0,B), (A, 2,B), (A, 0, C), (A, 2, C), (B, 0, C), (B, 2, C)}. 27
28 Definicion: autómata Un autómata finito consiste en: Un conjunto finito de estados Un estado inicial Un conjunto de estados finales Una funcion de transicion 28
29 Automata Finito Ejemplo 1. QM = {A,B,C}; 2. sm = A; 3. AM = {A,C}; 4. TM = {(A, 1,A), (B, 11,B), (C, 111, C), (A, 0,B), (A, 2,B), (A, 0, C), (A, 2, C), (B, 0, C), (B, 2, C)}. Dibuja la representacion grafica de M 29
30 Automata Finito Ejemplo 1. QM = {A,B,C}; 2. sm = A; 3. AM = {A,C}; 4. TM = {(A, 1,A), (B, 11,B), (C, 111, C), (A, 0,B), (A, 2,B), (A, 0, C), (A, 2, C), (B, 0, C), (B, 2, C)}. 30
31 Automata Finito Los automatas finitos pueden ser determinaistas o nodeterministicas. toman cadenas como entradas. Cuando un automata ejecuta con una entrada dada, empieza en su estado inicial. 31
32 Automata Finito Si, despues de un numero de pasos, el automata 1. esta en un estado p, 2. la entrada restante empieza con x, y 3. hay una transicion (p, x, q) en el automata, Entonces el automata puede leer x de su entrada y cambiar al estado q. Si (p, z, r) es una transicion del automata, y la entrada restante empieza con z, entonces se podria consumir z y cambiar al estado r, etc. 32
33 Automata Finito Si al menos una sequencia de ejecucion consume toda la entrada y llega un estado final, se dice que la entrada es aceptada por el automata. De lo contrario se dice que es rechazada. El significado del automata es el lenguaje que consiste en todas las cadenas que acepta. 33
34 Lenguaje de un autómata El lenguaje de un autómata finito (AF) es el conjunto de cadenas que el AF acepta: Cual es el lenguage del siguiente automata? 0 1 inicio 0 q0 q1 1 q2 34
35 Lenguaje de un autómata El lenguaje de un autómata finito (AF) es el conjunto de cadenas que el AF acepta: Ej. Considera el siguiente lenguaje: L= { w w es de la forma XY para algunas cadenas X e Y tal que X consiste en un numero impar de 0 s e Y cualquier numero de 1 s} L es el lenguaje del siguiente autómata: 0 1 inicio 0 q0 q1 1 q2 35
36 Autómata finito nodeterminista Permite a un AF (determinista) tener cero o mas estados siguientes para un par estado-simbolo. Herramienta importante para diseñar procesadores de lenguajes, p.e. analizadores lexicos. Pero son imaginarios en el sentido de que tienen que ser implementados deterministamente. Ejemplo: AFN que acepta cadenas de simbols en {1,2,3} tales que el ultimo simbolo ya ha aparecido antes en la cadena. 36
37 Ejemplo Cual es el lenguage del automata? 37
38 Ejemplo Cual es el lenguage del automata? 38
39 Ejemplo Cual es el lenguage del automata? Ejercicio: el languaje de todas las cadenas sobre {a,b} Con un numer par de a s (encuentra el autómata). 39
40 Ejemplo Que cadena no esta en el lenguaje del automata? Cual es el lenguage del automata? Kleene s Thm: Un lenguaje L sobre Σ es regular ssi existe un automata finito que acepta L. 40
41 Pushdown Automata
42 Generators vs. Recognizers For Regular Languages: regular expressions are generators FAs are recognizers For Context-free Languages CFGs are generators Pushdown Automata (PDAs) are recognizers 42
43 PDA vs. FA Add a stack Each transition can specify optional push and pop operations using an independent alphabet use Λ (or e) to ignore stack operations a,e/a means with input a, pop nothing, push an A Usually require an empty stack to accept in addition to being in an accept state 43
44 Example: a n b n - + a,e/a X a,e/a b, A/e + Y b, A/e 44
45 Example: a n b n Every input a pushes a A on the stack Every input b pops an A off the stack if any other character appears, reject At end of input, the stack should be empty else the count was off, and we should reject 45
46 Example: PalindromeX Accepts strings of the form wcw R Pops the first half onto the stack middle delimiter to know when to start comparing in reverse 46
47 Palindrome a,e/a a,a/e - c,e/e + b,e/b b,b/e 47
48 Example: EvenPalindrome a,e/a a,a/e - e,e/e + b,e/b b,b/e No delimiter 48
49 Non-determinism Can have e-moves Can have multiple moves for the same input As long as an acceptable path exists, the machine accepts the input 49
50 CFG => PDA Has two states: start, accepting Have an empty move from the start state to the accepting state that pushes the start non-terminal Cycle on the accepting state: empty moves that replace variables with each of their rules moves that consume each terminal 50
51 CFG => PDA Example S => e (S) SS e,s/(s) - e,e/s + (,(/e ),)/e e,s/ss e,s/e 51
52 Derive (()) Using CFG (do a leftmost-derivation): S => (S) =>((S)) => (()) PDA (non-deterministically) do by hand, showing stack at each step 52
53 A DPDA for ( ) (,e/r - + ),R/e Exercise: accept (( )( )) 53
54 CFG vs. PDA Any CFG can be represented by a PDA some CFGs require non-determinism unlike NFA s => FAs => regular expressions i.e., the languages accepted by DPDAs form a subset of those accepted by NPDAs Any PDA has a corresponding CFG Lots of work to find!!! 54
Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en
Más detallesAutómata de Pila (AP, PDA) Sesión 18
Sesión 8 Autómata de Pila (Pushdown Automata) Autómata de Pila (AP, PDA) Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack). L = {xx r x
Más detallesAutómata de Pila (AP, PDA) Tema 18
Tema Autómata de Pila (Pushdown Automata Autómata de Pila (AP, PDA Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack. Dr. Luis A. Pineda
Más detallesDeterministic Finite Automata And Regular Languages
Deterministic Finite Automata And Regular Languages 1 Deterministic Finite Automaton (DFA) Input Tape String Output Finite Automaton Accept or Reject Costa Busch - LSU 2 Transition Graph a, a a q 5 a,
Más detallesAutómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50
INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)
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 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 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 detallesLENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como el ingles, español, alemán o francés es extremadamente complicada, dado que es imposible especificar la
Más detallesÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los
Más detallesControla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion
UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto
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 detallesTema 2: Autómatas finitos
Tema 2: Autómatas finitos Departamento de Sistemas Informáticos y Computación DSIC - UPV http://www.dsic.upv.es p. 1 Tema 2: Autómatas finitos Autómata finito determinista (AFD). Formas de representación
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 detallesINTRODUCCIÓN A LOS LENGUAJES
INTRODUCCIÓN A LOS LENGUAJES 1 Definición de lenguaje 2 Lenguajes formales 2.1 Requisitos 2.2 Aplicaciones 2.3 Especificación 2.4 Gramáticas 2.4.1 Definición y Ejemplos 2.4.2 Ambigüedad 2.4.3 Clasificación
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 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 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 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 detallesLenguajes Incontextuales
Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía
Más detallesGramáticas libres de contexto
Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas
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 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 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 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 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 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 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 detallesIntroducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales
Más detallesAgenda. Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo
Agenda Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo Analizador sintáctico Bottom-Up 1-1 1-2 Introducción Los sistemas de implementación
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 detallesINAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.
s s INAOE en s (INAOE) 1 / 67 Contenido s en s 1 s 2 3 4 5 6 7 8 en s (INAOE) 2 / 67 s s s Hemos visto que muchos lenguajes no son regulares. Por lo que necesitamos una clase más grande de lenguages Las
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 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 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 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 detallesTraductores Push Down
Push Down Extensión de Autómatas Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema Hemos estudiado anteriormente los autómatas con pila y hemos visto su relación con los lenguajes
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 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 detallesCompiladores: Parsing ascendente
Compiladores: Parsing ascendente Francisco J Ballesteros LSUB, URJC Page 1 of 64 Parsing ascendente Normalmente utilizaremos parsers descendentes para problemas pequeños cuando podemos escribir uno predictivo
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 detallesTeoría de autómatas para investigadores en XML
en XML Rafael C. Carrasco Jiménez Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante Febrero 2006 30 de enero de 2007 finitos de cadenas Un DFA (deterministic finite-state automaton)
Más detallesProyecto Intermedio Algoritmo de Earley
Fundamentos de Computación Proyecto Intermedio: Algoritmo de Earley Profesor: Dr. José Torres Jiménez Alumnos: Edna Gutiérrez Gasca Aureny Magaly Uc Miam Jorge Rodríguez Núñez Proyecto Intermedio Algoritmo
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 detallesIntroducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales
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 detallesSe pueden agrupar las reglas que tienen la misma parte izquierda:
GRAMÁTICA DE CONTEXTO LIBRE Gramática de contexto libre G = (V N, V T, P, S) que genera oraciones copulativas: V N = { , , , , V T = {el, la, hombre, niña,
Más detallesTemas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.
0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)
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 detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
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 detallesTema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I
Tema 5: Autómatas a pila 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 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 detallesCAPITULO 5: GRAMÁTICAS
CAPITULO 5: GRAMÁTICAS 5.1. GRAMÁTICA EN UN LENGUAJE NATURAL: En un lenguaje natural la estructura de las frases, se describen por medio de una gramática que agrupa las palabras en categorías sintácticas
Más detallesAutómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales
los s s s s INAOE (INAOE) 1 / 58 Contenido los s s 1 los s 2 3 4 s 5 (INAOE) 2 / 58 los s los s los s s : Conjunto de estados + Control Cambio de estados en respuesta a una entrada. Tipo de Control: :
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 detallesDepartamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial
Departamento de Tecnologías de la Información Tema 5 Decidibilidad Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Lenguajes reconocibles y decidibles 5.2 Problemas decidibles sobre lenguajes
Más detallesTres versiones de Pal. Sesión 19. Una máquina para aceptar Pal El lenguaje: Tabla de transición para Pal. Más de un siguiente estado.
Tres versiones de Pal Sesión 19 Autómata de pila determinístico Pal marca = {xcx r x {0, 1} * } 0110c0110 Pal par = {xx r x {0, 1} * } 00111100 Pal = {x x = x r {0, 1} * } 00111100 001101100 Una máquina
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 detallesCoordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012
Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción
Más detallesComputabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)
Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad
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 detallesComputabilidad y Lenguajes Formales: Autómatas Finitos
300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada
Más detallesComplejidad Computacional
Análisis y Complejidad de Algoritmos Complejidad Computacional Arturo Díaz Pérez Lenguajes formales Gramáticas formales Jerarquía de Chomski Teoría de la complejidad Una desigualdad computacional Computabilidad
Más detallesTema: Autómatas de Estado Finitos
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de
Más detallesAnalizadores sintácticos LR(0) y SLR
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Clase de Hoy Anteriores: Parsing descendente (LL(1), ELL) Recursivos e iterativos Generan árbol de derivación desde
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 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 detallesGeneralidades sobre lenguajes.
no DSIC - UPV July 3, 2011 (DSIC - UPV) July 3, 2011 1 / 21 Definiciones: no Alfabeto Σ = {a, b, c} o Γ = {0, 1} palabra, cadena o frase Σ: x = aaba, y = 0011. Cadena vacía: λ. Longitud de una palabra:
Más detallesMáquinas de Turing, recordatorio y problemas
Máquinas de Turing, recordatorio y problemas Elvira Mayordomo, Universidad de Zaragoza 5 de diciembre de 2014 1. Recordatorio de la definición de máquina de Turing Una máquina de Turing, abreviadamente
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análizador Sintáctico de abajo hacia arriba Es un proceso de Reducción,
Más detallesTeoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción
y Lenguajes INAOE y (INAOE) 1 / 40 Contenido y 1 2 3 4 5 6 y (INAOE) 2 / 40 Objetivo General Proporcionar al estudiante los fundamentos de la teoría de autómatas así como los de lenguajes formales. También
Más detallesInducción, Recursión y Alcance. Inducción, Recursión y alcance. Inducción, Recursión y Alcance. Inducción, Recursión y Alcance
Inducción, Recursión y alcance Especificación inductiva de tipos de datos Tipo de datos: Conjunto de valores Conjunto de operaciones sobre dichos valores ejemplo: Sea S el conjunto más pequeño tal que:
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 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 detallesTema 2: Los Autómatas y su Comportamiento
Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es
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 detallesTexto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.
Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:
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 detallesProcesadores de Lenguajes. Análisis sintáctico. Gramáticas libres de contexto
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Gramáticas libres de contexto Javier Vélez Reyes jvelez@lsi.uned.es
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 detallesTeoría de Autómatas y Lenguajes Formales.
Teoría de Autómatas y Lenguajes Formales Prácticas Introducción a JFLAP Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso Weber
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 detallesExercises in Semantic Analysis
Exercises in Semantic Analysis 1 Semantic Rules Consider the following attribute grammar: S :- A B C A :- a B :- b Grammar Rule Semantic Rules B.u = S.u A.u = B.v + C.v S.v = A.v A.v = 2 * A.u B.v = B.u
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 detallesTres versiones de Pal. Tema 19. Una máquina para aceptar Pal. Tabla de transición para Pal. Transición. Más de un siguiente estado
Tres versiones de Pal Tema Autómata de pila determinístico Dr. Luis A. Pineda ISBN: --- Pal marca = {xcx r x {, } * } c Pal par = {xx r x {, } * } Pal = {x x = x r {, } * } Dr. Luis A. Pineda, IIMAS, UNAM,.
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 detallesAnálisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis léxico Formalización y desarrollo Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesGRAMÁTICAS y LENGUAJES INDEPENDIENTES DEL CONTEXTO
Dpto. de Informática (ATC, CCIA y LSI). Universidad de Valladolid. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES I Ingeniería Técnica en Informática de Sistemas. Curso 2011-12 GRAMÁTICAS y LENGUAJES INDEPENDIENTES
Más detallesUnidad 4. Autómatas de Pila
Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0n1n} debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje
Más detallesCompiladores e Intérpretes Análisis Sintáctico
1 Compiladores e Intérpretes Análisis Sintáctico Sebastian Gottifredi 2017 Organizacion Contexto Motivación Reglas de Sintaxis Construyendo Analizadores Sintácticos Ambigüedad Analizadores Sintácticos
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 detallesAnalizador Sintáctico Ascendente
Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,
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 detallesUNIT 2 DIVISIBILITY 1.- MULTIPLES AND FACTORS Concept of multiple Concept of factor
UNIT 2 DIVISIBILITY 1.- MULTIPLES AND FACTORS 1.1.- Concept of multiple We say that a number a is a multiple of another number b if the division a : b is an exact division, that is, if b contains a a whole
Más detalles300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos
300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Qué es un computador? Todos lo sabemos!!!
Más detalles