> Recursive programs cannot contain nested subprograms.

Why, in the name of the great lord Harry, not? I'll stick to PL/I, TYVM.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Wednesday, April 8, 2020 4:37 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Why rip out COBOL when you can modernize key applications? - 
Weirdware

*RECURSIVE*
    An optional clause that allows COBOL programs to be recursively
    reentered.

    You can specify the RECURSIVE clause only on the outermost program
    of a compilation unit. Recursive programs cannot contain nested
    subprograms.

    If the RECURSIVE clause is specified, program-name can be
    recursively reentered while a previous invocation is still active.
    If the RECURSIVE clause is not specified, an active program cannot
    be recursively reentered.

On 2020-04-08 4:09 PM, Mike Schwab wrote:
> PROGRAM-ID pgmname RECURSIVE.
>
> https://www.ibm.com/support/knowledgecenter/en/SS6SG3_4.2.0/com.ibm.entcobol.doc_4.2/PGandLR/tasks/tpsubw03.htm
>
> On Tue, Apr 7, 2020 at 9:47 PM Seymour J Metz <sme...@gmu.edu> wrote:
>> Maybe,but there's nothing in his example to suggest that COBOL supports 
>> recursion; you'd have to check the documentation.
>>
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>>
>> ________________________________________
>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
>> David Crayford [dcrayf...@gmail.com]
>> Sent: Tuesday, April 7, 2020 9:44 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Why rip out COBOL when you can modernize key applications? - 
>> Weirdware
>>
>> Wow, and some people criticize Java for being verbose!
>>
>> So using nested programs one can implement recursion in COBOL which you
>> couldn't do before without using a table stack.
>>
>> On 2020-04-08 5:14 AM, Frank Swarbrick wrote:
>>> Nested subroutines.
>>>
>>> Small example:
>>>
>>>    ID DIVISION.
>>>    PROGRAM-NAME. MAINPROG.
>>>    [...]
>>>    PROCEDURE DIVISION.
>>>        CALL 'NESTED-PROGRAM-1'
>>>        GOBACK.
>>>
>>>    ID DIVISION.
>>>    PROGRAM-ID. NESTED-PROGRAM-1.
>>>    DATA DIVISION.
>>>    WORKING-STORAGE SECTION.
>>>    01  LOCAL-VAR-1 PIC X.
>>>    [...]
>>>    PROCEDURE DIVISION.
>>>        DISPLAY 'IN NESTED-PROGRAM-1'
>>>        GOBACK.
>>>
>>>    END PROGRAM NESTED-PROGRAM-1.
>>>
>>>    END PROGRAM MAINPROG.
>>>
>>> ________________________________
>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
>>> David Spiegel <dspiegel...@hotmail.com>
>>> Sent: Tuesday, April 7, 2020 2:58 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU <IBM-MAIN@LISTSERV.UA.EDU>
>>> Subject: Re: Why rip out COBOL when you can modernize key applications? - 
>>> Weirdware
>>>
>>> Hi Frank,
>>> Thank you for that information.
>>> (All the COBOL I support(ed) didn't contain these and neither did my
>>> university courses in the '70s.)
>>>
>>> If I wanted to look them up, which keyword(s) would I use?
>>>
>>> Thanks and regards,
>>> David
>>>
>>> On 2020-04-07 15:49, Frank Swarbrick wrote:
>>>> Internal subroutines and local variables have been supported since COBOL 
>>>> 1985 (VS COBOL II era).
>>>> They're not ideal, but they do exist.
>>>>
>>>> ________________________________
>>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf 
>>>> of David Spiegel <dspiegel...@hotmail.com>
>>>> Sent: Tuesday, April 7, 2020 12:58 PM
>>>> To: IBM-MAIN@LISTSERV.UA.EDU <IBM-MAIN@LISTSERV.UA.EDU>
>>>> Subject: Re: Why rip out COBOL when you can modernize key applications? - 
>>>> Weirdware
>>>>
>>>> How about no internal subroutines with local variables?
>>>>
>>>> On 2020-04-07 14:47, Bob Bridges wrote:
>>>>> I used to bad-mouth COBOL, and I still prefer languages that are less 
>>>>> wordy.  But I came somewhat reluctantly to see that it has its strengths. 
>>>>>  The one I think most important is that it encourages even novice 
>>>>> programmers to organize their logic in what we used to call a "top-down" 
>>>>> manner:  This paragraph accomplish a certain task by executing paragraphs 
>>>>> one through three, then two more, and this subparagraph executes 
>>>>> subsubparagraphs, and so on.  Forms good habits, I think.
>>>>>
>>>>> ---
>>>>> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>>>>>
>>>>> /* My life is in the hands of any fool who can make me lose my temper.  
>>>>> -driving motto */
>>>>>
>>>>> -----Original Message-----
>>>>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>>>>> Behalf Of scott Ford
>>>>> Sent: Tuesday, April 7, 2020 12:55
>>>>>
>>>>> I learned Assembler first and then Cobol and then some PL/1.  I always 
>>>>> felt each language had its strengths and weaknesses and all were like 
>>>>> tools in a toolbox.
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> 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
>>>
>>> ----------------------------------------------------------------------
>>> 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

----------------------------------------------------------------------
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