comment A4 -- DH's version; real procedure read(dv); value dv; integer dv; kdf9 12/9/14/0; {dv}; JSP294; exit P294V1; ( Read Number ); V1=F0.1; JS3P295; (+ initialise character fetch ); SETB2014; =V0; ZERO; 1; ERASE; JS5P295; SETB35; J2=; SETB36; J3=; SETB37; J4=; SETB20; -; DUP; J1<Z; (+ skip space etc ); DUP; SET10; -; J1>=Z; (+ skip non-digits ); ZERO; 5; ERASE; 51; JS5P295; SETB20; -; DUP; J5<Z; (+ skip spaces etc ); DUP; SET10; -; J6>=Z; (+ non-digits terminate ); REV; SET10; ×D; CONT; +; J51; 3; SETB6000; = V0; 2; ERASE; ZERO; J51; 6; SETB17; NEV; J7=Z; (+ decimal point ); SET47; FLOAT; 8; V0; SHC-12; ×F; ; (+ incorporate sign ); J7P295; (+ freeze character fetch and exit ); 4; ERASE; ZERO; (+ starts with decimal point ); 7; SET47; FLOAT; SETB2014; SHC-12; ZERO; ZERO; (+ N1/2 rubbish, N3 multiplier of previous digit, N4 accumulated number ); 9; ERASE; ERASE; 10; V1; ×F; DUP; PERM; JS5P295; SETB20; -; DUP; J9<Z; (+ skip space etc ); DUP; SET10; -; J11>=Z; (+ terminator ); SET47; FLOAT; ×F; +F; REV; J10; 11; ERASE; ERASE; REV; ERASE; J8; algol real procedure read boolean(dv); value dv; integer dv; kdf9 12/9/14/0; {dv}; SET4; SET99; JP299; exit algol ****