> 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