/* * Attribute grammar for binary numbers, similar to Knuth Example 1.3 (page * 129) and Tennent Table 13.1 (page 212). * * Attributes: * * NAME DESCRIPTION * =================================================================== * v real-number value of a binary numeral. * * Rules: */ %% N : I '.' F {$$.v = $1.v + $3.v}; I : I B {$$.v = 2 * $1.v + $2.v}; I : B {$$.v = $1.v}; F : B F {$$.v = ($1.v + $2.v / 2}; F : B {$$.v = $1.v / 2}; B : '1' {$$.v = 1}; B : '0' {$$.v = 0};