Tema 3: Fundamentos de la Teoría de Gramáticas Formales

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

Download "Tema 3: Fundamentos de la Teoría de Gramáticas Formales"

Transcripción

1 Departamento de Tecnologías de la Información Tema 3: Fundamentos de la Teoría de Gramáticas Formales Ciencias de la Computación e Inteligencia Artificial

2 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 2

3 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 3

4 3.1 Concepto básico de Gramática. Ejemplos Una gramática define la estructura de las frases y de las palabras de un lenguaje. Las gramáticas son un método para la generación de palabras de un lenguaje a partir de un alfabeto. para generar estas palabras se utilizan las derivaciones. se denominan formales porque se centran en los estudios de los lenguajes formales que son aquellos que están definidos a partir de reglas preestablecidas. Para los lenguajes naturales existen otro tipo de gramáticas. 4

5 3.1 Concepto básico de Gramática. Ejemplos La gramática de la lengua castellana se expresa mediante reglas sencillas que definen las partes de la oración, y que permiten comprobar fácilmente si una frase determinada es o no correcta. Analizar la frase La niña pedía comida a María en el parque. <oración> ::= <sujeto><predicado> <sujeto> ::= <frase_nominal> <frase_nominal> ::= <grupo_nominal> <frase_nominal> ::= <grupo_nominal><calificativos> <grupo_nominal> ::= <nombre> <grupo_nominal> ::= <artículo><nombre> <calificativo> ::= <conjunción><oración> <calificativo> ::= <adjetivo> <predicado> ::= <verbo><complementos> <complementos> ::= <directo><indirecto><circunstancial> <complementos> ::= <directo>< circunstancial> <complementos> ::= <indirecto><circunstancial> <complementos> ::= <circunstancial> <circunstancial> ::= <circunstancial> ::= <circunstancial><circunstancial> <directo> ::= <frase_nominal> <indirecto> ::= a <frase_nominal> <circunstancial> ::= <preposición><frase_nominal> 5

6 3.1 Concepto básico de Gramática. Ejemplos Obsérvese la existencia de recursividad en las reglas de producción. Algunas la introducen directamente, como en el caso <circunstancial> ::= <circunstancial><circunstancial>, mientras que en otras de forma indirecta (<oración> <sujeto> <frase_nominal> <calificativo> <oración>). Para completar las reglas sintácticas anteriores se necesita información morfológica sobre las palabras. Esta información también puede escribirse en forma de reglas de producción: <nombre> ::= niña <nombre> ::= María <nombre> ::= comida <nombre> ::= parque <artículo> ::= la <verbo> ::= pedía <preposición> ::= en 6

7 3.1 Concepto básico de Gramática. Ejemplos Teniendo en cuenta todas estas reglas, y aplicando el concepto de derivación, se puede obtener la frase considerada partiendo de una palabra de una sola letra <oración>: <oración> <sujeto><predicado> <frase_nominal><predicado> <grupo_nominal><predicado> <artículo><nombre><predicado> la <nombre><predicado> la niña <predicado> la niña <verbo><complementos> la niña pedía<complementos> la niña pedía <directo><indirecto><circunstancial> la niña pedía comida <indirecto><circunstancial> 7

8 3.1 Concepto básico de Gramática. Ejemplos la niña pedía comida a <frase_nominal><circunstancial> la niña pedía comida a <grupo_nominal><circunstancial> la niña pedía comida a <nombre><circusntancial> la niña pedía comida a María <circunstancial> la niña pedía comida a María <preposición><frase_nominal> la niña pedía comida a María en <frase_nominal> la niña pedía comida a María en <grupo_nominal> la niña pedía comida a María en <articulo><nombre> la niña pedía comida a María en el <nombre> la niña pedía comida a María en el parque Por tanto, al haber una derivación que produce dicha frase partiendo de <oración>, se sigue que se trata de una frase correcta que pertenece al lenguaje representado por la gramática. 8

9 3.1 Concepto básico de Gramática. Ejemplos Ejemplo: consideremos la instrucción de cualquier lenguaje x = y+2*z con: conjunto de producciones : <instrucción> ::= <asignación> <asignación> ::= <identificador> = <expresión> <expresión> ::= <sumando> <expresión> ::= <sumando> + <expresión> <sumando> ::= <factor> <sumando> ::= <factor> * <sumando> <factor> ::= <identificador> <factor> ::= <número> Reglas morfológicas : <identificador> ::= x <identificador> ::= y <identificador> ::= z <número> ::= 2 9

10 3.1 Concepto básico de Gramática. Ejemplos Obtenemos la expresión x = y+2*z a partir de <instrucción> así: <instrucción> <asignación> <identificador> = <expresión> x = <expresión> x = <sumando> + <expresión> x = <factor> + <expresión> x = <identificador> + <expresión> x = y+ <expresión> x = y+ <sumando> x = y+ <factor> * <sumando> x = y+ <número> * <sumando> x = y+2* <sumando> x = y+2* <factor> x = y+2* <identificador> x = y+2*z 10

11 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 11

12 3.2 Concepto de gramática formal Definiciones Producción o regla (x::=y): es un par ordenado (x, y) con x, y *, es decir, si se encuentra x como parte de cualquier palabra v se puede sustituir x por y en v, lo que permite transformar palabras en otras Derivación directa v w: aplicación de una producción (x ::= y) a una palabra v para convertirla en otra w donde v=zxu y w=zyu (v, w, z, u * ) Se cumple que para cada producción x::=y existe una derivación directa (haciendo z=u=λ): x y Derivación v * w: aplicación de una secuencia de producciones a una palabra. Longitud de la derivación: número de derivaciones que hay que aplicar para obtener la palabra. 12

13 3.2 Concepto de gramática formal Definiciones Derivación más a la izquierda: Se utiliza en cada derivación directa la producción aplicada a los símbolos más a la izquierda de la palabra. Derivación más a la derecha: Se utiliza en cada derivación directa la producción aplicada a los símbolos más a la derecha de la palabra. 13

14 3.2 Concepto de gramática formal Definiciones Se denomina gramática formal a la cuádrupla G = ( T, N, S, P) T, alfabeto de símbolos terminales N, alfabeto de símbolos no terminales S N, es el axioma o símbolo inicial P es un conjunto finito de reglas de producción de la forma u ::= v, donde u + y v *. Se verifica además que: T N = el alfabeto es = T N 14

15 3.2 Concepto de gramática formal Forma normal de Backus Ejemplo : consideremos la gramática T = {0, 1, 2} N = {N, C} S = N P = { N::=NC, N::=C, C::=0, C::=1, C::=2} Es posible establecer una notación simplificada para las reglas de producción. Si existen dos reglas de la forma u::=v u::=w se pueden representar de la forma: u::=v w Esta forma de representar las reglas de producción recibe el nombre de forma normal de Backus (o BNF) 15

16 3.2 Concepto de gramática formal Formas sentenciales y sentencias Sea G = ( T, N, S, P). Una palabra x * se denomina forma sentencial de G si se verifica que S * x Considerando la gramática anterior, las siguientes son formas sentenciales : NCC, NC2, 120 S = N NC NCC S = N NC NCC NC2 S = N NC NCC CCC 1CC 12C 120 Si una forma sentencial x cumple que x T * se dice que x es una sentencia o instrucción de G. Es decir, las sentencias estarán compuestas únicamente por símbolos terminales. En el ejemplo anterior es sentencia:

17 3.2 Concepto de gramática formal Lenguaje asociado a una gramática Sea una gramática G = ( T, N, S, P). Se llama lenguaje asociado a la G, o lenguaje generado por G, o lenguaje descrito por G, al conjunto : L(G) = { x / S * x and x T * } Conjunto de todas las sentencias de la gramática Ya que la teoría de gramáticas formales (Chomsky), junto con la notación BNF, proporciona una forma de describir lenguajes, esta simbología se considera como un metalenguaje (lenguaje para describir lenguajes). 17

18 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 18

19 3.3. Tipos de Gramáticas. Jerarquía de Chomsky Chomsky clasificó las gramáticas en cuatro grandes grupos : G0, G1, G2 y G3. Cada uno de estos grupos incluye las gramáticas del siguiente, de acuerdo con el siguiente esquema: G3 G2 G1 G0 19

20 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 1. Gramáticas tipo 0 Las reglas de producción tienen la forma u ::= v donde u +, v *, u = xay con x *, y *, A N sin otra restricción En las reglas de producción: La parte izquierda no puede ser la palabra vacía. En la parte izquierda (u) ha de aparecer algún símbolo no terminal. Los lenguajes representados por estas gramáticas reciben el nombre de lenguajes sin restricciones. Puede demostrarse que todo lenguaje representado por este tipo de gramáticas pueden ser descritos también por un grupo de gramáticas un poco más restringido (llamado de gramáticas de estructura de frases), cuyas producciones tienen la forma xay ::= xvy, donde x, y, v *, siendo A un símbolo no terminal. 20

21 3.3. Tipos de Gramáticas. Jerarquía de Chomsky Ya que v puede ser la palabra vacía, se sigue que en estas reglas podemos encontrar situaciones en que la parte derecha sea más corta que la izquierda. Las reglas en que ocurre esto se denominan compresoras. Una gramática que contenga al menos una regla compresora se denomina gramática compresora. En las gramáticas compresoras, las derivaciones pueden ser decrecientes, ya que la longitud de las palabras puede disminuir en cada uno de los pasos de derivación. Ejemplo: sea G = ({a, b}, {A, B, C}, A, P), donde P: A ::= aabc abc CB ::= BC bb ::= bb bc ::= b 21

22 3.3. Tipos de Gramáticas. Jerarquía de Chomsky Esta gramática es de tipo 0, no es de estructura de frases por la regla CB ::= BC Formas de considerarla: Considerando x =, A = C, y = B. Estaría formada la parte izquierda de la producción, pero la derecha será vb y sea cual sea v, no podrá ser BC Considerando x = C, A = B, y =. Así tendríamos formada la parte izquierda de la regla, pero en la derecha tendríamos Cv, y sea v lo que sea no podremos obtener CB. Ya no es posible hacer ninguna otra descomposición, por lo que esta regla no pertenece al esquema de reglas visto para las gramáticas de estructura de frases. Para la producción : A ::= aabc: A = A, x=, y =. Si hacemos v = aabc, la regla se ajusta al formato considerado. 22

23 3.3. Tipos de Gramáticas. Jerarquía de Chomsky Sin embargo la regla CB ::= BC puede descomponerse en las cuatro reglas siguientes, que permiten obtener las mismas derivaciones con más pasos, pero ajustándose a las condiciones exigidas para que la gramática sea de estructura de frases. CB ::= XB XB ::= XY XY ::= BY BY ::= BC La gramática resultante, tendrá 3 reglas de producción más y dos símbolos adicionales (X, Y) en el alfabeto de símbolos no terminales. Veamos la derivación de la sentencia aaabbb, mediante la gramática original : A a(a)bc aa(a)bcbc aaab(cb)cbc aaa(bb)ccbc aaab(bc)cbc aaab(bc)bc aaab(bb)c aaabb(bc) aaabbb Se observa también que la gramática es compresora, debido a la presencia de la regla bc ::= b. Puede comprobarse que el lenguaje generado por esta gramática es {a n b n n=1,2,..} 23

24 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 2. Gramáticas tipo 1 Las reglas de producción de esta gramática tienen la forma xay ::= xvy donde x, y *, v + y A ha de ser un símbolo no terminal. (A puede transformarse en v sólo si aparece en el contexto definido por x e y) Ya que v no puede ser la palabra vacía, se deduce de aquí que este tipo de gramáticas no pueden tener reglas compresoras. Se admite una excepción en la regla S ::= (siendo S el axioma de la gramática). Como consecuencia se tiene que la palabra vacía pertenece al lenguaje generado por la gramática sólo si contiene esta regla. Los lenguajes generados por este tipo de gram{ticas se denominan dependientes del contexto. 24

25 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 2. Gramáticas tipo 1 Evidentemente todas las gramáticas de tipo 1 son también de tipo 0, y así, todos los lenguajes dependientes de contexto serán también lenguajes sin restricciones. Ejemplo : G = ({S, B, C}, {a, b, b}, S,P), donde P es: S ::= asbc abc bb ::= bb bc ::= bc CB ::= BC cc ::= cc ab ::= ab 25

26 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3. Gramáticas tipo 2 Las reglas de estas gramáticas se ajustan al siguiente esquema: A ::= v donde v *, y A N En concreto v puede ser. Para toda gramática de tipo 2 existe una gramática equivalente desprovista de reglas de la forma A ::=, que generará el mismo lenguaje que la de partida, excepto la palabra vacía. Si se le añade a la segunda gramática la regla S ::=, las gramáticas generarán el mismo lenguaje. Por lo tanto, se pueden definir las gramáticas de tipo 2 de una forma más restringida, en el que las reglas de producción tendrán la siguiente forma A ::= v donde v +, y A N. Además podrán contener regla S ::= Los lenguajes generados por este tipo de gramáticas se denominan independientes de contexto, ya que la conversión de A en v puede realizarse independientemente del contexto en que aparezca A. 26

27 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3. Gramáticas tipo 2 La mayor parte de los lenguajes de programación de ordenadores pueden describirse mediante gramáticas de este tipo. Ejemplo : sea la gramática G = ({a, b}, {S}, S, { S ::= asb ab}). Es una gramática de tipo 2. La derivación de la palabra aaabbb será: S asb aasbb aaabbb Puede verse que el lenguaje definido por esta gramática es {a n b n n=1, 2,...} Un mismo lenguaje puede generarse por muchas gramáticas diferentes. Sin embargo, una gramática determinada describe siempre un lenguaje único. 27

28 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 4. Gramáticas tipo 3 Estas gramáticas se clasifican en los dos grupos siguientes: Gramáticas lineales por la izquierda, cuyas reglas de producción pueden tener una de las formas siguientes: A ::= a A ::= Va S ::= donde a T, A, V N, y S es el axioma de la gramática. Gramáticas lineales por la derecha, cuyas reglas de producción tendrán la forma: A ::= a A ::= av S ::= donde a T, A, V N, y S es el axioma de la gramática. Los lenguajes representados por este tipo de gramáticas se denominan lenguajes regulares. 28

29 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 4. Gramáticas tipo 3 G1 = ({ 0, 1}, {A, B}, A, { A ::= B1 1, B ::= A0}) Gramática lineal por la izquierda que describe el lenguaje: L1 = { 1, 101, 10101,... } = {1(01) n n = 0, 1, 2,...} G2 = ({ 0, 1}, {A, B}, A, { A ::= 1B 1, B ::= 0A}) Gramática lineal derecha que genera el mismo lenguaje que la gramática anterior. 29

30 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 30

31 3.4 Árboles de derivación A toda derivación de una gramática de tipo 1, 2 ó 3 le corresponde un árbol de derivación. Este árbol se construye así : La raíz del árbol corresponde al axioma de la gramática Una derivación directa se representa por un conjunto de ramas que salen de un nodo determinado. Al aplicar una regla, uno de los símbolos de la parte izquierda de la producción queda sustituido por la palabra de la parte derecha. Por cada uno de los símbolos de x se dibuja una rama, que parte del nodo correspondiente al símbolo sustituido. En cada rama, el nodo de partida se denomina padre. El final se denomina hijo del primero. Dos nodos hijos del mismo padre se denominan hermanos. Un nodo es ascendiente de otro si es su padre o ascendiente de su padre. Un nodo es descendiente de otro si es su hijo o es descendiente de su hijo. A lo largo del proceso de construcción del árbol, los nodos finales de cada paso, leídos de izquierda a derecha, forman la forma sentencial obtenida por la derivación representada por el árbol. Será rama terminal aquella dirigida hacia un símbolo terminal. Este nodo se llama hoja. El conjunto de hojas, leído de izquierda a derecha, forma la sentencia generada por la derivación. 31

32 3.4 Árboles de derivación Ejemplo : sea la gramática G = ({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},{N,C}, N, Subárbol {N ::= C NC, C ::= }) Consideraremos la derivación : N NC NCC CCC 2CC 23C 234 El árbol de derivación correspondiente es: Dado un árbol correspondiente a una derivación, se denomina subárbol al árbol cuya raíz es un nodo cualquiera y cuyos nodos son los descendientes de éste. Teorema : Los nodos terminales de un subárbol, leídos de izquierda a derecha, forman una frase respecto de la raíz del subárbol. Demostración : Sea U la raíz del subárbol, y sea u la palabra formada por los nodos terminales del subárbol. Así, se verifica que U +u Sea x la palabra formada, leyendo de izquierda a derecha, los nodos terminales del árbol situados a la izquierda de los del subárbol. Sea y la palabra formada, leyendo de izquierda a derecha, los nodos terminales situados a la derecha de los del subárbol. De esta forma se verifica que xuy es la sentencia definida por el árbol completo. Como S *xuy y además U +u, se sigue que u es una frase respecto de U y de la forma sentencial xuy. Si todos los nodos terminales del subárbol son hijos de la raíz, entonces u es una frase simple. N N C 2 C 3 N C 4 32

33 3.4 Árboles de derivación Proceso inverso Para cada derivación existe un único árbol de derivación. Sin embargo, de una misma sentencia pueden obtenerse, a veces, varias derivaciones diferentes. Por ejemplo, el mismo árbol anterior puede aplicarse a las siguientes derivaciones : N NC NCC CCC 2CC 23C 234 N NC NCC CCC C3C 23C 234 N NC NCC CCC 2CC 2C

34 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 34

35 3.5 Ambigüedad Se dice que una sentencia es ambigua cuando para una misma sentencia podemos tener varios árboles de derivación diferentes. (Como se vio en el ejemplo anterior, una misma sentencia puede obtenerse como resultado de varias derivaciones diferentes, pero a las que les corresponde un único árbol de derivación.) Se dice que una gramática es ambigua si tiene al menos una sentencia ambigua. Se dice que un lenguaje es ambiguo si existe una gramática ambigua que lo genera. Ejemplo : G = ({i, +, *, (, )}, {E}, E, E ::= E + E E * E ( E ) i }) Consideremos la sentencia i+i*i. Para esta sentencia podemos tener los siguientes árboles de derivación : 35

36 3.5 Ambigüedad árboles de derivación para la sentencia i+i*i. E E E E E E E E E E i + i * i i + i * i Esto no quiere decir que el lenguaje sea ambiguo, ya que se puede encontrar una gramática equivalente a la anterior, sin ser ambigua. Pero hay lenguajes para los cuales es imposible encontrar gramáticas no ambiguas. Estos lenguajes se denominan inherentemente ambiguos. 36

37 3.5 Ambigüedad Ejemplo: gramática equivalente a la anterior sin ser ambigua: G = ({i, +, *, (, )}, {E, T, F}, E, E ::= T E + E, T ::= F T * F, F ::= ( E ) i }) Existe un sólo árbol de derivación para la sentencia i+i*i E E T T T F F F i + i * i 37

38 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 38

39 3.6 Recursividad Una gramática G se llama recursiva en A, A N, si A + xay Si x es la palabra vacía, se dice que la gramática es recursiva a izquierdas A + Ay Si y es la palabra vacía, se dice que la gramática es recursiva a derechas A + xa Se dice que una producción es recursiva si A::= xay La producción es recursiva a izquierdas si x =. A::= Ay Será recursiva a derechas si y =. A::= xa Si un lenguaje es infinito, la gramática que lo representa ha de ser recursiva. 39

40 3.6 Recursividad Eliminación de la recursividad por la izquierda en producciones de un mismo símbolo no terminal: A N Si P1= (A::=A 1 A 2 <. A n 1 2 < m ) donde i no comienza por A f entonces //crear un símbolo nuevo A N= N {A }; P=(P-P1) {A::= 1 A 2 A < m A ; A ::= 1 A 2 A < n A λ} fsi 40

41 3.6 Recursividad Eliminación de la recursividad por la izquierda en más de un paso 1. Disponer los N en algún orden A 1, A 2,<A n 2. Para i:=1 hasta n fpara Para j:=1 hasta n Si i j entonces fsi reemplazar cada producción A i ::= A j θ por: A i ::= δ 1 θ δ 2 θ <<. δ k θ donde A j ::= δ 1 δ 2 <<. δ k son todas las reglas de A j Eliminar la recursividad por la izquierda de las A i fpara 41

42 3.6 Recursividad G =({i,+,*,(,)},{e,t},e, P={E ::=T+E T*E i ; T::=E (E)}) 1. A 1 =E; A 2 =T 2. Bucles: i=1 (A 1 =E); j=1 (A 1 =E). Se reemplazarían E::=E. No hay. i=1 (A 1 =E); j=2 (A 2 =T). Se reemplazan E::=T. El nuevo P es E ::=E+E E*E (E)+E (E)*E i T::= E (E) Se elimina la recursión en E quedando P : E ::= (E)+EE (E)*EE i E E ::= +EE *EE λ T::= E (E) i=2 (A 2 =T); j=1 (A 1 =E). Se reemplazan T::=E. El nuevo P es E ::= (E)+EE (E)*EE i E E ::= +EE *EE λ T::= (E)+EE (E)*EE i E (E) Se eliminaría la recursión en T si la hubiera. i=2 (A 2 =T); j=2 (A 2 =T). Se reemplazarían T::=T. No hay El conjunto final de producciones es P 42

43 Índice 3.1. Concepto básico de Gramática. Ejemplos 3.2. Concepto de gramática formal 3.3. Tipos de Gramáticas. Jerarquía de Chomsky 3.4. Árboles de derivación 3.5. Ambigüedad 3.6. Recursividad 3.7. Factorización a izquierdas 43

44 3.7 Factorización a izquierdas Se puede factorizar a izquierdas cuando en una gramática aparecen producciones de un mismo símbolo no terminal en cuya parte derecha, la primera parte es común. Algoritmo de factorización a izquierdas: A N f Si A::= 1 2 <.. n entonces N= N {A }; A::= A A ::= 1 2 < n fsi //crear un símbolo nuevo A y cambiar las producciones por: Ejemplo: {E ::=E+E E*E i }. Se crea E y quedaría: E ::= EE i E ::= +E *E 44

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

Sintaxis y Semántica del Lenguaje. Gramáticas

Sintaxis y Semántica del Lenguaje. Gramáticas Gramáticas La tarea de proveer una descripción bien concisa y entendible de un lenguaje de programación es difícil pero esencial para el éxito de un lenguaje. Uno de los problemas en describir un lenguaje

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no

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 Prueba de Evaluación de Lenguajes y Gramáticas Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel

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

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

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

TEMA I: LOS CONCEPTOS FUNDAMENTALES DE LA TEORÍA DE LA COMPUTABILIDAD

TEMA I: LOS CONCEPTOS FUNDAMENTALES DE LA TEORÍA DE LA COMPUTABILIDAD 1 Asignatura: Lógica 3 Curso 2004-2005 Profesor: Juan José Acero 20 25 de Octubre del 2004 TEMA I: LOS CONCEPTOS FUNDAMENTALES DE LA TEORÍA DE LA COMPUTABILIDAD 1. El concepto de algoritmo. Los matemáticos

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales Motivación e Ideas y Derivadas Formales La Derivación como Operación. Universidad de Cantabria Esquema Motivación e Ideas 1 Motivación e Ideas 2 3 Motivación Motivación e Ideas Sabemos como son los conjuntos

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

Propiedades de los Lenguajes Libres de Contexto

Propiedades de los Lenguajes Libres de Contexto Propiedades de los Lenguajes Libres de Contexto 15 de junio de 2015 15 de junio de 2015 1 / 1 Contenido 15 de junio de 2015 2 / 1 Introducción Introducción Simplificación de CFG s. Esto facilita la vida,

Más detalles

Generalidades sobre lenguajes.

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

Lenguajes Incontextuales

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

2: Autómatas finitos y lenguajes regulares.

2: Autómatas finitos y lenguajes regulares. 2: Autómatas finitos y lenguajes regulares. Los autómatas finitos son el modelo matemático de los sistemas que presentan las siguientes características: 1) En cada momento el sistema se encuentra en un

Más detalles

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

Repaso. Lenguajes formales

Repaso. Lenguajes formales Repaso. Lenguajes formales Profesor Federico Peinado Elaboración del material José Luis Sierra Federico Peinado Ingeniería en Informática Facultad de Informática Universidad Complutense de Madrid Curso

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

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

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

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

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

Tema 3: Gramáticas Formales. Informática Teórica I

Tema 3: Gramáticas Formales. Informática Teórica I Tema 3: Gramáticas Formales Informática Teórica I Teoría de Gramáticas 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

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

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

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

Tema 2: Autómatas finitos

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

Propiedades de los Lenguajes Libres de Contexto

Propiedades de los Lenguajes Libres de Contexto de los s de los Lenguajes Libres de Contexto INAOE (INAOE) 1 / 47 Contenido de los s 1 2 -ɛ 3 4 5 6 de los s (INAOE) 2 / 47 () de los s Queremos mostrar que todo (sin ɛ) se genera por una CFG donde todas

Más detalles

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález CURSOSO CURSOSO MATEMÁTICAS Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. AntonioF.CostaGonzález DepartamentodeMatemáticasFundamentales FacultaddeCiencias Índice 1 Introducción y objetivos

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

SISTEMAS DE ECUACIONES LINEALES

SISTEMAS DE ECUACIONES LINEALES 1 SISTEMAS DE ECUACIONES LINEALES Una ecuación es un enunciado o proposición que plantea la igualdad de dos expresiones, donde al menos una de ellas contiene cantidades desconocidas llamadas variables

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

Ecuaciones de primer y segundo grado

Ecuaciones de primer y segundo grado Ecuaciones de primer y segundo grado Las ecuaciones de primer y segundo grado es una ecuación porque es una igualdad entre expresiones algebraicas. Ecuaciones de primer grado con una incógnita Ejemplo

Más detalles

Dependencia e independencia lineal

Dependencia e independencia lineal CAPíTULO 3 Dependencia e independencia lineal En este capítulo estudiaremos tres conceptos de gran importancia para el desarrollo del álgebra lineal: el concepto de conjunto generador, el concepto de conjunto

Más detalles

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS.

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS. TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS. TEORÍA DE CONJUNTOS. Definiciones. Se define un conjunto como una colección de objetos o cosas, se nombran con letras mayúsculas (A, B...). Cada uno de

Más detalles

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo. Tema 2. Grupos. 1 Grupos Definición 1 Un grupo es una estructura algebraica (G, ) tal que la operación binaria verifica: 1. * es asociativa 2. * tiene elemento neutro 3. todo elemento de G tiene simétrico.

Más detalles

CAPITULO 5: GRAMÁTICAS

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

Se pueden agrupar las reglas que tienen la misma parte izquierda:

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

Conceptos básicos de programación. Arquitectura de Computadoras. Conceptos básicos de programación

Conceptos básicos de programación. Arquitectura de Computadoras. Conceptos básicos de programación Arquitectura de Computadoras Conceptos básicos de programación 1. Introducción: Programación es el conjunto de actividades implicadas en la descripción, el desarrollo y la implementación eficaz de soluciones

Más detalles

Funciones de varias variables.

Funciones de varias variables. Funciones de varias variables. Definición. Hasta ahora se han estudiado funciones de la forma y = f (x), f :D Estas funciones recibían el nombre de funciones reales de variable real ya que su valor y dependía

Más detalles

TEMA 5. GRAMÁTICAS REGULARES.

TEMA 5. GRAMÁTICAS REGULARES. TEMA 5. GRAMÁTICAS REGULARES. 5.1. Gramáticas Regulares. 5.2. Autómatas finitos y gramáticas regulares. 5.2.1. Gramática regular asociada a un AFD 5.2.2. AFD asociado a una Gramática regular 5.3. Expresiones

Más detalles

Unidad 1 Números. Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto.

Unidad 1 Números. Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto. Unidad 1 Números 1.- Números Naturales Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto. El conjunto de números naturales se representa por la letra N Operaciones

Más detalles

Expresiones algebraicas

Expresiones algebraicas Expresiones algebraicas Expresiones algebraicas Las expresiones algebraicas Elementos de una expresión algebraica Números de cualquier tipo Letras Signos de operación: sumas, restas, multiplicaciones y

Más detalles

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 } TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO DEFINICIÓN Y NOTACIÓN DE CONJUNTOS El término conjunto juega un papel fundamental en el desarrollo de las matemáticas modernas; Además de proporcionar

Más detalles

Estructuras algebraicas

Estructuras algebraicas Estructuras algebraicas Natalia Boal María Luisa Sein-Echaluce Universidad de Zaragoza 1 Relaciones binarias 11 Recordatorio Definición Dados dos conjuntos A y B se llama producto cartesiano de A por B

Más detalles

POTENCIAS. MÚLTIPLOS Y DIVISORES. MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO.

POTENCIAS. MÚLTIPLOS Y DIVISORES. MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO. 1. LOS NÚMEROS NATURALES POTENCIAS. MÚLTIPLOS Y DIVISORES. MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO. 2. LOS NÚMEROS ENTEROS. VALOR ABSOLUTO DE UN NÚMERO ENTERO. REPRESENTACIÓN GRÁFICA. OPERACIONES.

Más detalles

Tema 3.- Gramáticas formales

Tema 3.- Gramáticas formales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS SEGUNDO CURSO, SEGUNDO CUATRIMESTRE TEORÍA DE AUTÓMATAS

Más detalles

Topología de R n. Beatriz Porras

Topología de R n. Beatriz Porras Producto escalar, métrica y norma asociada. Topología de R n Beatriz Porras 1 Producto escalar, métrica y norma asociada Consideramos el espacio vectorial R n sobre el cuerpo R; escribimos los vectores

Más detalles

Teoría de conjuntos. Tema 1: Teoría de Conjuntos.

Teoría de conjuntos. Tema 1: Teoría de Conjuntos. Tema 1: Teoría de Conjuntos. La teoría de Conjuntos es actualmente una de las más importantes dentro de la matemática. Muchos de los problemas que se le han presentado a esta disciplina en los últimos

Más detalles

CONJUNTOS NUMÉRICOS Y APLICACIONES

CONJUNTOS NUMÉRICOS Y APLICACIONES INSTITUCION EDUCATIVA LA PRESENTACION NOMBRE ALUMNA: AREA : MATEMÁTICAS ASIGNATURA: MATEMÁTICAS DOCENTE: JOSÉ IGNACIO DE JESÚS FRANCO RESTREPO TIPO DE GUIA: CONCEPTUAL - EJERCITACION PERIODO GRADO FECHA

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

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas º ESO 1. Expresiones algebraicas En matemáticas es muy común utilizar letras para expresar un resultado general. Por ejemplo, el área de un b h triángulo es base por altura dividido por dos y se expresa

Más detalles

La Jerarquía de Chomsky

La Jerarquía de Chomsky La Apuntes sobre la Complejidad Universidad de Cantabria Esquema Motivación 1 Motivación 2 Ideas y Nociones Motivación Como se ha mencionado anteriormente, los lenguajes son conjuntos de palabras definidos

Más detalles

TRA NSFORMACIO N ES LIN EA LES

TRA NSFORMACIO N ES LIN EA LES TRA NSFORMACIO N ES LIN EA LES C o m p uta c i ó n G r á fica Tipos de Datos Geométricos T Un punto se puede representar con tres números reales [x,y,z] que llamaremos vector coordenado. Los números especifican

Más detalles

DESCOMPOSICIÓN FACTORIAL

DESCOMPOSICIÓN FACTORIAL 6. 1 UNIDAD 6 DESCOMPOSICIÓN FACTORIAL Objetivo general. Al terminar esta Unidad resolverás ejercicios y problemas en los que apliques la factorización de polinomios cuyos términos tienen coeficientes

Más detalles

INSTITUTO TECNOLÓGICO DE APIZACO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO

INSTITUTO TECNOLÓGICO DE APIZACO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO DEFINICIÓN Y NOTACIÓN DE CONJUNTOS El término conjunto juega un papel fundamental en el desarrollo de las matemáticas modernas; Además de proporcionar

Más detalles

Tema 1. Álgebra lineal. Matrices

Tema 1. Álgebra lineal. Matrices 1 Tema 1. Álgebra lineal. Matrices 0.1 Introducción Los sistemas de ecuaciones lineales aparecen en un gran número de situaciones. Son conocidos los métodos de resolución de los mismos cuando tienen dos

Más detalles

Un conjunto se considera como una colección de objetos, llamados miembros o elementos del conjunto. Existen dos formas de expresar un conjunto:

Un conjunto se considera como una colección de objetos, llamados miembros o elementos del conjunto. Existen dos formas de expresar un conjunto: I.- Teoría de conjuntos Definición de conjunto Un conjunto se considera como una colección de objetos, llamados miembros o elementos del conjunto. Existen dos formas de expresar un conjunto: a) Por extensión

Más detalles

Ejercicio 1: Realiza las siguientes divisiones por el método tradicional y por Ruffini: a)

Ejercicio 1: Realiza las siguientes divisiones por el método tradicional y por Ruffini: a) Tema 2: Ecuaciones, Sistemas e Inecuaciones. 2.1 División de polinomios. Regla de Ruffini. Polinomio: Expresión algebraica formada por la suma y/o resta de varios monomios. Terminología: o Grado del polinomio:

Más detalles

Lógica de Predicados

Lógica de Predicados Lógica de Predicados En las últimas décadas, ha aumentado considerablemente el interés de la informática por la aplicación de la lógica a la programación. De hecho, ha aparecido un nuevo paradigma de programación,

Más detalles

CONJUNTOS. Consideremos, por ejemplo, los siguientes conjuntos:

CONJUNTOS. Consideremos, por ejemplo, los siguientes conjuntos: CONJUNTOS En una Teoría Intuitiva de Conjuntos, los conceptos de conjunto y pertenencia son considerados primitivos, es decir, no se definen de un modo formal; se les acepta como existentes de manera axiomática,

Más detalles

Expresiones algebraicas

Expresiones algebraicas Expresiones algebraicas Una expresión algebraica es una combinación de letras y números relacionadas por los signos de las operaciones: adición, sustracción, multiplicación, división y potenciación. Las

Más detalles

Proyecciones. Producto escalar de vectores. Aplicaciones

Proyecciones. Producto escalar de vectores. Aplicaciones Proyecciones La proyección de un punto A sobre una recta r es el punto B donde la recta perpendicular a r que pasa por A corta a la recta r. Con un dibujo se entiende muy bien. La proyección de un segmento

Más detalles

Capítulo 3. Gramáticas Formales.

Capítulo 3. Gramáticas Formales. UNIDAD I: LNGUAJS Y GRAMÁTICAS Capítulo 1. Introducción. Capítulo 2. Lenguajes Formales Capítulo 3. Gramáticas Formales. 3.1. Concepto de gramática formal Producciones. Gramática Formal. Lenguaje asociado

Más detalles

Determinante de una matriz

Determinante de una matriz 25 Matemáticas I : Preliminares Tema 3 Determinante de una matriz 31 Determinante de una matriz cuadrada Definición 67- Sea A una matriz cuadrada de orden n Llamaremos producto elemental en A al producto

Más detalles

LUGAR GEOMÉTRICO DE LAS RAICES (LGR)

LUGAR GEOMÉTRICO DE LAS RAICES (LGR) LUGAR GEOMÉTRICO DE LAS RAICES (LGR) DEFINICIÓN: El lugar geométrico de las raíces es la trayectoria formada por las raíces de una ecuación polinómica cuando un parámetro de ésta varía. En el caso de Sistemas

Más detalles

Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:

Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes: Función booleana Se denomina función lógica o booleana a aquella función matemática cuyas variables son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico

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

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

Compiladores: Parsing ascendente

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

Primer ejemplo detallado de cálculo de PRIMERO

Primer ejemplo detallado de cálculo de PRIMERO Cálculo de PRIMERO El conjunto PRIMERO(α), siendo α una forma sentecial, es el conjunto de Terminales que pueden aparecer los primeros en cadenas derivadas de α. El conjunto PRIMERO puede referirse a una

Más detalles

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal Sistemas con Notación Posicional (1) Sistemas Númericos N b = a n-1 *b n-1 + a n-2 *b n-2 +... + a 0 *b 0 +a -1 *b - 1 + a -2 *b -2 +... + a -m *b -m Sistemas con Notación Posicional (2) N b : Número en

Más detalles

UNIDAD I: LENGUAJES Y GRAMÁTICAS. Capítulo 3. Gramáticas Formales.

UNIDAD I: LENGUAJES Y GRAMÁTICAS. Capítulo 3. Gramáticas Formales. UNIDAD I: LNGUAJS Y GRAMÁTICAS Capítulo 1. Introducción. Capítulo 2. Lenguajes Formales Capítulo 3. Gramáticas Formales. 3.1. Concepto de gramática formal Producciones. Gramática Formal. Lenguaje asociado

Más detalles

Cardinalidad. Teorema 0.3 Todo conjunto infinito contiene un subconjunto infinito numerable.

Cardinalidad. Teorema 0.3 Todo conjunto infinito contiene un subconjunto infinito numerable. Cardinalidad Dados dos conjuntos A y B, decimos que A es equivalente a B, o que A y B tienen la misma potencia, y lo notamos A B, si existe una biyección de A en B Es fácil probar que es una relación de

Más detalles

Matrices y Determinantes.

Matrices y Determinantes. Matrices y Determinantes. Definición [Matriz] Sea E un conjunto cualquiera, m, n N. Matrices. Generalidades Matriz de orden m n sobre E: a 11 a 12... a 1n a 21 a 22... a 2n...... a m1 a m2... a mn a ij

Más detalles

Los números naturales

Los números naturales Los números naturales Los números naturales Los números naturales son aquellos que sirven para contar. Se suelen representar utilizando las cifras del 0 al 9. signo suma o resultado Suma: 9 + 12 = 21 sumandos

Más detalles

TEMA 1 Números enteros y racionales *

TEMA 1 Números enteros y racionales * TEMA Números enteros y racionales * Números enteros: Se denominan números naturales (también llamados enteros positivos) a los números que nos sirven para contar objetos:,2,3,4,5,... El conjunto de los

Más detalles

Lenguajes Regulares. Antonio Falcó. - p. 1

Lenguajes Regulares. Antonio Falcó. - p. 1 Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

UNIDAD DE APRENDIZAJE II UNIDAD DE APRENDIZAJE 2 ( 12 HORAS)

UNIDAD DE APRENDIZAJE II UNIDAD DE APRENDIZAJE 2 ( 12 HORAS) UNIDAD DE APRENDIZAJE II UNIDAD DE APRENDIZAJE HORAS) Saberes procedimentales Saberes declarativos Identifica y realiza operaciones básicas con expresiones aritméticas. Jerarquía de las operaciones aritméticas.

Más detalles

1.1 Números naturales

1.1 Números naturales 1.1 1.1.1 El concepto de número natural Posiblemente en la edad de las cavernas los hombres no conocieran los números ni los sistemas de numeración. Sin embargo, eran capaces de contar. Un pastor primitivo

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

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 4 Gramáticas libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres

Más detalles

Producto cartesiano. X Y = {(x, y) : x X, y Y }. Ejemplo En el tablero de ajedrez, X = números del 1-8, Y = letras de A-H.

Producto cartesiano. X Y = {(x, y) : x X, y Y }. Ejemplo En el tablero de ajedrez, X = números del 1-8, Y = letras de A-H. Producto cartesiano Motivación: Has oido hablar sobre gente que juega ajedrez sin tener que mirar nunca el tablero?. Esto es posible, y se debe a una herramienta llamada coordenadas de un punto. En un

Más detalles

Valores y Vectores Propios

Valores y Vectores Propios Valores y Vectores Propios Departamento de Matemáticas, CSI/ITESM de abril de 9 Índice 9.. Definiciones............................................... 9.. Determinación de los valores propios.................................

Más detalles

Lenguajes Libres del Contexto

Lenguajes Libres del Contexto Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes

Más detalles

Algebra de Boole y simplificación de funciones lógicas. Capítulo 4

Algebra de Boole y simplificación de funciones lógicas. Capítulo 4 Algebra de Boole y simplificación de funciones lógicas Capítulo 4 Contenido 1. Expresiones y operaciones Booleanas 2. Propiedades y Reglas del Algebra de Boole 3. Teoremas de DeMorgan 4. Análisis booleano

Más detalles

Inversas Generalizadas

Inversas Generalizadas Inversas Generalizadas Departamento de Matemáticas, CSI/IESM 5 de abril de 2 Índice.. Inversas generalizadas..........................................2. Uso de la inversa generalizada.....................................

Más detalles

Compiladores e interpretes:

Compiladores e interpretes: Compiladores e interpretes: teoría y práctica www.librosite.net/pulido Manuel Alfonseca Moreno Marina de la Cruz Echeandía Alfonso Ortega de la Puente Estrella Pulido Cañabate Compiladores e intérpretes:

Más detalles

Proposiciones Condicionales

Proposiciones Condicionales SENTENCIAS CONDICIONALES SIMPLES: if- Anteriormente se discutió que una de las estructuras utilizadas en la programación estructurada es la Estructura Selectiva o Condicional. Se explican aquí las sentencias

Más detalles

POLINOMIOS Y FRACCIONES ALGEBRAICAS

POLINOMIOS Y FRACCIONES ALGEBRAICAS POLINOMIOS Y FRACCIONES ALGEBRAICAS Definición de monomio. Expresión algebraica formada por el producto de un número finito de constantes y variables con exponente natural. Al producto de las constantes

Más detalles

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE # 5

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE # 5 MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASE # 5 OPERACIONES CON LOS NÚMEROS REALES En R se de nen dos operaciones: Suma o adición y producto o multiplicación: Si a 2 R y

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

operaciones inversas Para unificar ambas operaciones, se define la potencia de exponente fraccionario:

operaciones inversas Para unificar ambas operaciones, se define la potencia de exponente fraccionario: Potencias y raíces Potencias y raíces Potencia operaciones inversas Raíz exponente índice 7 = 7 7 7 = 4 4 = 7 base base Para unificar ambas operaciones, se define la potencia de exponente fraccionario:

Más detalles

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es Autómatas y Lenguajes Formales Tema 3.2: Autómatas Finitos No Deterministas Luis Peña luis.pena@urjc.es Sumario Tema 3.2: Autómatas Finitos No Deterministas. 1. Concepto de AFND 2. Teoremas de Equivalencia

Más detalles

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS UNIVERSIDAD DON BOSCO - DEPARTAMENTO DE CIENCIAS BÁSICAS UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS ÁLGEBRA LINEAL - GUIÓN DE CLASE - SEMANA 10 y 11 - CICLO 01-2015 Estudiante: Grupo: 1. Estructuras Algebraicas

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 (TALF) BLOQUE II: LENGUAJES REGULARES Tema 2: Autómatas Finitos Parte 2 (de 3). Autómatas Finitos No Deterministas (AFNDs) Grado en Ingeniería Informática URJC

Más detalles

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos NÚMEROS REALES NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de

Más detalles