SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
 

GRAMÁTICA LIBRE DE CONTEXTO
El análisis gramatical tiene como tarea
determinar la estructura de un programa,
por esta razón es conocido también como
análisis sintáctico. Esta estructura o
también conocida como sintaxis de un
lenguaje de programación es regulado
mediante
unas
reglas
gramaticales
inmersas dentro de una gramática libre
de contexto.
La estructura básica empleada en estas
gramáticas es por lo general alguna
clase de árbol, conocida como árbol de
análisis gramatical o árbol sintáctico.

Figura 1. Estructura básico, árbol sintáctico
 

Al
contrario
de
los
analizadores
léxicos, donde existe un solo método
algorítmico, representado por autómatas
finitos,
el
análisis
sintáctico
involucra tener que elegir entre varios
métodos
diferentes
entre
si,
con
diferentes propiedades y capacidades,
destacándose entre estos dos clases de
algoritmos,
análisis
sintáctico
descendente
y
análisis
sintáctico
ascendente.

La gramática de libre contexto hace el
uso
de
convenciones
para
nombrar
expresiones regulares, con el uso de
operaciones muy similares entre si,
teniendo en cuenta que las reglas libres
de contexto son altamente recursivas.
Los algoritmos empleados para reconocer
estas estructuras también difieren mucho
de los algoritmos de análisis léxico,
debido a la recursividad inmersos en
estos algoritmos.
 

Un ejemplo de esta recursividad, es el
uso
de
una
proposición
condicional
definida
por
una
regla
como
la
siguiente:
Ejemplo 1.1
Ø Si S1 y S2 son proposiciones y E es
una expresión, entonces.
Ø “If E then
proposición.

S1

else

S2”

es

una

Usando la variable sintáctica prop, con
el
fin
de
denotar
la
clase
de
proposiciones y expr para la clase de
expresiones,
se
puede
expresar
recursivamente
usando
una
producción
gramatical
Ø prop à if expr then prop else prop
 

TERMINOLOGIA PARA EL ANÁLISIS SINTACTICO
1. TERMINALES.
Los terminales son los símbolos
básicos con que se forman las
diferentes cadenas, en el ejemplo
anterior podemos reconocer cada una
de las palabras claves if, then y
else son terminales.
2. NO TERMINALES.
Los no terminales son variables
sintácticas
los
cuales
denotan
conjuntos de cadenas, en el ejemplo
anterior
podemos
observar
dos
estructuras no terminales en prop y
expr. Estas estructuras definen un
conjunto de cadenas que definen el
lenguaje generado por la gramática,
estos imponen también estructuras
jerárquicas sobre el lenguaje, útil
para su análisis sintáctico como
para su traducción.
 

3. SIMBOLO INICIAL.
En una gramática, un no terminal se
considera a su vez como el símbolo
inicial, y a su vez el conjunto de
expresiones
representado
por
el
lenguaje que es definido por la
gramática.
4. PRODUCCIONES.
Las producciones de una gramática
son aquellas que especifican la
forma
como
se
combinan
los
terminales y los no terminales para
formar diferentes expresiones entre
si. Cada producción consta de un no
terminal, seguido de una flecha u
otro
símbolo
que
reemplaza
la
misma, seguido por una cadena de
terminales y no terminales.
 

Ejemplo 1.2
Ø expr
Ø expr
Ø expr
Ø expr
Ø op
Ø op
Ø op
Ø op

à
à
à
à
à
à
à
à

expr op expr
( expr )
- expr
id
+
*
/

Teniendo
la
gramática
anterior,
la
terminología utilizada para el análisis
sintáctico viene dada por las siguientes
estructuras:
Símbolos terminales
id + - * / ( )
Símbolos no terminales
expr op
Símbolo inicial
expr
Producción
<< expr
à expr op expr >>
 

DERIVACIONES Y EL LENGUAJE DEFINIDO POR
UNA GRAMÁTICA
Existen diferentes formas de considerar
el
proceso
mediante
el
cual
una
gramática hace una definición de un
lenguaje.
Las
reglas
gramaticales
determinan un lenguaje especifico, el
cual esta compuesto por conjuntos de
cadenas legales de tokens. Estas reglas
gramaticales
libres
de
contexto
determinan
el
conjunto
de
cadenas
sintácticas
legales
de
símbolos
de
tokens para las estructuras definidas
por las reglas
Ejemplo 1.3
Ø ( 28 + 17 ) / 14
cadena legal de 7 tokens
( numero – numero ) * numero
Ø ( 28 + 17 / 14
cadena no legal, falta su paréntesis
izquierdo.
 

Las reglas gramaticales determinan las
cadenas legales de símbolos de token por
medio de derivaciones. Una derivación se
define como una secuencia de reemplazos
de
nombres
de
estructura
mediante
selecciones en los lados derechos de las
reglas gramaticales.
Estas
derivaciones
empiezan
con
un
nombre de estructura simple y finaliza
con una cadena de símbolos de token. En
cada una de las etapas de una derivación
se
realiza
un
reemplazo
simple
utilizando una selección de una regla
gramatical.
En el siguiente ejemplo se proporcionara
una derivación para la expresión del
ejemplo anterior ( 28 + 17 ) / 14
utilizando reglas gramaticales vistos en
ejemplos
anteriores.
Cada
paso
se
proporciona a la derecha la selección de
la regla gramatical utilizada para su
reemplazo.
 

Ejemplo 1.4

Paso

Derivación

Regla Gramatical

1

exp => exp op exp
=> exp op numero
=> exp / numero
=> (exp) / numero
=> (exp op exp) / numero
=> (exp op numero) / numero
=> (exp + numero) / numero
=> (numero + numero) / numero

[exp à exp op exp]
[exp à numero]
[op à /]
[exp à (exp)]
[exp à exp op exp]
[exp à numero]
[op à +]
[exp à numero]

2
3
4
5
6
7
8

Los pasos de derivación utilizan una
flecha diferente al símbolo de flecha
que se emplea en la regla gramatical
empleada “=>” “à”. Esto es debido a que
existen diferencias entre un paso de
derivación
y
su
regla
gramatical
influyente al paso de su derivación.
Las reglas gramaticales se encargan de
definir, mientras que los pasos de
derivación
construyen
mediante
reemplazo.
 

El conjunto de todas las cadenas de
símbolos obtenidos por las derivaciones
del
símbolo
exp
es
el
lenguaje
definido
por
la
gramática
de
expresiones.
En
este
lenguaje
encontramos la descripción de todas las
expresiones sintácticamente legales. De
manera simbólica podemos describirlo de
la siguiente manera.
Ø L(G) = {s | exp =>* s}
En la producción anterior G representa
la gramática de expresión, s representa
una cadena arbitraria de token, los
símbolos =>* representan una derivación
compuesta de una secuencia de varios
reemplazos
vistos
en
el
ejemplo
anterior.
Cada
nombre
de
estructura
en
una
gramática define su propio lenguaje de
cadenas
sintácticamente
correcta
de
tokens.
 

ARBOL DE ANÁLISIS SINTACTICO Y
DERIVACIONES
Un árbol de análisis sintáctico se puede
considerar
como
una
representación
grafica de una derivación que no muestra
la relativa elección a su orden de
sustitución. Los nodos al interior de un
árbol de análisis sintáctico se etiqueta
con algún no terminal y a su vez los
hijos de dicho nodo se etiquetan de
izquierda a derecha, con los respectivos
símbolos
del
lado
derecho
de
la
producción por la cual se ha sustituido.
Las
hojas
del
árbol
de
análisis
sintáctico se etiquetan con terminales o
no terminales, leídas de izquierda a
derecha.

Figura 2. Árbol sintáctico para –(id + id)
 
REALIZADO POR
LUISA FERNANDA BAOS PULIDO
DANIEL EDUARDO MOLINA TORO
INSTITUCIÓN UNIVERSITARIA COLEGIO MAYOR DEL CAUCA
INGENIERÍA INFORMATICA
LENGUAJES FORMALES
POPAYAN (CAUCA)
COLOMBIA
NOV 2013

BIBLIOGRAFIA
COMPILADORES, PRINCIPIOS, TECNICAS Y
HERRAMIENTAS, ALFRED V. AHO , PRENTICE
HALL MEXICO, 2008.
CONSTRUCCION DE COMPILADORES, PRINCIPIOS
Y PRACTICA, KENNETH C. LOUDEN,

Más contenido relacionado

La actualidad más candente

automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesRosviannis Barreiro
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientosaaronastorga4
 
Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7UTN-FRT Tucumán Argentina
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccionERICA2c3
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibridagabo
 
18. memorias lifo y fifo
18. memorias lifo y fifo18. memorias lifo y fifo
18. memorias lifo y fifoKlaudita Toloza
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...Don_Francisco
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Elementos de una máquina de turing
Elementos de una máquina de turingElementos de una máquina de turing
Elementos de una máquina de turingvmtorrealba
 

La actualidad más candente (20)

automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7Lenguajes Regulares y Autómatas Finitos - Clase 7
Lenguajes Regulares y Autómatas Finitos - Clase 7
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccion
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibrida
 
18. memorias lifo y fifo
18. memorias lifo y fifo18. memorias lifo y fifo
18. memorias lifo y fifo
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...
Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova...
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas
 
Introduccion a Compiladores e Interpretes
Introduccion a Compiladores e InterpretesIntroduccion a Compiladores e Interpretes
Introduccion a Compiladores e Interpretes
 
Elementos de una máquina de turing
Elementos de una máquina de turingElementos de una máquina de turing
Elementos de una máquina de turing
 
Maquina de Turing
Maquina de TuringMaquina de Turing
Maquina de Turing
 

Similar a Gramatica libre de contexto

Similar a Gramatica libre de contexto (20)

Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Analizador sintáctico
Analizador sintácticoAnalizador sintáctico
Analizador sintáctico
 
Compiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo masCompiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo mas
 
Compiladores1
Compiladores1Compiladores1
Compiladores1
 
Apuntes compiladores
Apuntes compiladoresApuntes compiladores
Apuntes compiladores
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladores
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexico
 

Último

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
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
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
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
 
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
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
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
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
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
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
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
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
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...
 
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...
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 

Gramatica libre de contexto

  • 1.   GRAMÁTICA LIBRE DE CONTEXTO El análisis gramatical tiene como tarea determinar la estructura de un programa, por esta razón es conocido también como análisis sintáctico. Esta estructura o también conocida como sintaxis de un lenguaje de programación es regulado mediante unas reglas gramaticales inmersas dentro de una gramática libre de contexto. La estructura básica empleada en estas gramáticas es por lo general alguna clase de árbol, conocida como árbol de análisis gramatical o árbol sintáctico. Figura 1. Estructura básico, árbol sintáctico
  • 2.   Al contrario de los analizadores léxicos, donde existe un solo método algorítmico, representado por autómatas finitos, el análisis sintáctico involucra tener que elegir entre varios métodos diferentes entre si, con diferentes propiedades y capacidades, destacándose entre estos dos clases de algoritmos, análisis sintáctico descendente y análisis sintáctico ascendente. La gramática de libre contexto hace el uso de convenciones para nombrar expresiones regulares, con el uso de operaciones muy similares entre si, teniendo en cuenta que las reglas libres de contexto son altamente recursivas. Los algoritmos empleados para reconocer estas estructuras también difieren mucho de los algoritmos de análisis léxico, debido a la recursividad inmersos en estos algoritmos.
  • 3.   Un ejemplo de esta recursividad, es el uso de una proposición condicional definida por una regla como la siguiente: Ejemplo 1.1 Ø Si S1 y S2 son proposiciones y E es una expresión, entonces. Ø “If E then proposición. S1 else S2” es una Usando la variable sintáctica prop, con el fin de denotar la clase de proposiciones y expr para la clase de expresiones, se puede expresar recursivamente usando una producción gramatical Ø prop à if expr then prop else prop
  • 4.   TERMINOLOGIA PARA EL ANÁLISIS SINTACTICO 1. TERMINALES. Los terminales son los símbolos básicos con que se forman las diferentes cadenas, en el ejemplo anterior podemos reconocer cada una de las palabras claves if, then y else son terminales. 2. NO TERMINALES. Los no terminales son variables sintácticas los cuales denotan conjuntos de cadenas, en el ejemplo anterior podemos observar dos estructuras no terminales en prop y expr. Estas estructuras definen un conjunto de cadenas que definen el lenguaje generado por la gramática, estos imponen también estructuras jerárquicas sobre el lenguaje, útil para su análisis sintáctico como para su traducción.
  • 5.   3. SIMBOLO INICIAL. En una gramática, un no terminal se considera a su vez como el símbolo inicial, y a su vez el conjunto de expresiones representado por el lenguaje que es definido por la gramática. 4. PRODUCCIONES. Las producciones de una gramática son aquellas que especifican la forma como se combinan los terminales y los no terminales para formar diferentes expresiones entre si. Cada producción consta de un no terminal, seguido de una flecha u otro símbolo que reemplaza la misma, seguido por una cadena de terminales y no terminales.
  • 6.   Ejemplo 1.2 Ø expr Ø expr Ø expr Ø expr Ø op Ø op Ø op Ø op à à à à à à à à expr op expr ( expr ) - expr id + * / Teniendo la gramática anterior, la terminología utilizada para el análisis sintáctico viene dada por las siguientes estructuras: Símbolos terminales id + - * / ( ) Símbolos no terminales expr op Símbolo inicial expr Producción << expr à expr op expr >>
  • 7.   DERIVACIONES Y EL LENGUAJE DEFINIDO POR UNA GRAMÁTICA Existen diferentes formas de considerar el proceso mediante el cual una gramática hace una definición de un lenguaje. Las reglas gramaticales determinan un lenguaje especifico, el cual esta compuesto por conjuntos de cadenas legales de tokens. Estas reglas gramaticales libres de contexto determinan el conjunto de cadenas sintácticas legales de símbolos de tokens para las estructuras definidas por las reglas Ejemplo 1.3 Ø ( 28 + 17 ) / 14 cadena legal de 7 tokens ( numero – numero ) * numero Ø ( 28 + 17 / 14 cadena no legal, falta su paréntesis izquierdo.
  • 8.   Las reglas gramaticales determinan las cadenas legales de símbolos de token por medio de derivaciones. Una derivación se define como una secuencia de reemplazos de nombres de estructura mediante selecciones en los lados derechos de las reglas gramaticales. Estas derivaciones empiezan con un nombre de estructura simple y finaliza con una cadena de símbolos de token. En cada una de las etapas de una derivación se realiza un reemplazo simple utilizando una selección de una regla gramatical. En el siguiente ejemplo se proporcionara una derivación para la expresión del ejemplo anterior ( 28 + 17 ) / 14 utilizando reglas gramaticales vistos en ejemplos anteriores. Cada paso se proporciona a la derecha la selección de la regla gramatical utilizada para su reemplazo.
  • 9.   Ejemplo 1.4 Paso Derivación Regla Gramatical 1 exp => exp op exp => exp op numero => exp / numero => (exp) / numero => (exp op exp) / numero => (exp op numero) / numero => (exp + numero) / numero => (numero + numero) / numero [exp à exp op exp] [exp à numero] [op à /] [exp à (exp)] [exp à exp op exp] [exp à numero] [op à +] [exp à numero] 2 3 4 5 6 7 8 Los pasos de derivación utilizan una flecha diferente al símbolo de flecha que se emplea en la regla gramatical empleada “=>” “à”. Esto es debido a que existen diferencias entre un paso de derivación y su regla gramatical influyente al paso de su derivación. Las reglas gramaticales se encargan de definir, mientras que los pasos de derivación construyen mediante reemplazo.
  • 10.   El conjunto de todas las cadenas de símbolos obtenidos por las derivaciones del símbolo exp es el lenguaje definido por la gramática de expresiones. En este lenguaje encontramos la descripción de todas las expresiones sintácticamente legales. De manera simbólica podemos describirlo de la siguiente manera. Ø L(G) = {s | exp =>* s} En la producción anterior G representa la gramática de expresión, s representa una cadena arbitraria de token, los símbolos =>* representan una derivación compuesta de una secuencia de varios reemplazos vistos en el ejemplo anterior. Cada nombre de estructura en una gramática define su propio lenguaje de cadenas sintácticamente correcta de tokens.
  • 11.   ARBOL DE ANÁLISIS SINTACTICO Y DERIVACIONES Un árbol de análisis sintáctico se puede considerar como una representación grafica de una derivación que no muestra la relativa elección a su orden de sustitución. Los nodos al interior de un árbol de análisis sintáctico se etiqueta con algún no terminal y a su vez los hijos de dicho nodo se etiquetan de izquierda a derecha, con los respectivos símbolos del lado derecho de la producción por la cual se ha sustituido. Las hojas del árbol de análisis sintáctico se etiquetan con terminales o no terminales, leídas de izquierda a derecha. Figura 2. Árbol sintáctico para –(id + id)
  • 12.   REALIZADO POR LUISA FERNANDA BAOS PULIDO DANIEL EDUARDO MOLINA TORO INSTITUCIÓN UNIVERSITARIA COLEGIO MAYOR DEL CAUCA INGENIERÍA INFORMATICA LENGUAJES FORMALES POPAYAN (CAUCA) COLOMBIA NOV 2013 BIBLIOGRAFIA COMPILADORES, PRINCIPIOS, TECNICAS Y HERRAMIENTAS, ALFRED V. AHO , PRENTICE HALL MEXICO, 2008. CONSTRUCCION DE COMPILADORES, PRINCIPIOS Y PRACTICA, KENNETH C. LOUDEN,