[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnubol: subsets



>>>>> "Bob" == RKRayhawk  <RKRayhawk@aol.com>
>>>>> wrote the following on Thu, 18 Nov 1999 05:00:26 EST

  Bob> In a message dated 11/17/99 9:22:59 PM EST, mck@tivoli.mv.com
  Bob> in reference to semantics writes:

  Bob> << It updates the symbols for all of these things.
  >>>

  Bob> That is an interesting specific issue.  Could we consider as a
  Bob> first approach that semantics is not permitted to update SYMT?

No, but I may have misled you.  Provide we can get the parser to turn
out properly structured symbol trees for COBOL records, the symbol
table for data division should be structurally complete after the
data division parse.  Semantics does create additional information,
however.  Addresses are recorded in the symbols as a side effect of
storage allocation, for example.

  Bob> This question has two big parts and then some
  Bob> scatterings. Basically if we say that the SYMT must be
  Bob> complete for the data division we definitely put some work in
  Bob> syntax, just to be a sounding board my sound is I do not think
  Bob> that is a bad idea.  But another approach to that is to
  Bob> clarify what we mean by the possibility of multiple
  Bob> intermediates.

I don't know what the possibility of multiple intermediates might
mean, unless we're suggesting that there might be a different
intermediate between semantics and code generation than there is
between syntax and semantics.  I don't see any need for more than one
intermediate form at any one interface.

  Bob> I think the notion that we _could_ be through with the SYMT
  Bob> for the procedure division declared things by the end of
  Bob> syntax may be more defensible. In know that advanced concepts
  Bob> of optimization might lead to an interest in tagging segments
  Bob> of code in certain ways. And I am not saying that SYMT is
  Bob> inaccessible, but as a design concept for starters what are
  Bob> the implications if we say that any update to procedure
  Bob> entries in the SYMT must get done in syntax.

Yes, there are those kinds of annotations, but there are also
additions like an array of perform exit buckets.  The user visible
stuff should be essentially complete, though.

  Bob> Again my general concept is that validation and data typing
  Bob> are outfront.  That certainly grows the work for data div in
  Bob> syntax.

You probably won't get me all the way into your camp on this one,
Bob.  Some things fall out in semantics almost effortlessly.  Using a
little context sensitivity to guide the parse is very appealing
though, and I'd like to use it wherever it seems appropriate.

  Bob> We must allow for the concept that perhaps we will want to see
  Bob> a procedure reference as a statement that types a particular
  Bob> procedure (you know like a SORT INPUT/OUTPUT procedure); which
  Bob> is not declared in the section or paragraph itself.  But
  Bob> initially I don'ts see that.  The most urgent issue of a
  Bob> paragraph is its entry and exit. And that needs generalized
  Bob> solution, and bullet-proofing for performed or performed
  Bob> terminus, and for a little thing called initial state.  My
  Bob> other posts have indicated that I would be in favor of detailed
  Bob> distinctions on procedure types but we need some of that
  Bob> before syntax, and certainly know a lot during syntax.  This
  Bob> must stay open as we work our way all the way through forward
  Bob> reference in the procedure division.

So far, I haven't been able to share your sense of urgency on these
matters, but we should be seeing more specific implementation
proposals shortly and that may give you the opportunity to drive your
points home.  Incidentally, the perform exit problem is probably the
best argument for having semantics be a pass.  The problem, of course
is the necessity to generate the exit code at a point in the program
where there is no local indication that it is required.

  Bob> Best Wishes Bob Rayhawk RKRayhawk@aol.com

  Bob> -- This message was sent through the gnu-cobol mailing list.
  Bob> To remove yourself from this mailing list, send a message to
  Bob> majordomo@lusars.net with the words "unsubscribe gnu-cobol" in
  Bob> the message body.  For more information on the GNU COBOL
  Bob> project, send mail to gnu-cobol-owner@lusars.net.





--
This message was sent through the gnu-cobol mailing list.  To remove yourself
from this mailing list, send a message to majordomo@lusars.net with the
words "unsubscribe gnu-cobol" in the message body.  For more information on
the GNU COBOL project, send mail to gnu-cobol-owner@lusars.net.