Node: Transforming Statements, Next: Transforming Expressions, Previous: Challenges Posed, Up: Front End
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).