Você está na página 1de 7

Definiciones Alfabetos, cadenas y lenguajes Definicin. Un alfabeto es un conjunto finito no-vaco de elementos llamados smbolos Definicin.

Lamamos cadena sobre un alfabeto dado a cualquier sucesin finita de smbolos de ese alfabeto Definicin. Llamamos cadena vaca a la cadena que no posee ningn smbolo y la denotamos por Definicin. Para cualquier cadena x se define su longitud como la cantidad de smbolos que posee y se denota por |x| Definicin. Sean x y y dos cadenas. Definimos la concatenacin de x y y, y la denotamos por xy, a la cadena formada por la sucesin de todos los smbolos de x seguidos de todos los smbolos de y Definicin. Dada una cadena x y un entero n 0 llamamos potencia n-sima de x, y la denotamos por xn, a la cadena formada por la concatenacin de x con s misma n veces ~ Definicin. Dada una cadena x se define como el reverso de x, y se denota por x, a la cadena formada por los smbolos de x en orden inverso Definicin. Dado un alfabeto cualquiera, llamamos lenguaje a cualquier conjunto de cadenas sobre ese alfabeto Definicin. Dados dos lenguajes L1 y L2 llamamos producto de L1 por L2, y lo denotamos por L1L2, al lenguaje definido del siguiente modo: L1L2 = {xy | x L1 y y L2 } Definicin. Dado un lenguaje L y un entero n 0 llamamos potencia n-sima de L, y lo denotamos por Ln, al lenguaje definido del siguiente modo: L0 = {} Ln = LLn-1 para n 1 Definicin. Dado un lenguaje L se define su clausura, y se denota por L*, al lenguaje definido del siguiente modo:

i=0

L* = L0 L1 L2 ...... = Li Definicin. Dado un lenguaje L se define su clausura positiva, y se denota por L+, al lenguaje definido del siguiente modo:

i=1

L = L L L ...... = L
+
1 2 3

Notacin. Dado un alfabeto V, se denota por V* al lenguaje formado por todas las cadenas sobre este alfabeto

Notacin. Dado un alfabeto V, se denota por V+ al lenguaje formado por todas las cadenas sobre este alfabeto, excepto, la cadena vaca, es decir, V+ = V*- {}.
Gramticas

Definicin. Una gramtica es un sistema de la forma: (VN , VT , P , S) donde: VN es un conjunto finito no vaco (alfabeto) de smbolos llamados no-terminales VT es un conjunto finito no vaco (alfabeto) de smbolos llamados terminales P es un conjunto finito de pares ordenados de la forma: ( , ) tales que (VN U VT)*-VT* y (VN U VT)*

S es un smbolo especial perteneciente a VN, llamado smbolo de partida


Debe cumplirse que VN VT = Notacin. En toda gramtica, representaremos cualquier regla ( , ) con la notacin siguiente: El smbolo recibe el nombre de parte izquierda de la regla, y el smbolo el de parte derecha. Definicin. Sean y (VN U VT)*. Diremos que existe una derivacin directa de en si = 12 , = 12 y en G existe la regla . Denotaremos este hecho por:
==>

Definicin. Sean y (VN U VT)*. Diremos que existe una derivacin de en si existen 1, ......,n tales que:

==> 1 ==> ...... ==> n = Este hecho lo denotaremos por: ==>+ Para incluir el caso de cero pasos, es decir, que no se aplique ninguna regla generalizamos la notacin de una derivacin a: ==>* Definicin. Dada una gramtica G, llamamos lenguaje generado por G al conjunto definido del siguiente modo: L(G) = { x | x VT* y S ==>+ x } Definicin. Diremos que dos gramticas G1 y G2 son equivalentes si L(G1) = L(G2) Definicin. Dada una gramtica G, diremos que un smbolo A VN es recursivo si existe una derivacin de la forma: 1A2 ==>+ 1A2 donde 1,2, 1,2 (VN U VT)* Definicin. Dada una gramtica G, diremos que un smbolo A VN es recursivo a la izquierda si existe una derivacin de la forma: A ==>+ A donde , (VN U VT)* Anlogamente se define la recursividad derecha. Jerarqua de Chomsky Definicin. Diremos que una gramtica (VN , VT , P , S) es libre del contexto (GLC) si toda regla en P tiene la forma: A con A VN y (VN U VT)*

Definicin. Diremos que una gramtica (VN , VT , P , S) es regular (GR), regular a la derecha, si toda regla en P tiene la forma:
A aB A a con A,B VN y a VT Si la cadena pertenece al lenguaje generado, se permite la regla S y en este caso S no puede aparecer como parte derecha de ninguna regla.
Gramticas para lenguajes regulares

Definicin. Diremos que una gramtica (VN , VT , P , S) es regular a la izquierda, si toda regla en P tiene la forma: A Ba A a con A,B VN y a VT

Si la cadena pertenece al lenguaje generado, se permite la regla S y en este caso S no puede aparecer como parte derecha de ninguna regla. Definicin. Diremos que una gramtica (VN , VT , P , S) es lineal a la derecha, si toda regla en P tiene la forma: A xB A x con A,B VN y x VT* Anlogamente se definen las gramticas lineales a la izquierda. Autmatas Finitos Definicin. Un autmata finito determinista (AFD) es un sistema de la forma: (E, VT, f, e0, F) donde: E es un conjunto finito no-vaco de elementos llamados estados VT es un alfabeto llamado alfabeto de entrada f es una funcin de un subconjunto de E x VT en E llamada funcin de transicin e0 es un estado especial llamado estado inicial F es un subconjunto de E cuyos elementos se nombran estados finales Definicin. Dado un AFD (E, VT, f, e0, F) llamaremos configuracin a cualquier par ordenado de la forma: (e , x) * tal que e E y x V T Si e = e0 diremos que la configuracin es inicial Si e F y x = diremos que la configuracin es final Definicin. Dado un AFD (E, VT, f, e0, F) y dos configuraciones de la forma: (e , x) y (e , y) diremos que existe un movimiento de (e , x) a (e , y) y lo denotaremos por: (e , x) |--- (e , y) si x = ay, a VT y f(e,a) = e Notaciones. Dadas dos configuraciones c y c denotaremos por: 1. c |---+ c si c = c1 |--- c2 |--- ...... |--- cn = c con n 1 2. c |---* c si c |---+ c c = c Definicin. Dado un AFD A = (E, VT, f, e0, F) definimos como el lenguaje aceptado por A al conjunto siguiente: L(A) = {x | x V*T y (e0 , x) |---* (e , ) para algn e F } Definicin. Un autmata finito no-determinista (AFN) es un sistema de la forma: (E, VT, f, e0, F)

donde: E es un conjunto finito no-vaco de elementos llamados estados VT es un alfabeto llamado alfabeto de entrada f es una funcin de E x (VT U {}) en P(E) llamada funcin de transicin e0 es un estado especial llamado estado inicial F es un subconjunto de E cuyos elementos se nombran estados finales Definicin. Dado un AFN (E, VT, f, e0, F) y dos configuraciones de la forma: (e , x) y (e , y) diremos que existe un movimiento de (e , x) a (e , y) y lo denotaremos por: (e , x) |--- (e , y) si x = ay, a (VT U {}) y e f(e,a)
Expresiones Regulares

Definicin. Sea V un alfabeto cualquiera. Una expresin regular sobre V se define recursivamente, como sigue: 1. La expresin regular representa al lenguaje {} 2. La expresin regular a, donde a VT, representa al lenguaje {a} 3. Si r y s son expresiones regulares tales que: L(r) es el lenguaje representado por r y L(r) es el lenguaje representado por r entonces: 1. (r) | (s) es una expresin regular que representa al lenguaje: L(r) U L(s) 2. (r)(s) es una expresin regular que representa al lenguaje: L(r)L(s) 3. (r)* es una expresin regular que representa al lenguaje: (L(r))*
Autmatas de Pila

Definicin. Un autmata de pila (AP) es un sistema de la forma: (E, VT, , f, e0, Z0, F) donde: E es un conjunto finito no-vaco de elementos llamados estados VT es un alfabeto llamado alfabeto de entrada es un alfabeto llamado alfabeto de pila f es una funcin de E x (VT U {}) x en los subconjuntos finitos de E x * e0 es un estado especial llamado estado inicial Z0 es un smbolo especial de llamado smbolo inicial de pila

F es un subconjunto de E llamado conjunto de estados finales Definicin. Dado un AP (E, VT, , f, e0, Z0, F) llamaremos configuracin a cualquier triplo ordenado de la forma: (e , x , ) * * tal que e E, x V T y Si e = e0 y = Z0 diremos que la configuracin es inicial Si e F y x = diremos que la configuracin es final Definicin. Dado un AP (E, VT, , f, e0, Z0, F) y dos configuraciones de la forma: (e , x , ) y (e , y , ) diremos que existe un movimiento de (e , x , ) a (e , y , ) y lo denotaremos por: (e , x , ) |--- (e , y , ) si x = ay, a (VT U {}), = Z, Z , = , , * y f(e,a,Z) contiene a (e, ) Notaciones. Dadas dos configuraciones c y c denotaremos por: 1. c |---+ c si c = c1 |--- c2 |--- ...... |--- cn = c con n 1 2. c |---* c si c |---+ c c = c Definicin. Dado un AP A = (E, VT, , f, e0, Z0, F) definimos como el lenguaje aceptado por A al conjunto siguiente: L(A) = {x | x V*T y (e0 , x , Z0) |---* (e , , ) para algn e F y *} Definicin. Un AP P = (E, VT, , f, e0, Z0, F) se denomina determinista (APD) si para todo e E y todo Z se cumple al menos alguna de las dos condiciones siguientes: 1. f(e,a,Z) contiene a lo sumo un elemento para todo a VT y f(e,,Z) = 2. f(e,a,Z) = para todo a VT y f(e,,Z) contiene a lo sumo un elemento En caso contrario, P se denomina no-determinista Notacin. Puede observarse que en un APD, cuando f(e,a,Z) para cualquier a (V T U {}), entonces f(e,a,Z) contiene solamente un elemento; luego, en este caso, denotaremos el valor de la funcin de transicin del autmata por f(e,a,Z) = (e,) en lugar de f(e,a,Z) = {(e,)} Definicin. Dadas dos derivaciones cualesquiera, diremos que son equivalentes si tienen el mismo rbol de derivacin asociado. Definicin. Una derivacin se define como extrema izquierda si en todos los pasos se sustituye siempre el smbolo ms a la izquierda posible. Anlogamente se definen las derivaciones a la extrema derecha. Definicin. Dada una gramtica libre del contexto G, diremos que es ambigua si existe al menos una cadena x L(G) con dos rboles de derivacin diferentes. Definicin. Sea una cadena (VN U VT)*. Definimos el conjunto FIRST() del siguiente modo: FIRST()={a | a VT y ==>*a , para algn (VN U VT)*} Si ==>* , se incluye en FIRST()

Definicin. Sea un smbolo A VN. Definimos el conjunto FOLLOW(A) del siguiente modo: FOLLOW(A)={ a | a VT y S ==>* Aa , para algn , (VN U VT)*} Si S ==>* A , se incluye $ en FOLLOW(A) Definicin. Dada una gramtica libre del contexto G, diremos que es LL(1), si todo conjunto de reglas de la forma: A 1 | ...... | n cumple las dos condiciones siguientes: 1. FIRST(i) FIRST(j) = si i j 2. Si i ==>* para algn i , entonces FOLLOW(A) FIRST(j) = para todo j i

Você também pode gostar