Professional Documents
Culture Documents
N 0 | 1 N0 0 N1 N0 1 N1
1.
2.
define a SAG to compute the decimal value of a binary fraction number define a LAG for the same semantic
1
F . N
N.val= 0.5 / 2 + 1 =1.25
1
rule F semantic rule
N.val=1/2 = 0.5
.N
N.val=1
N 0 N 1 N0 0 N1 N0 1 N1
FRACTIONS (ALTERNATE SOLUTION) : INHERITED AND SYNTHESIZED ATTRIBUTES (LAG) MORE EFFICIENT SOLUTION
NT F N attribute val val pow type float float int mode
rule
F
.N
N 0 N 1 N0 0 N1 N0 1 N1
.101
F -> . N F.val = N.val N.pow = 1 N.val N.val N1.pow N0.val = 0 = (1/2^N.pow) = 1 + N0.pow = N1.val N -> 0 N -> 1 N0 -> 0 N1 N0 -> 1 N1
F.val
= N.val = 0.625
.
N.pow = 1
6 N
N0.val = N1.val + (1/2^N0.pow)=1/8+1/2 = 0.125+0.5= 0.625
1 1
N1.pow = 1 + N0.pow = 2
5 N
N0.val = N1.val=1/8
2 0
N1.pow = 1 + N0.pow=3
4 N
N.val = (1/2^N.pow)= 1/8
3 1
L.l=2
L.p=-L.l=-2 B.v=
.
B.p=0
B.v=1
2^-2= 0.25
B.p=-2
L.v=12 L.p=1+1=2
B.p=1 B B.v=0
B.p=0
B.v=0
L.v=B.v=8 L L.p=3
B.p=2 B
B.v=4
0 0
B.p=3
B B.v=
2^B.p =8