Abstract syntax: N elem-of Nml = binary numerals N ::= I F I ::= 0 | 1 | I0 | I1 F ::= 0 | 1 | .0F | .1F Semantic domain: Z = real numbers Semantic function: Nm: Nml -> Z Nm[[IF]] = Nm[[I]] + Nm[[.F]] Nm[[I1]] = 2*Nm[[I]] + 1 Nm[[I0]] = 2*Nm[[I]] Nm[[1]] = 1 Nm[[0]] = 0 Nm[[.1F]] = 1/2 + Nm[[.F]]/2 Nm[[.0F]] = Nm[[.F]]/2 Nm[[.1] = 1/2 Nm[[.0] = 0 Test case: 1101.01 Nm[[1101.01]] \kw= Nm[[1101]] + Nm[[.01]] .ta \nwu = (2*Nm[[110]] + 1) + (Nm[[.1]]/2) = (2*(2*Nm[[11]]) + 1) + (Nm[[.1]]/2) = (2*(2*(2*Nm[1] + 1)) + 1) + (Nm[[.1]]/2) = (2*(2*(2*1 + 1)) + 1) + ((1/2)/2)