SlideShare une entreprise Scribd logo
1  sur  14
GRAMÁTICA DE
LIBRE CONTEXTO
¿QUÉ ES LA GRAMÁTICA DE LIBRE
CONTEXTO O GLC?
• Gramática
• Permite definir un lenguaje mediante reglas que nos permiten generar o producir
cadenas de un lenguaje.
• Estas gramáticas son similares a las gramáticas de los lenguajes naturales, pero
mucho más restrictivas y sencillas.
• Los lenguajes libres del contexto son aquellos que pueden ser reconocidos por un
autómata de pila determinístico o no determinístico.
DEFINICIÓN FORMAL DE LA GRAMÁTICA
• G = (VN, VT, S, P) donde:
• VN (vocabulario no terminal): conjunto finito de símbolos que permiten
representar estados intermedios de la generación de las palabras del lenguaje
• VT (vocabulario terminal): conjunto finito de los símbolos que forman las
palabras del lenguaje. N ∩ T = ᴓ
• S ∈ VN (símbolo inicial o axioma): a partir del que se aplican las reglas de la
gramática para obtener las distintas palabras del lenguaje.
• P es el conjunto de reglas de producción (reglas de derivación o reglas de
reescritura) que permiten generar las palabras del lenguaje.
UN EJEMPLO 1 PARA CIERTAS
EXPRESIONES ARITMÉTICAS
G = (VN, VT, S, P)
• VT={ +, -, , *, ( , ), id }
• VN= { E}
• S=E
• P:
1. E→E+E 4. E→ E * E
2. E→E- E 5. E→ E / E
3. E→(E) 6. E → id
Nota: También los podemos ponerlo como una sola producción con alternativas
E → E + E | E - E | E  E | E * E | ( E) | id
EJEMPLO 2: PARA UNA ORACIÓN DEFINIDA
• ORACIÓN SUJETO PREDICADO | PREDICADO
• SUJETO ARTÍCULO NOMBRE
• ARTICULO el | la
• NOMBRE casa | niño
• PREDICADO VERBO COMPLEMENTO
• VERBO corre | es
• COMPLEMENTO bien | obediente | bonita
BNF (BACKUS-NAUR FORM).
• Notación utilizada frecuentemente para escribir gramáticas de tipo 2 o libres
del contexto.
 Esta notación sigue las siguientes convenciones:
1. no terminales se escriben entre < >
2. terminales son cadenas de caracteres sin < >
3. en lugar de ® se utiliza :: = que se lee “se define como”
4. varias reglas del tipo
<A> :: = <B1>
<A> :: = <B2> Se pueden escribir como
… <A> :: = <B1> ½ <B2> ½ ... ½ <Bn>
<A> :: = <Bn>
DADA LA SIGUIENTE CADENA, PROPORCIONE LAS PRODUCCIONES
NECESARIAS EN GRAMÁTICA LIBRE DE CONTEXTO QUE GENERE
DICHA CADENA. PROPORCIONE UNA DEMOSTRACIÓN CON
DERIVACIÓN POR LA IZQUIERDA.
Cadena:
((a,a),a,(a))
Solución:
S -> (L) | a
L -> L,S | S
Gramática: G=(V,T,P,S) G=({S,L},{a,","},P,S)
Demostración:
S ==> (L) ==> (L,S) ==> (L,S,S) ==> (S,S,S) ==> ((L),S,S) ==>
==> ((L,S),S,S) ==> (S,S),S,S) ==> ((a,S),S,S) ==> ((a,a),S,S) ==>
==> ((a,a),a,S) ==> ((a,a),a,(L)) ==> ((a,a),a,(S)) ==> ((a,a),a,(a))
SEA LA GRAMÁTICA:
G=({S},{A,B},S,P), DONDE P={(S->ASB),(S->AB)}.
DETERMINAR EL LENGUAJE QUE GENERA
Solución:
S->aSb
S->ab
S==>aSb==>aaSbb==>aaaSbbb==>aaaaaSbbbbb ... ==>
==>a(n-1)Sb(n-1)==>anbn
L(G)={anbn / n>=1}
EJEMPLO 1: GENERADOR DE NOMBRE DE
PERSONAS
1. Hacer una gramática independiente del contexto (G.I.C), que genere nombres
de persona, mínimo un nombre y un apellido, máximo dos nombres y dos
apellidos. Cada nombre y apellido debe comenzar por mayúscula.
Nota: Se tiene en cuenta que Є=vacío; no se aceptan apellidos compuestos.
1. nombre → nom nom2 esp nom nom2
2. nom2 → esp nom │Є
3. nom → nom min │may
4. may → A│B│C│D│…│Z
5. min → a│b│c│d│…│z
6. esp → “ “
EJEMPLO 1: GENERADOR DE NOMBRE DE
PERSONAS
Ej: Ana Perez Zea
Resolución:
S= nombre (axioma inicial)
nombre= nom nom2 esp nom nom2
nom min Є esp nom min esp nom (3)(2)(3)(2)
nom min min Є esp nom min min esp nom min (3)(3)(3)
may min min Є esp nom min min min esp nom min min (3)(3)(3)
may min min Є esp nom min min min min esp may min min (3)(3)
may min min Є esp may min min min min esp may min min (3)
A n a P e r e z Z e a
EJEMPLO 1: GENERADOR DE NOMBRE DE
PERSONAS
ÁRBOL DE ANÁLISIS SINTÁCTICO
EJEMPLO 2: CÓDIGO EN LENGUAJE C
1. Hacer una gramática independiente del contexto (G.I.C), del siguiente código en C:
# include <stdio.h>
# include <stdio.h>
main()
{
int i, var1, var2, total;
clrscr();
printf(“Ingrese num 1:”);
scanf(“%d”,&var1);
printf(“Ingrese num 2:”);
scanf(“%d”,&var2);
total=var1+var2;
printf(“la suma de num 1 y num 2 es: ”,total);
getch();
Return 0;
}
EJEMPLO 2: CÓDIGO EN LENGUAJE C
Reglas de producción:
<CAB>::= <OPNUM><ESP>include
<ACA><LIB><CCA>
<LIB>::= stdio.h|conio.h
<OPNUM>::= #
<ACA>::= <
<CCA>::= >
<FUNC>::=<TIPOF><PR><AP><CP>
<ABLL><CELL>
<TIPOF>::= void|int|Є
<TIPOV>::= int|float|doublé
<PR>::= main
<AP>::= (
<CP>::= )
<FSENT>::= ;
<COMA>::= ,
<AMP>::= &
<VARS>::=<TIPOV><VAR><FSENT>
<VAR>::=<CADENA><COMA><VAR>|
<CADENA>
<FUNCR>::= <FR><AP><CP><FSENT>
<TIPFORM>::= %d|%i|%f|%s|%c
<FR>::= clrscr|getch|printf|scanf|return
<OPBASIC>::= +|-|*|/
<ABCO>::= “
<CECO>::= ”
EJEMPLO 2: CÓDIGO EN LENGUAJE C
<OPVAR>::=<VAR><OPBASIC><VAR>
<CADENA>::= <PALABRA><PALABRA2>
<PALABRA2>::=<ESP><CADENA>|Є
<PALABRA>::=<PALABRA><MIN>|<PALABRA><NUM>|<MAY>|<MIN>|<ESP>
<MAY>::= A|B|C|…|Z
<MIN>::= a|b|c|…|z
<NUM>::= 0|1|2|…|9
<FPRINTF>::=<FR><AP><ABCO><CADENA><CECO><CADENA2><CP><FSENT>
<CADENA2>::= <COMA><VAR>|Є
<FSCANF>::=<FR><AP><ABCO><TIPFORM><CECO><AMP><VAR><CP><FSENT>
<FRETURN>::=<FR><VAL><FSENT>
<VAL>::= 0|1
<ESP>::=“ “
<ABLL>::= {
<CELL>:: }

Contenu connexe

Tendances

Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regularesKenia Adams
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Humano Terricola
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Simplificación de gramáticas independientes de contexto
Simplificación de gramáticas independientes de contextoSimplificación de gramáticas independientes de contexto
Simplificación de gramáticas independientes de contextoEduardo Tello
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaIngeniería Nica
 

Tendances (20)

Grafos 9.2_2016
Grafos 9.2_2016Grafos 9.2_2016
Grafos 9.2_2016
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1
 
Compiladores
CompiladoresCompiladores
Compiladores
 
GRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUASGRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUAS
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Lenguajes no regulares
Lenguajes no regularesLenguajes no regulares
Lenguajes no regulares
 
Simplificación de gramáticas independientes de contexto
Simplificación de gramáticas independientes de contextoSimplificación de gramáticas independientes de contexto
Simplificación de gramáticas independientes de contexto
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Revisando la jerarquía de chomsky
Revisando la jerarquía de chomskyRevisando la jerarquía de chomsky
Revisando la jerarquía de chomsky
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 

En vedette

Gramatica libre de contexto
Gramatica libre de contextoGramatica libre de contexto
Gramatica libre de contextoDaniel Molina
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO Guillermo Iván Prisco Pérez
 
Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)abelrod12
 
Analisis Sintactico
Analisis SintacticoAnalisis Sintactico
Analisis Sintacticolauracecilia
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regularesluisita91
 

En vedette (7)

Gramatica libre de contexto
Gramatica libre de contextoGramatica libre de contexto
Gramatica libre de contexto
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
 
Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)Gramática de contexto libre abel rodriguez (08 1297)
Gramática de contexto libre abel rodriguez (08 1297)
 
Gramaticas y lic
Gramaticas y licGramaticas y lic
Gramaticas y lic
 
Analisis Sintactico
Analisis SintacticoAnalisis Sintactico
Analisis Sintactico
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regulares
 
La gramatica
La gramaticaLa gramatica
La gramatica
 

Similaire à Gramática de libre contexto

Similaire à Gramática de libre contexto (20)

Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
 
lenguajes y_gramaticas
lenguajes y_gramaticaslenguajes y_gramaticas
lenguajes y_gramaticas
 
Gramaticas y lic
Gramaticas y licGramaticas y lic
Gramaticas y lic
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
La tex
La texLa tex
La tex
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Presentacion automata grupo 1 unibe 02-02-2018
Presentacion automata grupo 1   unibe 02-02-2018Presentacion automata grupo 1   unibe 02-02-2018
Presentacion automata grupo 1 unibe 02-02-2018
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
sintaxis de los lenguajes de programación
sintaxis de los lenguajes de programaciónsintaxis de los lenguajes de programación
sintaxis de los lenguajes de programación
 
Guion scripts
Guion scriptsGuion scripts
Guion scripts
 
Abro paréntesis, abro paréntesis, cierro parentesis, .
Abro paréntesis, abro paréntesis, cierro parentesis, .Abro paréntesis, abro paréntesis, cierro parentesis, .
Abro paréntesis, abro paréntesis, cierro parentesis, .
 
Abro paréntesis, abro paréntesis, cierro parentesis, .
Abro paréntesis, abro paréntesis, cierro parentesis, .Abro paréntesis, abro paréntesis, cierro parentesis, .
Abro paréntesis, abro paréntesis, cierro parentesis, .
 
Guia 2 expresiones algebraicas2013
Guia 2 expresiones algebraicas2013Guia 2 expresiones algebraicas2013
Guia 2 expresiones algebraicas2013
 
LaTeX
LaTeXLaTeX
LaTeX
 
Teoria de lenguajes
Teoria de lenguajesTeoria de lenguajes
Teoria de lenguajes
 

Dernier

celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 

Dernier (20)

celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 

Gramática de libre contexto

  • 2. ¿QUÉ ES LA GRAMÁTICA DE LIBRE CONTEXTO O GLC? • Gramática • Permite definir un lenguaje mediante reglas que nos permiten generar o producir cadenas de un lenguaje. • Estas gramáticas son similares a las gramáticas de los lenguajes naturales, pero mucho más restrictivas y sencillas. • Los lenguajes libres del contexto son aquellos que pueden ser reconocidos por un autómata de pila determinístico o no determinístico.
  • 3. DEFINICIÓN FORMAL DE LA GRAMÁTICA • G = (VN, VT, S, P) donde: • VN (vocabulario no terminal): conjunto finito de símbolos que permiten representar estados intermedios de la generación de las palabras del lenguaje • VT (vocabulario terminal): conjunto finito de los símbolos que forman las palabras del lenguaje. N ∩ T = ᴓ • S ∈ VN (símbolo inicial o axioma): a partir del que se aplican las reglas de la gramática para obtener las distintas palabras del lenguaje. • P es el conjunto de reglas de producción (reglas de derivación o reglas de reescritura) que permiten generar las palabras del lenguaje.
  • 4. UN EJEMPLO 1 PARA CIERTAS EXPRESIONES ARITMÉTICAS G = (VN, VT, S, P) • VT={ +, -, , *, ( , ), id } • VN= { E} • S=E • P: 1. E→E+E 4. E→ E * E 2. E→E- E 5. E→ E / E 3. E→(E) 6. E → id Nota: También los podemos ponerlo como una sola producción con alternativas E → E + E | E - E | E E | E * E | ( E) | id
  • 5. EJEMPLO 2: PARA UNA ORACIÓN DEFINIDA • ORACIÓN SUJETO PREDICADO | PREDICADO • SUJETO ARTÍCULO NOMBRE • ARTICULO el | la • NOMBRE casa | niño • PREDICADO VERBO COMPLEMENTO • VERBO corre | es • COMPLEMENTO bien | obediente | bonita
  • 6. BNF (BACKUS-NAUR FORM). • Notación utilizada frecuentemente para escribir gramáticas de tipo 2 o libres del contexto.  Esta notación sigue las siguientes convenciones: 1. no terminales se escriben entre < > 2. terminales son cadenas de caracteres sin < > 3. en lugar de ® se utiliza :: = que se lee “se define como” 4. varias reglas del tipo <A> :: = <B1> <A> :: = <B2> Se pueden escribir como … <A> :: = <B1> ½ <B2> ½ ... ½ <Bn> <A> :: = <Bn>
  • 7. DADA LA SIGUIENTE CADENA, PROPORCIONE LAS PRODUCCIONES NECESARIAS EN GRAMÁTICA LIBRE DE CONTEXTO QUE GENERE DICHA CADENA. PROPORCIONE UNA DEMOSTRACIÓN CON DERIVACIÓN POR LA IZQUIERDA. Cadena: ((a,a),a,(a)) Solución: S -> (L) | a L -> L,S | S Gramática: G=(V,T,P,S) G=({S,L},{a,","},P,S) Demostración: S ==> (L) ==> (L,S) ==> (L,S,S) ==> (S,S,S) ==> ((L),S,S) ==> ==> ((L,S),S,S) ==> (S,S),S,S) ==> ((a,S),S,S) ==> ((a,a),S,S) ==> ==> ((a,a),a,S) ==> ((a,a),a,(L)) ==> ((a,a),a,(S)) ==> ((a,a),a,(a))
  • 8. SEA LA GRAMÁTICA: G=({S},{A,B},S,P), DONDE P={(S->ASB),(S->AB)}. DETERMINAR EL LENGUAJE QUE GENERA Solución: S->aSb S->ab S==>aSb==>aaSbb==>aaaSbbb==>aaaaaSbbbbb ... ==> ==>a(n-1)Sb(n-1)==>anbn L(G)={anbn / n>=1}
  • 9. EJEMPLO 1: GENERADOR DE NOMBRE DE PERSONAS 1. Hacer una gramática independiente del contexto (G.I.C), que genere nombres de persona, mínimo un nombre y un apellido, máximo dos nombres y dos apellidos. Cada nombre y apellido debe comenzar por mayúscula. Nota: Se tiene en cuenta que Є=vacío; no se aceptan apellidos compuestos. 1. nombre → nom nom2 esp nom nom2 2. nom2 → esp nom │Є 3. nom → nom min │may 4. may → A│B│C│D│…│Z 5. min → a│b│c│d│…│z 6. esp → “ “
  • 10. EJEMPLO 1: GENERADOR DE NOMBRE DE PERSONAS Ej: Ana Perez Zea Resolución: S= nombre (axioma inicial) nombre= nom nom2 esp nom nom2 nom min Є esp nom min esp nom (3)(2)(3)(2) nom min min Є esp nom min min esp nom min (3)(3)(3) may min min Є esp nom min min min esp nom min min (3)(3)(3) may min min Є esp nom min min min min esp may min min (3)(3) may min min Є esp may min min min min esp may min min (3) A n a P e r e z Z e a
  • 11. EJEMPLO 1: GENERADOR DE NOMBRE DE PERSONAS ÁRBOL DE ANÁLISIS SINTÁCTICO
  • 12. EJEMPLO 2: CÓDIGO EN LENGUAJE C 1. Hacer una gramática independiente del contexto (G.I.C), del siguiente código en C: # include <stdio.h> # include <stdio.h> main() { int i, var1, var2, total; clrscr(); printf(“Ingrese num 1:”); scanf(“%d”,&var1); printf(“Ingrese num 2:”); scanf(“%d”,&var2); total=var1+var2; printf(“la suma de num 1 y num 2 es: ”,total); getch(); Return 0; }
  • 13. EJEMPLO 2: CÓDIGO EN LENGUAJE C Reglas de producción: <CAB>::= <OPNUM><ESP>include <ACA><LIB><CCA> <LIB>::= stdio.h|conio.h <OPNUM>::= # <ACA>::= < <CCA>::= > <FUNC>::=<TIPOF><PR><AP><CP> <ABLL><CELL> <TIPOF>::= void|int|Є <TIPOV>::= int|float|doublé <PR>::= main <AP>::= ( <CP>::= ) <FSENT>::= ; <COMA>::= , <AMP>::= & <VARS>::=<TIPOV><VAR><FSENT> <VAR>::=<CADENA><COMA><VAR>| <CADENA> <FUNCR>::= <FR><AP><CP><FSENT> <TIPFORM>::= %d|%i|%f|%s|%c <FR>::= clrscr|getch|printf|scanf|return <OPBASIC>::= +|-|*|/ <ABCO>::= “ <CECO>::= ”
  • 14. EJEMPLO 2: CÓDIGO EN LENGUAJE C <OPVAR>::=<VAR><OPBASIC><VAR> <CADENA>::= <PALABRA><PALABRA2> <PALABRA2>::=<ESP><CADENA>|Є <PALABRA>::=<PALABRA><MIN>|<PALABRA><NUM>|<MAY>|<MIN>|<ESP> <MAY>::= A|B|C|…|Z <MIN>::= a|b|c|…|z <NUM>::= 0|1|2|…|9 <FPRINTF>::=<FR><AP><ABCO><CADENA><CECO><CADENA2><CP><FSENT> <CADENA2>::= <COMA><VAR>|Є <FSCANF>::=<FR><AP><ABCO><TIPFORM><CECO><AMP><VAR><CP><FSENT> <FRETURN>::=<FR><VAL><FSENT> <VAL>::= 0|1 <ESP>::=“ “ <ABLL>::= { <CELL>:: }