(j3.2006) "definable", associate-name

Tobias Burnus burnus
Fri Jun 18 08:10:03 EDT 2010


Hi all,

I got a bit confused reading the standard; Dick suggested a sensible
reading but agreed that the wording is a bit unclear and that "there
doesn't seem to be a normative definition of 'definable' in F2003."
Thus, he wrote that one could consider an interpretation request. Let's
start with a less structured email first.

(Pre-remark. F2008 has the following normative definition: "1.3.50
definable: capable of definition and permitted to become defined.")


In C808 (F2003) and C801 (F2008 FDIS) one finds:

"C801 (R804) If selector is not a variable or is a variable that has a
vector subscript, associate-name shall not appear in a variable
definition context (16.6.7)."


Let "name" now be an associate name to a selector which is a variable
with vector subscript. Obviously,
  name = 5
is not allowed as "name" is "the variable of an assignment-stmt"
(16.6.7; F2003: 16.5.7). However, is
  name(scalar_index) = 5
allowed? Here, "name" is not the "variable" but only (?) a part-name in
an "array-element".


I think the sensible answer is: No, it is not valid. (One can also make
an analogy to F2003, 12.4.1.2 the paragraph just above Note 12.24, but
that's not normative for ASSOCIATE but talks about procedure arguments.)


The question is: How to read in the standard that - if "name" is not
definable - also "name(1)" is not definable?

The section about variable-definition context does not seem to help.

Tobias,
who tends to get is confused about "name" vs. "variable" vs. "subobject
(of a variable)" ...



More information about the J3 mailing list