5.3.1.2 Static Procedures

 initial-static = "static" 
 trailing-static = "static" 

Static Semantics

§ A <procedure-declaration> containing either an <initial-static> element or a <trailing-static> element declares a static procedure.

§ No <procedure-declaration> contains both an <initial-static> element and a <trailing-static> element.

Runtime Semantics

§ All variables declared within the <procedure-body> of a static procedure have module extent.

§ All variables declared within the <procedure-body> of a non-static procedure have procedure extent.