RE: [Cobolforgcc-devel] MOVE subroutine in UNSTRING
Status: Pre-Alpha
Brought to you by:
timjosling
|
From: William M. K. <wm...@ix...> - 2001-04-12 21:15:07
|
I may be missing the target of this post, but I did want to make two
suggestions:
1) Do *not* delay the implementation of "V" in Picture clauses. I know of
no COBOL program more complex than "Hello World" - that doesn't have at
least SOME "V" picture clauses.
2) For edited data items, (alphanumeric-edited or numeric-edited) I would
*strongly* suggest that you "store" the editing mask in your data
definition. This should *not* be stored as something like
X(10)
but rather
XXXXXXXXXX
It is true that the picture-character-string is *only* limited to 50
characters - and this can be something like
Pic X(2000)/(20)X(1000)
but I still think that you will find it "easier in the long run" to store
the edited version in a (variable length) "normalized" version with no
duplication numbers.
> -----Original Message-----
> From: cob...@li...
> [mailto:cob...@li...]On Behalf Of
> Steven O. Ellis
> Sent: Thursday, April 12, 2001 2:52 AM
> To: cob...@li...
> Subject: Re: [Cobolforgcc-devel] MOVE subroutine in UNSTRING
>
>
> Tim,
>
> Fair enough. I propose yet another parameter containing the picture
> character string for each receiving area.
>
> As Bill suggests, "P" and "0" can be disallowed for now, and for the
> immediate purposes, I would disallow "V" and anything else except
> {X,S,(,),0,1,2,3,4,5,6,7,8,9}. "0" would be allowed only within
> parentheses. The receiving area could then be text, signed integer, or
> unsigned integer. I think that would make the UNSTRING routine
> "seaworthy" for the time being.
>
> Receiving areas will be USAGE DISPLAY because:
>
> 6.27.3 Syntax Rules
>
> (3) Identifier-4 may be described as either the category alphabetic,
> alphanumeric, or numeric (except that the symbol 'P' may not be
> used in the PICTURE character-string), and must be described
> implicitly or explicitly, as USAGE IS DISPLAY.
>
> There is one other thing, though. In the set of usage flags currently
> defined in cobr_temp_config.h, there is "SIGN IS TRAILING SEPARATE", but
> no "SIGN IS LEADING SEPARATE". This simplifies the problem. But will
> the COBOLforGCC implementation always require a separate sign to be
> trailing, or will this be changed in the future?
>
>
> Steven
>
>
> Tim Josling wrote:
> >
> > Steven,
> >
> > How about this:
> >
> > - add a parameter for each receiving area, to specify the type
> > per cobr_type enum in cobr_temp_config.h.
> > - add a parameter for each receiving area to say if it is left
> > justified or right justified (eg a COB_UINT32 which has value 1
> > if right justified
> > - hand code to cater only for the type cobrTypeText which is pic
> > x(n) and also cater for right justified.
> > - add assert(type_parm==cobrTypeText);
> > so that it will crash if someone passes something it can't
> > handle.
> >
> > Or some other scheme, as long as it is simple and uses the types
> > in cobr_temp_config.h
> >
> > Later on once all the move variants are supported we can add code
> > to call the appropriate routine.
> >
> > Regards,
> > Tim Josling
> >
> > "Steven O. Ellis" wrote:
> > >
> > > Tim,
> > >
> > > STRING is OK. The following rule disallows a right-justified
> receiving
> > > item. Identifier-3 is the receiving item.
> > >
> > > 6.25.3 Syntax rules
> > >
> > > 4) Identifier-3 must not represent an edited data item and must
> > > not be described with the JUSTIFIED clause.
> > >
> > > However, for UNSTRING, the receiving area may be numeric. UNSTRING
> > > General Rule 6.27.3 (2) refers to the sending area, not the receiving
> > > area. I do believe there is the potential for a numeric move per
> > > General Rule 6.27.4 (13c), quoted below. And per MOVE General Rule
> > > 6.19.4 (4b), when the receiving area is numeric and the
> sending area is
> > > alphanumeric, "data is moved as if the sending operand were
> described as
> > > an unsigned numeric integer."
> > >
> > > This is not something that needs to be resolved at once, but I am
> > > thinking that the final version of UNSTRING is going to have
> to be able
> > > to handle a more sophisticated move.
> > >
> > > Steven
> > >
>
> _______________________________________________
> Cobolforgcc-devel mailing list
> Cob...@li...
> http://lists.sourceforge.net/lists/listinfo/cobolforgcc-devel
|