Oh!  I did not realize that you were the vendor!  Well then have fun!  :-)




>________________________________
> From: Charles Mills <charl...@mcn.org>
>To: IBM-MAIN@LISTSERV.UA.EDU 
>Sent: Saturday, August 4, 2012 6:59 PM
>Subject: Re: Is this valid COBOL syntax?
> 
>The vendor is fixing the preprocessor. (That would be me.)
>
>
>Charles 
>
>Frank Swarbrick <frank.swarbr...@yahoo.com> wrote:
>
>>Correct.
>>Where will you go from here?
>>Frank
>>
>>
>>
>>
>>>________________________________
>>> From: Charles Mills <charl...@mcn.org>
>>>To: IBM-MAIN@LISTSERV.UA.EDU 
>>>Sent: Friday, August 3, 2012 11:12 AM
>>>Subject: Re: Is this valid COBOL syntax?
>>> 
>>>Frank (and also now John M.) -
>>>
>>>You've got it. When John M. said his compiler was generating an error I
>>>started running some experiments. It took about twenty experiments, but here
>>>is the answer.
>>>
>>>The following program compiles cleanly (except for a sequence error), but if
>>>you remove the DATE-COMPILED line it does not. For the sample below, lines
>>>20 through 33 are part of the DATE-COMPILED paragraph. It is deceptive
>>>source code. What appears to be part of the REMARKS paragraph or something
>>>like that is in fact part of the DATE-COMPILED paragraph.
>>>
>>>00002  IDENTIFICATION DIVISION.      
>>>00013  PROGRAM-ID.    FOO.          
>>>00017  DATE-COMPILED.                
>>>00020 *REMARKS.                      
>>>           now is the time for all go
>>>00021      '*************************
>>>00022      '* blah blah blah        
>>>00022      '* blah blah blah        
>>>00033          FOO.                  
>>>       DATA DIVISION.                
>>>       WORKING-STORAGE SECTION.      
>>>       01  TRANS-NAME    PIC X(20).  
>>>       PROCEDURE DIVISION.          
>>>       MAIN-PROCEDURE.              
>>>           STOP RUN.                
>>>Charles
>>>
>>>-----Original Message-----
>>>From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
>>>Behalf Of Frank Swarbrick
>>>Sent: Friday, August 03, 2012 9:53 AM
>>>To: IBM-MAIN@LISTSERV.UA.EDU
>>>Subject: Re: Is this valid COBOL syntax?
>>>
>>>Here is what happened.
>>>The program was written in pre-COBOL II (COBOL 85) syntax.  At that time the
>>>REMARKS paragraph valid (I'm guessing as an IBM extension), and everything
>>>following it (until the next valid phrase) was treated as, well, remarks
>>>(a.k.a. comments).  So it used to look something like this:
>>>
>>> IDENTIFICATION DIVISION.
>>> PROGRAM-ID. MYPGM.
>>>
>>> AUTHOR. THE AUTHOR OF THIS PROGRAM.
>>> REMARKS.
>>>      '*******************   ************'
>>>      '* VARIOUS COMMENT-LIKE TEXT      *'
>>>      '* VARIOUS COMMENT-LIKE TEXT      *'
>>>
>>>When someone attempted to compile it under COBOL II they got an error on the
>>>REMARKS pargraph, as it was no longer valid.  Some the programmer put the
>>>comment indicator asterisk in front of REMARKS and tried again.  Low and
>>>behold, it worked!  
>>>
>>>
>>>Why did it work?  Because of the AUTHOR paragraph.  (Or perhaps some other
>>>paragraph; I'm just guessing AUTHOR.)  The IDENTIFICATION DIVISION is
>>>defined as follows:
>>>
>>>   
>>>____________________________________________________________________________
>>>______________________ 
>>>  
>>>|                                                                           
>>>                       |
>>>   | >>__ _IDENTIFICATION_ __DIVISION.__PROGRAM-ID__ ___
>>>__program-name_____________________________> |
>>>   |     |_ID_____________|                        
>>>|_._|                                             |
>>>  
>>>|                                                                           
>>>                       |
>>>   | >__ ______________________________________________ __ ___
>>>_____________________________________> |
>>>   |    |_ ____ __ _RECURSIVE___________ __ _________ _| 
>>>|_._|                                       |
>>>   |      |_IS_|  |_COMMON__ _________ _| 
>>>|_PROGRAM_|                                                |
>>>   |              |         |_INITIAL_|
>>>|                                                             |
>>>   |              |_INITIAL__ ________
>>>_|                                                             |
>>>   |                        
>>>|_COMMON_|                                                               |
>>>  
>>>|                                                                           
>>>                       |
>>>   | >__ ______________________________________ __
>>>____________________________________________ ____> |
>>>   |    |_AUTHOR__ ___ __ ___________________ _|  |_INSTALLATION__ ___ __
>>>___________________ _|      |
>>>   |              |_._|  | <_______________  |                    |_._|  |
>>><_______________  |        |
>>>   |                     |___comment-entry_|_|                          
>>>|___comment-entry_|_|        |
>>>  
>>>|                                                                           
>>>                       |
>>>   | >__ ____________________________________________
>>>______________________________________________> |
>>>   |    |_DATE-WRITTEN__ ___ __ ___________________
>>>_|                                                |
>>>   |                    |_._|  | <_______________ 
>>>|                                                  |
>>>   |                          
>>>|___comment-entry_|_|                                                  |
>>>  
>>>|                                                                           
>>>                       |
>>>   | >__ _______________________________________ __
>>>________________________________________ ______>< |
>>>   |    |_DATE-COMPILED.__ ___________________ _|  |_SECURITY__ ___ __
>>>___________________ _|         |
>>>   |                      | <_______________  |                |_._|  |
>>><_______________  |           |
>>>   |                      |___comment-entry_|_|                      
>>>|___comment-entry_|_|           |
>>>  
>>>|                                                                           
>>>                       |
>>>  
>>>|___________________________________________________________________________
>>>_______________________|
>>>
>>>
>>>
>>>As you can see, each of the optional paragraphs (AUTHOR, INSTALLATION,
>>>DATE-WRITTEN, DATE-COMPILED, and SECURITY) may be followed by multiple
>>>comment-entries.  So what had been "remarks" comment entries are now comment
>>>entries under whatever "paragraph name" immediately preceeds it.
>>>
>>>So technically it is valid COBOL, at least according to the Enterprise COBOL
>>>standard.  So technically your pre-processor needs to accept it.  Will they
>>>fix it to accept it?  Umm, good luck!
>>>
>>>Your other option is to place the comment asterisks before each
>>>"comment-entry".
>>>
>>>Note that if the program had not had any of the other optional ID DIVISION
>>>paragraphs present, simply commenting out REMARKS would not have worked.
>>>
>>>It is perhaps worth noting the following, from the Enterprise COBOL 4.2
>>>Reference manual...
>>>
>>>"The following are language elements that Standard COBOL 85 categorized as
>>>obsolete: 
>>>    * AUTHOR paragraph 
>>>    * Comment entry 
>>>    * DATE-COMPILED paragraph 
>>>    * DATE-WRITTEN paragraph 
>>>    * INSTALLATION paragraph 
>>>    * SECURITY paragraph"
>>>
>>>
>>>----------------------------------------------------------------------
>>>For IBM-MAIN subscribe / signoff / archive access instructions,
>>>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>>
>>>
>>>
>>
>>----------------------------------------------------------------------
>>For IBM-MAIN subscribe / signoff / archive access instructions,
>>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>
>----------------------------------------------------------------------
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to