SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Compiladores 2021B Benjamín Joaquín Martínez
6.1 Escriba una gramática con atributos para el valor entero de un número dado por la gramática
siguiente:
número  digito número | digito
digito  0| 1|2|3|4|5|6|7|8|9
Regla gramatical Reglas semánticas
numero1 
digito numero2
numero1.exp = 1 + numero2.exp
numero1.valor =
𝑑𝑖𝑔𝑖𝑡𝑜. 𝑣𝑎𝑙𝑜𝑟 ∗ 10 𝑛𝑢𝑚𝑒𝑟𝑜1.𝑒𝑥𝑝
+ numero2.valor
numero  digito numero.exp = 0
numero.valor= digito.valor
digito  0
|1
|2
|3
|4
|5
|6
|7
|8
|9
digito.valor = 0
digito.valor = 1
digito.valor = 2
digito.valor = 3
digito.valor = 4
digito.valor = 5
digito.valor = 6
digito.valor = 7
digito.valor = 8
digito.valor = 9
numero
numero
digito
digito numero
digito
3
2
1
digito.valor=1
numero.exp=0
numero.valor=1
numero1.exp= 1 + 0 =1
numero1.valor=(2 ∗ 10 1
)+ 1= 21
numero1.exp= 1 + 1 =2
numero1.valor=(3 ∗ 10 2
)+ 21= 321
digito.valor=2
digito.valor=3
Compiladores 2021B Benjamín Joaquín Martínez
6.2 Escriba una gramática con atributos para el valor de punto flotante de número decimal dado
por la gramática siguiente. ( sugerencia: utilice un atributo conteo para contar el número de
dígitos a la derecha del punto decimal. =
dnum  num . num
num  num digito | digito
digito  0 | 1 |2 | 3 | 4 | 5 | 6 |7 |8 |9
Regla gramatical Reglas semánticas
dnum  num1.num2 dnum.conteo = (num1.conteo + num2.conteo)
- num1.conteo
dnum.valor = num1.valor +( 𝑛𝑢𝑚2. 𝑣𝑎𝑙𝑜𝑟 ∗
10 −𝑑𝑛𝑢𝑚.𝑐𝑜𝑛𝑡𝑒𝑜
)
num1  num2 digito num1.valor= num2.valor * 10 + digito.valor
num1.conteo = 1 + num2.conteo
num  digito num.valor = digito.valor
num.conteo=1
digito  0
|1
|2
|3
|4
|5
|6
|7
|8
|9
digito.valor = 0
digito.valor = 1
digito.valor = 2
digito.valor = 3
digito.valor = 4
digito.valor = 5
digito.valor = 6
digito.valor = 7
digito.valor = 8
digito.valor = 9
Compiladores 2021B Benjamín Joaquín Martínez
digito
(val=5)
num
(val=3)
(conteo=1)
digito
(val = 3)
3
digito
(val=4)
4
5
dnum
(dnum.conteo = (3 +3) -3=3)
(dnum.valor = 345+( 345 ∗ 10 −3
) = 345 + 0.345= 345.345)
.
num
(val=34*10+5 = 345)
(conteo= 2 + 1 =3)
num
(val=34*10+5 = 345)
(conteo= 2 + 1 =3)
num
(val=3*10+4=34)
(conteo= 1 + 1 =2)
num
(val=3*10+4=34)
(conteo= 1 + 1 =2)
digito
(val=5)
num
(val=3)
(conteo=1)
digito
(val=4)
digito
(val = 3)
3
4
5
Compiladores 2021B Benjamín Joaquín Martínez
6.6 Considere la gramática siguiente para árboles binarios enteros ( en forma linealizada):
árbol  ( número árbol árbol ) | nil
Escriba una gramática con atributos para verificar que está ordenado un árbol binario, es decir,
que los valores de los números del primer subárbol sean <= que el valor del número actual y los
valores de todos los números del segundo subárbol sean >= al valor del número actual. Por
ejemplo (2 (1 nil nil ) (3 nil nil)) está ordenado, pero (1 (2 nil nil ) (3 nil nil) ) no lo está.
Regla gramatical Reglas semánticas
arbol1  ( número árbol2 árbol3 ) arbol1.val = numero.val
if arbol2.val = null and arbol3.val= null then arbol1.balanceado = true
else
if numero.val >= arbol2.val
and numero.val <= arbol3.val
then
arbol1.balanceado = true else arbol1.balanceado= false
if arbol1.balanceado= false then error.
árbol  nil nil.val=null
árbol.val = nil.val
arbol
( numero arbol arbol )
2
( numero árbol árbol )
arbol.val=null arbol.val=nulll
( numero arbol arbol )
arbol.val=null arbol.val=null
1 nil nil
3 nil nil
nil.val= null
nil.val= null
nil.val=null
nil.val=null
arbol.val=3
arbol.balancedo=true
arbol.val=1
arbol.balancedo=true
numero.val=1 numero.val=3
numero.val=2
arbol.balanceado = true

Más contenido relacionado

La actualidad más candente

Clasificacion de Funciones
Clasificacion de FuncionesClasificacion de Funciones
Clasificacion de FuncionesWenGomez2
 
Taller las propiedades de la potencia
Taller las propiedades de la potenciaTaller las propiedades de la potencia
Taller las propiedades de la potenciaRamiro Muñoz
 
Repaso examen de matemáticas temas 1 y 2
Repaso examen de matemáticas temas 1 y 2Repaso examen de matemáticas temas 1 y 2
Repaso examen de matemáticas temas 1 y 2auxihe
 
Numeros Naturales
Numeros NaturalesNumeros Naturales
Numeros NaturalesNayeli
 
Operaciones Básicas en Z
Operaciones Básicas en ZOperaciones Básicas en Z
Operaciones Básicas en ZElia Anez
 
LOS NÚMEROS NATURALES
LOS NÚMEROS NATURALESLOS NÚMEROS NATURALES
LOS NÚMEROS NATURALESguestb2de35
 
Matematicas algebra
Matematicas algebraMatematicas algebra
Matematicas algebradiana robles
 
Números naturales-Propiedades y Ejemplos
Números naturales-Propiedades y EjemplosNúmeros naturales-Propiedades y Ejemplos
Números naturales-Propiedades y EjemplosCOLSUBSIDIO
 
Números naturales..Clase 1 2018
Números naturales..Clase 1 2018Números naturales..Clase 1 2018
Números naturales..Clase 1 2018Ing Antolin Robles
 
Sistemas de numeracion
Sistemas de numeracionSistemas de numeracion
Sistemas de numeracionJuan Incarroca
 
Los numeros naturales maryuri
Los numeros naturales maryuriLos numeros naturales maryuri
Los numeros naturales maryurimaryuricarrillo
 
La Multiplicación presentación
La Multiplicación presentación La Multiplicación presentación
La Multiplicación presentación Julian Bolaños
 
Camtasia Getting Started Guide
Camtasia Getting Started GuideCamtasia Getting Started Guide
Camtasia Getting Started Guideguestce644cb
 
Sistemas De Numeracion Eduann
Sistemas De Numeracion EduannSistemas De Numeracion Eduann
Sistemas De Numeracion Eduanneduann
 
Operaciones con números enteros multiplicación división
Operaciones con números enteros multiplicación divisiónOperaciones con números enteros multiplicación división
Operaciones con números enteros multiplicación divisiónestefaniaedo
 

La actualidad más candente (20)

Numeros Naturales
Numeros NaturalesNumeros Naturales
Numeros Naturales
 
Potencias taller 2
Potencias taller 2Potencias taller 2
Potencias taller 2
 
Clasificacion de Funciones
Clasificacion de FuncionesClasificacion de Funciones
Clasificacion de Funciones
 
Taller las propiedades de la potencia
Taller las propiedades de la potenciaTaller las propiedades de la potencia
Taller las propiedades de la potencia
 
Repaso examen de matemáticas temas 1 y 2
Repaso examen de matemáticas temas 1 y 2Repaso examen de matemáticas temas 1 y 2
Repaso examen de matemáticas temas 1 y 2
 
1.- Conjunto de los números enteros
1.- Conjunto de los números enteros1.- Conjunto de los números enteros
1.- Conjunto de los números enteros
 
Numeros Naturales
Numeros NaturalesNumeros Naturales
Numeros Naturales
 
.Ficha 4
.Ficha 4.Ficha 4
.Ficha 4
 
Operaciones Básicas en Z
Operaciones Básicas en ZOperaciones Básicas en Z
Operaciones Básicas en Z
 
LOS NÚMEROS NATURALES
LOS NÚMEROS NATURALESLOS NÚMEROS NATURALES
LOS NÚMEROS NATURALES
 
Matematicas algebra
Matematicas algebraMatematicas algebra
Matematicas algebra
 
FUNCIONES II
FUNCIONES IIFUNCIONES II
FUNCIONES II
 
Números naturales-Propiedades y Ejemplos
Números naturales-Propiedades y EjemplosNúmeros naturales-Propiedades y Ejemplos
Números naturales-Propiedades y Ejemplos
 
Números naturales..Clase 1 2018
Números naturales..Clase 1 2018Números naturales..Clase 1 2018
Números naturales..Clase 1 2018
 
Sistemas de numeracion
Sistemas de numeracionSistemas de numeracion
Sistemas de numeracion
 
Los numeros naturales maryuri
Los numeros naturales maryuriLos numeros naturales maryuri
Los numeros naturales maryuri
 
La Multiplicación presentación
La Multiplicación presentación La Multiplicación presentación
La Multiplicación presentación
 
Camtasia Getting Started Guide
Camtasia Getting Started GuideCamtasia Getting Started Guide
Camtasia Getting Started Guide
 
Sistemas De Numeracion Eduann
Sistemas De Numeracion EduannSistemas De Numeracion Eduann
Sistemas De Numeracion Eduann
 
Operaciones con números enteros multiplicación división
Operaciones con números enteros multiplicación divisiónOperaciones con números enteros multiplicación división
Operaciones con números enteros multiplicación división
 

Similar a compiladores6Benjamin133467.pdf

Guia logica-lab1-c1
Guia logica-lab1-c1Guia logica-lab1-c1
Guia logica-lab1-c1zeta2015
 
Actividad individual con wiris
Actividad individual con wirisActividad individual con wiris
Actividad individual con wirisFabio Hurtado
 
Examenprimerotemas342005
Examenprimerotemas342005Examenprimerotemas342005
Examenprimerotemas342005César Oliva
 
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NO
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NOCUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NO
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NOenrique0975
 
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdf
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdfCuadernillo-Ingreso-Prof.-Matemática-2020.pdf
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdfalecordaro
 
Nivelacionjulio16
Nivelacionjulio16Nivelacionjulio16
Nivelacionjulio16Paola Arias
 
1ro cuaderno de ejercicio mate 4pdf
1ro cuaderno de ejercicio mate 4pdf1ro cuaderno de ejercicio mate 4pdf
1ro cuaderno de ejercicio mate 4pdfMiriam Cruzat
 
Guia logica (1)
Guia logica (1)Guia logica (1)
Guia logica (1)zeta2015
 
Examenprimerotemas34de2006
Examenprimerotemas34de2006Examenprimerotemas34de2006
Examenprimerotemas34de2006César Oliva
 
cuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfcuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfAnaBrenesTorres
 
cuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfcuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfCriszehroReviewer
 
Gema 1000 - Los Números Reales
Gema 1000 - Los Números RealesGema 1000 - Los Números Reales
Gema 1000 - Los Números RealesAngel Carreras
 
Obj 6 resta de numeros enteros sumas algebraicas
Obj 6   resta de numeros enteros   sumas algebraicasObj 6   resta de numeros enteros   sumas algebraicas
Obj 6 resta de numeros enteros sumas algebraicasJairo
 
Club matemático juguetón reforzamiento vacacional
Club matemático juguetón reforzamiento vacacionalClub matemático juguetón reforzamiento vacacional
Club matemático juguetón reforzamiento vacacionalColegio Bellas Artes
 
Mate 3 consignas bloque 1 2016
Mate 3 consignas bloque 1 2016Mate 3 consignas bloque 1 2016
Mate 3 consignas bloque 1 2016jose borboa
 
Numeros racionales numeros enteros
Numeros racionales numeros enterosNumeros racionales numeros enteros
Numeros racionales numeros enterosPerez Kyria
 

Similar a compiladores6Benjamin133467.pdf (20)

Guia logica-lab1-c1
Guia logica-lab1-c1Guia logica-lab1-c1
Guia logica-lab1-c1
 
Actividad individual con wiris
Actividad individual con wirisActividad individual con wiris
Actividad individual con wiris
 
Examenprimerotemas342005
Examenprimerotemas342005Examenprimerotemas342005
Examenprimerotemas342005
 
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NO
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NOCUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NO
CUESTIONARIO MATEMÁTICAS - TAREA VACACIONAL 9NO
 
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdf
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdfCuadernillo-Ingreso-Prof.-Matemática-2020.pdf
Cuadernillo-Ingreso-Prof.-Matemática-2020.pdf
 
Nivelacionjulio16
Nivelacionjulio16Nivelacionjulio16
Nivelacionjulio16
 
1ro cuaderno de ejercicio mate 4pdf
1ro cuaderno de ejercicio mate 4pdf1ro cuaderno de ejercicio mate 4pdf
1ro cuaderno de ejercicio mate 4pdf
 
Guia logica (1)
Guia logica (1)Guia logica (1)
Guia logica (1)
 
Examenprimerotemas34de2006
Examenprimerotemas34de2006Examenprimerotemas34de2006
Examenprimerotemas34de2006
 
cuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfcuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdf
 
cuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdfcuadernillo-numeros-enteros.pdf
cuadernillo-numeros-enteros.pdf
 
Cuaderno de Matemática 1er año Media
 Cuaderno de Matemática 1er año Media Cuaderno de Matemática 1er año Media
Cuaderno de Matemática 1er año Media
 
Crucigramas
CrucigramasCrucigramas
Crucigramas
 
Matematicas CLEI III 1PARTE
Matematicas CLEI III 1PARTEMatematicas CLEI III 1PARTE
Matematicas CLEI III 1PARTE
 
Gema 1000 - Los Números Reales
Gema 1000 - Los Números RealesGema 1000 - Los Números Reales
Gema 1000 - Los Números Reales
 
Problemario algebra
Problemario algebraProblemario algebra
Problemario algebra
 
Obj 6 resta de numeros enteros sumas algebraicas
Obj 6   resta de numeros enteros   sumas algebraicasObj 6   resta de numeros enteros   sumas algebraicas
Obj 6 resta de numeros enteros sumas algebraicas
 
Club matemático juguetón reforzamiento vacacional
Club matemático juguetón reforzamiento vacacionalClub matemático juguetón reforzamiento vacacional
Club matemático juguetón reforzamiento vacacional
 
Mate 3 consignas bloque 1 2016
Mate 3 consignas bloque 1 2016Mate 3 consignas bloque 1 2016
Mate 3 consignas bloque 1 2016
 
Numeros racionales numeros enteros
Numeros racionales numeros enterosNumeros racionales numeros enteros
Numeros racionales numeros enteros
 

Más de Benjamín Joaquín Martínez

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 
Bases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneasBases de datos distribuidas heterogeneas
Bases de datos distribuidas heterogeneas
 
Sistemas gestores de BD
Sistemas gestores de BDSistemas gestores de BD
Sistemas gestores de BD
 

compiladores6Benjamin133467.pdf

  • 1. Compiladores 2021B Benjamín Joaquín Martínez 6.1 Escriba una gramática con atributos para el valor entero de un número dado por la gramática siguiente: número  digito número | digito digito  0| 1|2|3|4|5|6|7|8|9 Regla gramatical Reglas semánticas numero1  digito numero2 numero1.exp = 1 + numero2.exp numero1.valor = 𝑑𝑖𝑔𝑖𝑡𝑜. 𝑣𝑎𝑙𝑜𝑟 ∗ 10 𝑛𝑢𝑚𝑒𝑟𝑜1.𝑒𝑥𝑝 + numero2.valor numero  digito numero.exp = 0 numero.valor= digito.valor digito  0 |1 |2 |3 |4 |5 |6 |7 |8 |9 digito.valor = 0 digito.valor = 1 digito.valor = 2 digito.valor = 3 digito.valor = 4 digito.valor = 5 digito.valor = 6 digito.valor = 7 digito.valor = 8 digito.valor = 9 numero numero digito digito numero digito 3 2 1 digito.valor=1 numero.exp=0 numero.valor=1 numero1.exp= 1 + 0 =1 numero1.valor=(2 ∗ 10 1 )+ 1= 21 numero1.exp= 1 + 1 =2 numero1.valor=(3 ∗ 10 2 )+ 21= 321 digito.valor=2 digito.valor=3
  • 2. Compiladores 2021B Benjamín Joaquín Martínez 6.2 Escriba una gramática con atributos para el valor de punto flotante de número decimal dado por la gramática siguiente. ( sugerencia: utilice un atributo conteo para contar el número de dígitos a la derecha del punto decimal. = dnum  num . num num  num digito | digito digito  0 | 1 |2 | 3 | 4 | 5 | 6 |7 |8 |9 Regla gramatical Reglas semánticas dnum  num1.num2 dnum.conteo = (num1.conteo + num2.conteo) - num1.conteo dnum.valor = num1.valor +( 𝑛𝑢𝑚2. 𝑣𝑎𝑙𝑜𝑟 ∗ 10 −𝑑𝑛𝑢𝑚.𝑐𝑜𝑛𝑡𝑒𝑜 ) num1  num2 digito num1.valor= num2.valor * 10 + digito.valor num1.conteo = 1 + num2.conteo num  digito num.valor = digito.valor num.conteo=1 digito  0 |1 |2 |3 |4 |5 |6 |7 |8 |9 digito.valor = 0 digito.valor = 1 digito.valor = 2 digito.valor = 3 digito.valor = 4 digito.valor = 5 digito.valor = 6 digito.valor = 7 digito.valor = 8 digito.valor = 9
  • 3. Compiladores 2021B Benjamín Joaquín Martínez digito (val=5) num (val=3) (conteo=1) digito (val = 3) 3 digito (val=4) 4 5 dnum (dnum.conteo = (3 +3) -3=3) (dnum.valor = 345+( 345 ∗ 10 −3 ) = 345 + 0.345= 345.345) . num (val=34*10+5 = 345) (conteo= 2 + 1 =3) num (val=34*10+5 = 345) (conteo= 2 + 1 =3) num (val=3*10+4=34) (conteo= 1 + 1 =2) num (val=3*10+4=34) (conteo= 1 + 1 =2) digito (val=5) num (val=3) (conteo=1) digito (val=4) digito (val = 3) 3 4 5
  • 4. Compiladores 2021B Benjamín Joaquín Martínez 6.6 Considere la gramática siguiente para árboles binarios enteros ( en forma linealizada): árbol  ( número árbol árbol ) | nil Escriba una gramática con atributos para verificar que está ordenado un árbol binario, es decir, que los valores de los números del primer subárbol sean <= que el valor del número actual y los valores de todos los números del segundo subárbol sean >= al valor del número actual. Por ejemplo (2 (1 nil nil ) (3 nil nil)) está ordenado, pero (1 (2 nil nil ) (3 nil nil) ) no lo está. Regla gramatical Reglas semánticas arbol1  ( número árbol2 árbol3 ) arbol1.val = numero.val if arbol2.val = null and arbol3.val= null then arbol1.balanceado = true else if numero.val >= arbol2.val and numero.val <= arbol3.val then arbol1.balanceado = true else arbol1.balanceado= false if arbol1.balanceado= false then error. árbol  nil nil.val=null árbol.val = nil.val arbol ( numero arbol arbol ) 2 ( numero árbol árbol ) arbol.val=null arbol.val=nulll ( numero arbol arbol ) arbol.val=null arbol.val=null 1 nil nil 3 nil nil nil.val= null nil.val= null nil.val=null nil.val=null arbol.val=3 arbol.balancedo=true arbol.val=1 arbol.balancedo=true numero.val=1 numero.val=3 numero.val=2 arbol.balanceado = true