Procesadores de Lenguaje

Procesadores de Lenguaje Repaso TALF Cristina Tˆırn˘auc˘a Dept. Matesco, Universidad de Cantabria Fac. Ciencias – Ing. Inform´atica – Primavera de 2

1 downloads 90 Views 236KB Size

Recommend Stories

Story Transcript

Procesadores de Lenguaje Repaso TALF

Cristina Tˆırn˘auc˘a Dept. Matesco, Universidad de Cantabria

Fac. Ciencias – Ing. Inform´atica – Primavera de 2013

La Jerarqu´ıa de Chomsky Cuatro niveles de lenguajes formales

Del nivel m´as restrictivo al m´as general: Tipo 3: Lenguajes regulares (gram´aticas regulares, expresiones regulares, aut´omatas finitos deterministas o indeterministas, . . . );

La Jerarqu´ıa de Chomsky Cuatro niveles de lenguajes formales

Del nivel m´as restrictivo al m´as general: Tipo 3: Lenguajes regulares (gram´aticas regulares, expresiones regulares, aut´omatas finitos deterministas o indeterministas, . . . ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gram´aticas incontextuales, aut´ omatas con pila, . . . );

La Jerarqu´ıa de Chomsky Cuatro niveles de lenguajes formales

Del nivel m´as restrictivo al m´as general: Tipo 3: Lenguajes regulares (gram´aticas regulares, expresiones regulares, aut´omatas finitos deterministas o indeterministas, . . . ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gram´aticas incontextuales, aut´ omatas con pila, . . . ); Tipo 1: Lenguajes sensibles al contexto (context-sensitive) (gram´aticas sensibles al contexto, aut´ omatas linealmente acotados);

La Jerarqu´ıa de Chomsky Cuatro niveles de lenguajes formales

Del nivel m´as restrictivo al m´as general: Tipo 3: Lenguajes regulares (gram´aticas regulares, expresiones regulares, aut´omatas finitos deterministas o indeterministas, . . . ); Tipo 2: Lenguajes libres de contexto (context-free o incontextuales) (gram´aticas incontextuales, aut´ omatas con pila, . . . ); Tipo 1: Lenguajes sensibles al contexto (context-sensitive) (gram´aticas sensibles al contexto, aut´ omatas linealmente acotados); Tipo 0: Lenguajes recursivamente enumerables (gram´aticas arbitrarias, m´aquinas de Turing. . . ).

Gram´aticas incontextuales ¿De qu´e constan?

Una gram´atica G = (V , Σ, S, P) est´a dada por: 1. Dos alfabetos

Gram´aticas incontextuales ¿De qu´e constan?

Una gram´atica G = (V , Σ, S, P) est´a dada por: 1. Dos alfabetos I

I

el de s´ımbolos gramaticales V (s´ımbolos no terminales o variables), y el alfabeto de entrada Σ (o de s´ımbolos terminales)

Gram´aticas incontextuales ¿De qu´e constan?

Una gram´atica G = (V , Σ, S, P) est´a dada por: 1. Dos alfabetos I

I

el de s´ımbolos gramaticales V (s´ımbolos no terminales o variables), y el alfabeto de entrada Σ (o de s´ımbolos terminales)

2. un s´ımbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o “producciones”)

Gram´aticas incontextuales ¿De qu´e constan?

Una gram´atica G = (V , Σ, S, P) est´a dada por: 1. Dos alfabetos I

I

el de s´ımbolos gramaticales V (s´ımbolos no terminales o variables), y el alfabeto de entrada Σ (o de s´ımbolos terminales)

2. un s´ımbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o “producciones”) (donde cada regla consta de dos palabras sobre la uni´on de ambos alfabetos V ∪ Σ, y la primera de las dos palabras no es vac´ıa).

Gram´aticas incontextuales ¿De qu´e constan?

Una gram´atica G = (V , Σ, S, P) est´a dada por: 1. Dos alfabetos I

I

el de s´ımbolos gramaticales V (s´ımbolos no terminales o variables), y el alfabeto de entrada Σ (o de s´ımbolos terminales)

2. un s´ımbolo gramatical S especialmente designado como inicial, 3. y un conjunto de reglas gramaticales (o “producciones”) (donde cada regla consta de dos palabras sobre la uni´on de ambos alfabetos V ∪ Σ, y la primera de las dos palabras no es vac´ıa).

En las gram´aticas incontextuales, que ser´an las u ´nicas que emplearemos en esta asignatura, la primera secuencia de cada regla consta de exactamente un s´ımbolo gramatical.

Ejemplos de gram´aticas incontextuales Y dos notaciones

Lenguaje: los n´umeros en binario Gram´atica G = (V , Σ, N, P) con V = {N, D} y Σ = {0, 1}.

Ejemplos de gram´aticas incontextuales Y dos notaciones

Lenguaje: los n´umeros en binario Gram´atica G = (V , Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notaci´ on BNF (Backus Naur Form): I

Los caracteres del alfabeto de entrada entre comillas simples.

I

Los s´ımbolos gramaticales muchas veces con una sola letra may´ uscula; el primero en aparecer es el s´ımbolo inicial.

Ejemplos de gram´aticas incontextuales Y dos notaciones

Lenguaje: los n´umeros en binario Gram´atica G = (V , Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notaci´ on BNF (Backus Naur Form): I

Los caracteres del alfabeto de entrada entre comillas simples.

I

Los s´ımbolos gramaticales muchas veces con una sola letra may´ uscula; el primero en aparecer es el s´ımbolo inicial.

Las reglas en notaci´ on BNF N:D N:ND D : ’0’ D : ’1’

Ejemplos de gram´aticas incontextuales Y dos notaciones

Lenguaje: los n´umeros en binario Gram´atica G = (V , Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notaci´ on TALF: I

Los caracteres del alfabeto de entrada sin comillas.

I

Los s´ımbolos gramaticales muchas veces con una sola letra may´ uscula; el primero en aparecer es el s´ımbolo inicial.

Las reglas en notaci´ on BNF

Las reglas en notaci´ on TALF

N:D

N→D

N:ND

N→ND

D : ’0’

D→0

D : ’1’

D→1

Ejemplos de gram´aticas incontextuales Y dos notaciones

Lenguaje: los n´umeros en binario Gram´atica G = (V , Σ, N, P) con V = {N, D} y Σ = {0, 1}. Notaci´ on TALF: I

Los caracteres del alfabeto de entrada sin comillas.

I

Los s´ımbolos gramaticales muchas veces con una sola letra may´ uscula; el primero en aparecer es el s´ımbolo inicial.

Las reglas en notaci´ on BNF

Las reglas en notaci´ on TALF

N:D

N→D

N:ND

N→ND

D : ’0’

D→0

D : ’1’

D→1

N:D|ND

N→D|ND

D : ’0’ | ’1’

D→0|1

´ Arboles de an´alisis sint´actico Y derivaciones izquierda y derecha

Un ´arbol y tres derivaciones:

N ND N1 ND1 DD1 1D1 101 (izquierda)

(derecha)

´ Arboles de an´alisis sint´actico Y derivaciones izquierda y derecha

Un ´arbol y tres derivaciones:

N

N

ND

ND

N1

NDD

ND1

DDD

DD1

1DD

1D1

10D

101

101 (izquierda)

(derecha)

´ Arboles de an´alisis sint´actico Y derivaciones izquierda y derecha

Un ´arbol y tres derivaciones:

N

N

N

ND

ND

ND

N1

NDD

N1

ND1

DDD

ND1

DD1

1DD

N01

1D1

10D

D01

101

101

101

(izquierda)

(derecha)

Gram´atica para expresiones Versi´ on simplificada

Algunas operaciones entre enteros sin signo E : N | E OP E N:D|ND D : ’0’ | ’1’ | ’2’ | ’3’ | ’4’ | ’5’ | ’6’ | ’7’ | ’8’ | ’9’ OP : ’+’ | ’∗’ Observamos la propiedad de recursividad izquierda.

Ambig¨uedad: Las expresiones con m´as de un operador admiten varios ´arboles de an´alisis sint´actico: 12+34*56

Ambig¨uedad E indeterminismo

Una gram´atica libre de contexto es ambigua si existe una palabra que tiene al menos dos ´arboles de derivaci´ on. NOTA: algunos lenguajes de programaci´ on tienen gr´amaticas ambiguas (soluci´on: utilizar tabla de s´ımbolos). NOTA: en general, no se puede decidir si una gram´atica libre de contexto es o no ambigua.

Ambig¨uedad E indeterminismo

Una gram´atica libre de contexto es ambigua si existe una palabra que tiene al menos dos ´arboles de derivaci´ on. NOTA: algunos lenguajes de programaci´ on tienen gr´amaticas ambiguas (soluci´on: utilizar tabla de s´ımbolos). NOTA: en general, no se puede decidir si una gram´atica libre de contexto es o no ambigua. Un lenguaje libre de contexto es inherentemente ambiguo si todas las gram´aticas libres de contexto que generan el lenguaje son ambiguas. Ejemplo de lenguaje inherentemente ambiguo: {an b m c m d n | n, m > 0} ∪ {an b n c m d m | n, m > 0}.

Ambig¨uedad E indeterminismo

Una gram´atica libre de contexto es ambigua si existe una palabra que tiene al menos dos ´arboles de derivaci´ on. NOTA: algunos lenguajes de programaci´ on tienen gr´amaticas ambiguas (soluci´on: utilizar tabla de s´ımbolos). NOTA: en general, no se puede decidir si una gram´atica libre de contexto es o no ambigua. Un lenguaje libre de contexto es inherentemente ambiguo si todas las gram´aticas libres de contexto que generan el lenguaje son ambiguas. Ejemplo de lenguaje inherentemente ambiguo: {an b m c m d n | n, m > 0} ∪ {an b n c m d m | n, m > 0}. El conjunto de los lenguajes libres de contexto deterministas es un subconjunto propio del conjunto de los lenguajes libres de contexto que no son inherentemente ambiguo. Ejemplo de lenguaje indeterminista: el lenguaje generado por la gram´atica S → 0S0 | 1S1 | λ.

Expresiones regulares Y los lenguajes correspondientes

Σ: alfabeto finito. I

∅ es una expresi´on regular

I

λ es una expresi´on regular

I

a es una expresi´on regular, ∀a ∈ Σ si α y β son expresiones regulares, tambi´en lo son:

I

I I I

α+β α·β α∗

Expresiones regulares Y los lenguajes correspondientes

Σ: alfabeto finito. I

∅ es una expresi´on regular

L(∅) = ∅

I

λ es una expresi´on regular

L(λ) = {λ}

I

a es una expresi´on regular, ∀a ∈ Σ L(a) = {a} si α y β son expresiones regulares, tambi´en lo son:

I

I I I

α+β α·β α∗

L(α + β) = L(α) ∪ L(β) L(α · β) = L(α) · L(β) L(α∗ ) = L(α)∗

Aut´omatas finitos Y los lenguajes aceptados

Un aut´omata finito A = (Q, Σ, δ, q0 , F ) Caso general (sin λ-transiciones): δ : Q × Σ → 2Q

Aut´omatas finitos Y los lenguajes aceptados

Un aut´omata finito A = (Q, Σ, δ, q0 , F ) Caso general (sin λ-transiciones): δ : Q × Σ → 2Q Deterministas: δ :Q ×Σ→Q

Aut´omatas finitos Y los lenguajes aceptados

Un aut´omata finito A = (Q, Σ, δ, q0 , F ) Caso general (sin λ-transiciones): δ : Q × Σ → 2Q Deterministas: δ :Q ×Σ→Q L(A) = {w | δ(q0 , w ) ∩ F 6= ∅}

Aut´omatas con pila Aceptar por pila vac´ıa o estado final

Un aut´omata con pila P = (Q, Σ, Γ, δ, q0 , Z0 , F ). Caso general: ∗ δ : Q × Σ ∪ {λ} × Γ → 2Q×Γ Deterministas: 1. |δ(q, a, X ))| ≤ 1∀q ∈ Q, a ∈ Σ ∪ {λ}, X ∈ Γ 2. si |δ(q, a, X ))| = 1 para a ∈ Σ entonces |δ(q, λ, X ))| = 0 Estado final: L(P) = {w | (q0 , w , Z0 ) ⇒∗ (q, λ, γ), q ∈ F } Cinta y pila vac´ıa: N(P) = {w | (q0 , w , Z0 ) ⇒∗ (q, λ, λ)}

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.