Aptitud | PUERTA CS 1998 | Pregunta 80

Deje que el atributo ‘val’ dé el valor de un número binario generado por S en la siguiente gramática:

S → LL | L
L→ LB | si
si → 0 | 1

Por ejemplo, una entrada 101.101 da S.val = 5.625
Construya un esquema de traducción dirigido por la sintaxis utilizando solo atributos sintetizados para determinar S.val.

Respuesta:
Explicación: La gramática dada es: –

S -> L.L | L
L-> LB | B
B -> 0 | 1 

Ahora, el esquema de traducción dirigido por la sintaxis que usa solo atributos sintetizados es:

S -> L.L  { S.val = L.Val + L.val / L.nb }
S -> L    { S.val = L.val}
L -> LB   { L.val = 2 * L.Val + B.val , L.nb = L.nb + B.nb }
L -> B    { L.val = B.val , L.nb = B.nb}
B -> 0    { B.val = 0 , B.nb = 1 }
B -> 1    { B.val = 1 , B.nb = 1 } 

donde, val = valor decimal, nb = número de bits
Prueba de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *