Goto Statements (was: COBOL Question)

2020-06-07 Thread Bernd Oppolzer
Thank you very much for the link to that article; I did not know that before. When I started to work on the Stanford Pascal compiler in 2011, it had about 20 to 30 labels and Gotos (6000 lines of source code). http://bernd-oppolzer.de/job9.htm In the meantime, I omitted most of them, but thi

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread Seymour J Metz
I generally get by with control structures like case (select/when), if/elsif/when, iterate and leave, but I unashamedly use GOTO, when it is the cleanest way to do something; I refuse to avoid a useful construct just because it is not politically correct. In the case of COBOL, I consider the out

Re: zSHOP order too large to download

2020-06-07 Thread Dejan Cepetic
You are welcome Bill. I agree they should have the option to just download the installation file for CAE server if you want to install it on distributed. Like for Db2 Query Workload Tuner. It can be ordered on Shop z and you get the link to download the file to PC. Regards, Dejan Cepetic Mob:

Re: COBOL Question

2020-06-07 Thread David Crayford
I've posted this before many times before! The conversation has got boring now - yawn! I would challenge anybody to refactor this code without goto's. https://github.com/eclipse/omr/blob/e9b85117d18c369108a9ddb790023103c35b4379/thread/common/omrthread.c#L246 On 2020-06-07 1:53 AM, Bob Bridges

Re: COBOL Question

2020-06-07 Thread David Crayford
If you really believe this nonsense then you have never programmed systems level code which requires cleanup of system resources such as locks. In 2020 we should not be having this conversation any more - it's bogus! Nobody emulates structured programming constructs such as loops using goto a

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread Paul Gilmartin
On Sun, 7 Jun 2020 10:33:34 +, Seymour J Metz wrote: >I generally get by with control structures like case (select/when), >if/elsif/when, iterate and leave, but I unashamedly use GOTO, when it is the >cleanest way to do something; I refuse to avoid a useful construct just >because it is not

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread Seymour J Metz
Ah, but SIGNAL does clean up resources., Not always the appropriate resources, but resources. do i=1 to 100 foo SIGNAL bar baz bar: j=1 end That's part of "it does not have lexical scope," -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread Clark Morris
[Default] On 7 Jun 2020 03:33:44 -0700, in bit.listserv.ibm-main sme...@gmu.edu (Seymour J Metz) wrote: >I generally get by with control structures like case (select/when), >if/elsif/when, iterate and leave, but I unashamedly use GOTO, when it is the >cleanest way to do something; I refuse to av

Re: COBOL Question

2020-06-07 Thread Bob Bridges
The only language I can think of off-hand that doesn't require some sort of END to close a DO (I'm sure there are others) is ISPF. But, in REXX at least, I never use single-statement DOs. I see them all the time, and I don't get it. Like this: if x=0 then do x=x+1 end Or, more painf

Re: COBOL Question

2020-06-07 Thread Lou Losee
Bob, Would you rather code the select as a series of nested if-then-else? Lou On Sun, Jun 7, 2020 at 1:35 PM Bob Bridges wrote: > The only language I can think of off-hand that doesn't require some sort > of END to close a DO (I'm sure there are others) is ISPF. But, in REXX at > least, I neve

Re: COBOL Question

2020-06-07 Thread Bob Bridges
You must have misread me somehow, Mr Mills; I didn't say there's a '!' operator in VBA. You spoke of a '!' operator in C, but I've never heard of that operator in VBA; all I meant is that maybe I should look in VBA for another Boolean operator that is different from NOT as you say '!' is differ

Re: COBOL Question

2020-06-07 Thread Charles Mills
You could not be more correct. You wrote NOT and I translated that in my head to the exclamation point. (My C is showing.) And yes, absolutely, as you say, the problem is the merging of logical not and XOR operations. The link below says "NOT -- Called Logical NOT Operator. Used to reverse the

Re: COBOL Question

2020-06-07 Thread Seymour J Metz
There's no XOR mentioned there, confused or otherwise. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Sunday, June 7, 2020 3:52 P

Re: COBOL Question

2020-06-07 Thread Seymour J Metz
1. ISPF is not a language.If you are referring to panel definition statements, ELSE uses indentation to control scope. Python does the same thing. I don't like it, but it is what it is. 2. SO/END blocks containing only a single statement are useful if you may be adding code in the

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread Seymour J Metz
Well, if I were writing COBOL today I would eschew PERFORm foo THRU bar in favor of more structured constructs. You have a similar problem with assembler; code optimized for one model may run poorly on another. The NASPA magazine was Technical Support. -- Shmuel (Seymour J.) Metz http://mason

Re: COBOL Question

2020-06-07 Thread Steve Thompson
Don’t forget the SKELETON language. Sent from my iPhone — small keyboarf, fat fungrs, stupd spell manglr. Expct mistaks > On Jun 7, 2020, at 4:30 PM, Seymour J Metz wrote: > >  1. ISPF is not a language.If you are referring to panel definition > statements, > ELSE uses indentation to

Re: COBOL Question

2020-06-07 Thread Seymour J Metz
Or DTL. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Steve Thompson [ste...@copper.net] Sent: Sunday, June 7, 2020 4:45 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: C

Re: Gratuitous EXECIO Documentation

2020-06-07 Thread Phil Smith III
Gil: Yeah, of course in "address value" you'd need quotes. I see that as different from what you asserted, though I sure can't defend that! -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists..

Re: Gratuitous EXECIO Documentation

2020-06-07 Thread Seymour J Metz
Wrong again. As with any other expression, quotes are for string literals, not variables, and it is legitimate to use variables either by themselves or as part of a more complex expression, e.g., address value 'FOO'bar -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 __

Re: Gratuitous EXECIO Documentation

2020-06-07 Thread Roger W Suhr
It does, but FOO could be a variable symbol in which case it woud be evaluated ADDRESS ({variable symbol}) Like: FOO ="TSO" ADDRESS (FOO) =>> sets host environment to "TSO" -Original Message- From: IBM Mainframe Discussion List On Behalf Of Phil Smith III Sent: Saturday, June 6, 20

Re: COBOL Question

2020-06-07 Thread Bob Bridges
No, I wasn't complaining about the SELECT statement, only about using lots of DO/statement/ENDs when there's only a single statement. I would code the same thing like this: select when idx="T" then countt=countt+1 when idx="U" then countu=countu+1 when idx="V" then countv=countv+1

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
For brevity, if you don't like DO END. select when idx="T" then countt=countt+1 when idx="U" then countu=countu+1 when idx="V" then countv=countv+1 when idx="W" then countw=countw+1 otherwise countx=countx+1; end Could be : SELECT( idx) when ("T") then countt=coun

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
CA-IDEAL has SELECT FIRST ACTION AND SELECT EVERY ACTION. That I like. On Mon, Jun 8, 2020 at 2:59 PM Wayne Bickerdike wrote: > For brevity, if you don't like DO END. > > select > when idx="T" then countt=countt+1 > when idx="U" then countu=countu+1 > when idx="V" then countv=countv

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
Or to be controversial: tab.T = countt=countT+1 tab.U = countU=countU+1 tab.V = countV=countV+1 tab.W = countW=countW+1 INTERPRET tab.idx On Mon, Jun 8, 2020 at 3:01 PM Wayne Bickerdike wrote: > CA-IDEAL has SELECT FIRST ACTION AND SELECT EVERY ACTION. That I like. > > On Mon, Jun 8, 2020 at 2

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
Forgot the quotes! On Mon, Jun 8, 2020 at 3:07 PM Wayne Bickerdike wrote: > Or to be controversial: > > tab.T = countt=countT+1 > tab.U = countU=countU+1 > tab.V = countV=countV+1 > tab.W = countW=countW+1 > > INTERPRET tab.idx > > On Mon, Jun 8, 2020 at 3:01 PM Wayne Bickerdike wrote: > >> CA-

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
/* REXX */ COUNTT = 0 COUNTU = 0 COUNTV = 0 COUNTW = 0 TAB.T = "COUNTT=COUNTT+1" TAB.U = "COUNTU=COUNTU+1" TAB.V = "COUNTV=COUNTV+1" TAB.W = "COUNTW=COUNTW+1" IDX = 'T' INTERPRET TAB.IDX SAY COUNTT SAY COUNTU SAY COUNTV SAY COUNTW On Mon, Jun 8, 2020 at 3:10 PM Wayne Bickerdike wr

Re: COBOL Question

2020-06-07 Thread Wayne Bickerdike
Results: 1 0 0 0 *** On Mon, Jun 8, 2020 at 4:06 PM Wayne Bickerdike wrote: > /* REXX */ > COUNTT = 0 > COUNTU = 0 > COUNTV = 0 > COUNTW = 0 > TAB.T = "COUNTT=COUNTT+1" > TAB.U = "COUNTU=COUNTU+1" > TAB.V = "COUNTV=COUNTV+1" > TAB.W = "COUNTW=COUNTW+1" > IDX = 'T' > > INTERPRET TAB.I

Re: Goto Statements (was: COBOL Question)

2020-06-07 Thread David Crayford
On 2020-06-07 10:48 PM, Paul Gilmartin wrote: I consider the out of line PERFORM to be far more dangerous. I have a similar issue with REXX; it does not have lexical scope, and you can fall into a procedure. A noteworthy 1976 paper (behind a paywall): Software malpractice — a distasteful