| William M. Klein 2008-03-14, 6:57 pm |
| Concerning ther statement,
"They are allocated no later than immediately before initialization"
Let's look again at the entire paragraph which states,
"Data items and file connectors defined in the working-storage, communication,
or file section of a source element that is not an initial program are static
items. Also, screen item attributes in a source element that is not an initial
program are treated as static items. These items are set to their initial state
each time the runtime element or object containing them is set to its initial
state, as described in 14.5.2.1.2.1, Initial state, and in 14.5.2.2, Initial
state of object data. They are allocated no later than immediately before
initialization and persist to the first of the following:
- the end of the run unit,
- the execution of a CANCEL statement of a program that directly or indirectly
contains the items,
- the end of the object's life cycle in the case of object data."
It seems to me that Robert is assuming that "before initialization" is PROGRAM
initialization, but in context it is clear that the "they" is the individual
data items. It is also clear that THEIR "persistance" in this context ends with
a CANCEL and that the next time the same program is CALLed, this same
"initialization" (and allocation before) can occur.
Again, all of this refers to what the Standard says (which is minimal) about wht
type of allocation is done for what it calls "static" items and does not imply
how many (if any) existing compiler/run-times do storage allocatin as a part of
setting to the 2nd through N-th time of "initial state".
--
Bill Klein
wmklein <at> ix.netcom.com
|