![Page 1: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/1.jpg)
GRAMÁTICAS LIBRES DE CONTEXTO
![Page 2: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/2.jpg)
Definición
![Page 3: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/3.jpg)
![Page 4: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/4.jpg)
Convenciones
![Page 5: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/5.jpg)
Derivaciones
![Page 6: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/6.jpg)
Definición Lenguaje Libre de Contexto
![Page 7: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/7.jpg)
Ejemplo
![Page 8: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/8.jpg)
Tipos de derivación
![Page 9: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/9.jpg)
![Page 10: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/10.jpg)
Ejercicio• Sea G1 = < Vn1, Vt1,P1, exp> una GLC. Demuestre que
G1 es ambigua.
![Page 11: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/11.jpg)
Solución
• Podemos construir más de una derivación por la izq para “5-8*2”.
![Page 12: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/12.jpg)
Ambigüedad• La ambigüedad significa que una expresión del lenguaje
puede tener más de una interpretación, lo cual no esta permitido.
• En el ejemplo, la ambigüedad está asociada con los operadores “*” y “-”, por lo que se debe establecer su asociatividad y precedencia para evitar la ambigüedad.
![Page 13: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/13.jpg)
Ejercicios
![Page 14: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/14.jpg)
Ejercicios• Construya una GLC que genere cada uno de los
siguientes lenguajes:1.Listas de dígitos separados por comas.2.Cadenas que representen números en punto flotante al
estilo de Pascal o C.3.Identificadores (i.e. secuencias de letras ó dígitos que
incian siempre por una letra) en lenguaje tipo C o Pascal.4.Palabras palíndromas (que se leen de igual forma en
ambos sentidos) sobre el alfabeto {a,b}.5.El conjunto de todas las palabras sobre el alfabeto {a,b}
que tienen 2 veces más a’s que b’s.6.Números impares en binario.
![Page 15: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/15.jpg)
Ejercicio• Obtener la gramática que representa al lenguaje {anb2n|
n>=0}
![Page 16: GRAMÁTICAS LIBRES DE CONTEXTOmtovar.cs.buap.mx/doc/LFAV/GLC.pdf · estilo de Pascal o C. 3. Identificadores (i.e. secuencias de letras ó dígitos que incian siempre por una letra)](https://reader036.vdocuments.co/reader036/viewer/2022070809/5f0840ec7e708231d4211884/html5/thumbnails/16.jpg)
Solución• S→aSbb | abb | Ɛ