Transforming Statements
=======================
Most Fortran statements are given their own block, and, for
temporary variables they might need, their own scope. (A block is what
distinguishes `{ foo (); }' from just `foo ();' in C. A scope is
included with every such block, providing a distinct name space for
local variables.)
Label definitions for the statement precede this block, so `10 PRINT
*, I' is handled more like `fl10: { ... }' than `{ fl10: ... }' (where
`fl10' is just a notation meaning "Fortran Label 10" for the purposes
of this document).