13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio...
-
Upload
nguyenmien -
Category
Documents
-
view
229 -
download
0
Transcript of 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio...
![Page 1: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/1.jpg)
Clase 13: Derivación de gramáticas y ambigüedad
Solicitado: Ejercicios 11: Derivaciones de gramáticas y ambigüedad
1M. en C. Edgardo Adrián Franco Martínez
http://computacion.cs.cinvestav.mx/~efranco@efranco_escom
![Page 2: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/2.jpg)
Contenido• Derivación
• Ejemplo 01
• Ejemplo 02
• Derivaciones
• Árboles de derivación• Ejemplo 03
• Ejemplo 04
• Ambigüedad en gramáticas
• Problemas de la ambigüedad
• Eliminar la ambigüedad en gramáticas
• Ejercicios 11: Derivaciones de gramáticas y ambigüedad
Compiladores (Lenguajes y gramáticas - Edgardo A. Franco)
2
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 3: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/3.jpg)
βα G⇒ 3
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez• Definición: Decimos que la cadena w1 deriva en un
paso a la cadena w2 (w1 ⇒G w2) si y solo si existencadenas x, y ∈ V * tales que w1 = xuy y w2 = xvy yademás existe una regla u → v en P.• Se acostumbra omitir el subíndice que indica la gramática
G.
• Definición: una cadena w ∈ V * es derivable a partirde la gramática G si y solo si existe una secuencia dederivación iniciando en el símbolo inicial yterminando en la cadena w: S = w1 ⇒ w2 ⇒ w3 ⇒
… ⇒ wn = w.
• Escribimos si α deriva a β en 0 o más pasos.
Derivación
![Page 4: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/4.jpg)
4
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
• Definición: el lenguaje generado por una gramáticaG, L(G), es igual al conjunto de las palabras en VTderivables a partir de G.
• Una gramática describe las reglas sintácticas dellenguaje. Si una palabra no sigue las reglas, entoncesno pertenecen al lenguaje generado por la gramática.
G = (VN,VT, S, P)VN= {S, A, B}VT = {a, b}
P: S → AAA → AAA | bA | Ab | a |BB → ABAA | b
![Page 5: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/5.jpg)
5
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
• Demostrar la pertenencia de la palabra “aabba” alL(G).
G = (VN,VT, S, P)VN= {S, A,B}VT = {a, b}
P: S → AAA → AAA | bA | Ab | a |BB → ABAA | b
Tabla de derivaciones
Cadena Producción Derivación
S S → AA AA
AA A → AAA AAAA
AAAA A → a aAAA
aAAA A → a aaAA
aaAA A →bA aabAA
aabAA A →B aabBA
aabBA B →b aabbA
aabbA A → a aabba
Ejemplo 01
![Page 6: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/6.jpg)
Ejemplo 02• G = (VN,VT, S, P)
• VN= {S, A}
• VT = {a, b}
• P: S → AA A → AAA | bA | Ab | a
• Derivar la palabra ababaa.
6
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 7: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/7.jpg)
⇒ AAAA ⇒ Aa ⇒ aA
⇒ aAAA ⇒ AAAa ⇒ aAAA
⇒ abAAA ⇒ AAbAa ⇒ aAAa
⇒ abaAA ⇒ AAbaa ⇒ abAAa
⇒ ababAA ⇒ AbAbaa ⇒ abAbAa
⇒ ababaA ⇒ Ababaa ⇒ ababAa
⇒ ababaa ⇒ ababaa ⇒ ababaa
S ⇒ AA S ⇒ AA S ⇒ AA
7
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
En esta gramática existe más de una derivación de la palabraababaa.
Derivaciones de ababaa
![Page 8: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/8.jpg)
Derivaciones• Derivación por la izquierda: las reglas de reemplazo
son aplicadas a la primera variable de izquierda aderecha.
• Derivación por la derecha: las reglas de reemplazoson aplicadas a la última variable de derecha aizquierda.
8
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 9: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/9.jpg)
9
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 10: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/10.jpg)
Árboles de derivación• Son una forma de representar las derivaciones, siendo
utilizados, por ejemplo, en la construcción de compiladorespara representar el análisis sintáctico de los programasfuente y sirviendo de base para la generación de código.
• Sólo se pueden definir árboles de derivación para
gramáticas de tipo 1 o mas restrictivas (tipos 2 y 3).
10
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 11: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/11.jpg)
• Un árbol de derivación permite mostrar gráficamente cómose puede derivar cualquier cadena de un lenguaje a partir delsímbolo inicial de una gramática que genera ese lenguaje.
• Un árbol es un conjunto de puntos, llamados nodos, unidospor líneas, llamadas arcos. Un arco conecta dos nodosdistintos. Para ser un árbol un conjunto de nodos y arcosdebe satisfacer ciertas propiedades:
• El nodo raíz está rotulado con el símbolo inicial de lagramática.
• Cada hoja corresponde a un símbolo terminal.
• Cada nodo interior corresponde a un símbolo no terminal.
11
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 12: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/12.jpg)
wS G* ⇒
12
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
• Para una derivación su árbol de derivación
se construye de la siguiente manera:
• Inicializar el árbol con la raíz S.
• Si A → x1x2...xn (con xi ∈ V) es la regla de derivaciónaplicada a la cadena uAv, entonces añadir x1, x2, ..., xn comolos hijos de A en el árbol.
• Si A → λ es la regla de derivación aplicada a la cadena uAv,entonces añadir λ como hijo único de A en el árbol.
• Al árbol de derivación también se le llama árbol de
análisis o árbol de análisis gramatical o árbol de
análisis sintáctico.
![Page 13: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/13.jpg)
Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco)
13
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
• El orden de las hojas también sigue el procesoiterativo de construcción del árbol:
• Inicialmente sólo hay la hoja S y el orden es obvio.
• Al utilizar la regla A → x1x2...xn, cada xi se convierte en hojay en el orden de las hojas A se reemplaza por x1, x2, ...,xn.
• Al utilizar la regla A → λ, simplemente se reemplaza A porλ.
• La cadena de caracteres terminales que se obtieneal recorrer las hojas en orden se llama el producto
del árbol.
![Page 14: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/14.jpg)
P:
E→DbCC→baDC→bD →aD→CaD
E
D b C
bC a D
ab
G=(VT,VN,E,P)
VT={a,b,c}VN={E,C,D}
14
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejemplo 03
![Page 15: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/15.jpg)
Ejemplo 04
• P.g. Sea la gramática G dada por:S → AB A → aA|aB → bB|b
• La cadena aabbb tienen la siguiente derivación:
S => AB => AbB => AbbB => Abbb => aAbbb => aabbb
15
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 16: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/16.jpg)
Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco)16
La cadena aabbb tienen la siguiente derivación:
S => AB => AbB => AbbB => Abbb => aAbbb => aabbb
16
S
A B
b B
b B
b
a A
a16
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 17: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/17.jpg)
Ambigüedad en gramáticas
• Considérese la gramáNca: S → SbS | ScS | a
1. S => SbS => SbScS => SbSca => Sbaca => abaca
2. S => ScS => SbScS => abScS => abacS => abaca
S
S S
ca
a
b
S S
a
Derivación 1
S
S S
b a
a
c
S S
a
Derivación 2Para una misma cadena, se obtuvieron árboles de derivación distintos
17
Teo
ría
co
mp
uta
cio
na
l
Cla
se 1
3:
De
riva
ció
n d
e g
ram
áti
cas
y a
mb
igü
ed
ad
Pro
f. E
dga
rdo
Ad
riá
n F
ran
co M
art
íne
z
![Page 18: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/18.jpg)
18
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
• Una gramática es ambigua cuando para unadeterminada cadena, se produce más de un árbol
de derivación.
![Page 19: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/19.jpg)
• Una gramática es ambigua si existe unacadena w ∈∈∈∈ L(G) que tiene más de unaderivación por la izquierda o más de unaderivación por la derecha o si tiene dos omás árboles de derivación.
• En caso de que toda cadena w ∈∈∈∈ L(G) tenga unúnico árbol de derivación, la gramática es noambigua.
19
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
S
a S
a
S
S a
a
![Page 20: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/20.jpg)
• P.g: la gramática S → aS | Sa | a es ambigua porque aa tiene dos derivaciones por la izquierda
S ⇒ aS ⇒ aa S ⇒ Sa ⇒ aa
• Esta gramática genera el lenguaje a+ que también es el lenguaje generado por la gramática no ambigua S → aS | a.
S
a S
a
S
S a
a
20
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
S
a S
a
![Page 21: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/21.jpg)
Problemas de la ambigüedad• En la gramática para expresiones aritméticas sobre id y num:
• E → E + E
• E → E ∗ E
• E → id
• E → num
• E → -E
• E → (E)
• Es ambigua porque la cadena id + num ∗∗∗∗ id tiene dos árboles de derivación:
• Árbol izquierdo representa (id + num) ∗ id
• Árbol de la derecha representa id + (num ∗ id).
E
E E∗
id + num id
E
E E+
num * idid
21
La ambigüedad puede producir seriosproblemas en lenguajes cuyosignificado depende, en parte, de suestructura, como es el caso de loslenguajes naturales y los deprogramación.
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 22: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/22.jpg)
Eliminar la ambigüedad en gramáticas • Eliminar la ambigüedad en una gramática
requiere de un proceso de análisis propio decada gramática que verifique que para ningunapalabra que esta genera se puedan generar másde un árbol de derivación.
• En algunos casos, la ambigüedad de unagramática se puede eliminar utilizando nuevasvariables que eliminen los árboles de derivaciónno deseados.
• También existen los lenguajes inherentementeambiguos para los que no existe una gramáticano ambigua equivalente.
22
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 23: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/23.jpg)
• En el ejemplo de los operadores aritméticos,además de la variable E, que representaexpresiones, también se utilizan las variablesF para factores y T para términos y se tienenlas siguientes reglas:
• E → E + T E → T
• T → T * F T → F
• F → (E) T → -F
• F → id F → num
23
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
![Page 24: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/24.jpg)
1. Dadas las siguientes gramáticas, de la tabla dederivaciones para comprobar la pertenecía de lascadenas dadas.
• .24
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejercicios 11 “Derivación de gramáticas y ambigüedad”
1.-
G = (VN,VT, exp, P)VN= {exp, opsuma, term, factor,numero}VT = {+, -,*,(,),0,1,2,3,4,5,6,7,8,9}
P:
exp → exp opsuma term |termopsuma → + | -term → term opmul factor | factoropmult → *factor → (exp) | numeronumero →0|1|2|3|4|5|6|7|8|9
a) 3+4*5-6b) 3*(4-5+6)c) 3-(4+5*6)
2.-
G = (VN,VT, S, P)VN= {S, A, B, C}VT = {a, b}
P:
S → BAaA → bBC | aB → bB | b | λC → aB | aa
a) bbbaab) baac) aa
![Page 25: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/25.jpg)
25
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
2. Dadas las siguientes gramáticas, tipo 3 encuentre la expresiónregular que reconocen
3. Dadas las gramáticas siguientes dibuje los árboles de derivaciónpara las cadenas dadas
• .
1.-a*S → aSS → λ
2.-a*b*S → aS | bA | λA → bA | b | λ
3.-a+b+S → ABA → aA | aB → bB | b
1.-
sentencia → sent-if | otro | λsen-if → if ( exp ) sentencia parte-elseparte-else → else sentencia | λexp → 0 | 1
a) if(0) if(1) otro else else otro b) if(1) otro else if(0) otro else otroc) if(0) otro
2.-
A → (A) A | λ | exp
a) ( ( exp) ( (exp ) (exp ) ) )b) ( exp ) ( exp )c) ( exp ) exp
![Page 26: 13 Derivación de gramáticas y ambigüedad - … · *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina 26 Teoría computacional Clase 13: Derivación de gramáticas](https://reader030.fdocuments.co/reader030/viewer/2022021609/5bb0d33509d3f2057e8c84f2/html5/thumbnails/26.jpg)
4. Demostrar que las siguientes gramáticas son ambiguas:
*Se entregarán antes del día Domingo 20 de Octubre de 2013
(23:59:59 hora limite)
*Incluir la redacción de cada ejercicio
*Portada y encabezados de pagina 26
Teo
ría
com
pu
taci
on
alC
lase
13
: D
eriv
ació
n d
e gr
amát
icas
y a
mb
igü
edad
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez1.-a*
S → S + SS → S * SS → ( S )S → 0 SS → 1 SS → 0S → 1
3.-a*b*S → A C | B DA → a A b | a bB → a B | aC → c C | cD → b D c | b c
2.-a+b+sentencia → if ( exp ) sentencia | sent-igualadasent-igualada → if ( exp ) sent-igualada else sentencia | otroexp → 0 | 1