Alan,
Sadly, IBM mainframe VS-COBOL and IBM_i COBOL/400 and ILE COBOL still support the ALTER statement, so you could actually still use it. :-o (But, don't do that!)
Presumably they supported this because it was part of the ANSI Standard COBOL at the levels of the language that iBM supports.
AFAIK, most shops "banned" the use of the ALTER statement in COBOL years ago, as a "hazard" and "maintenance nightmare."
Cheers,
Mark S. Waterbury
On Saturday, November 7, 2020, 1:24:52 PM EST, Alan Shore via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:
THAT was it
Now you’ve done - I had suppressed that memory
Nightmares for me tonight
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Mark Waterbury
Sent: Saturday, November 7, 2020 1:03 PM
To: Alan Shore via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: [EXTERNAL] Re: Learning RPG IV advanced techniques
Alan,
I believe that was the ALTER statement, e.g.:
ALTER LABEL1 TO PROCEED TO LABEL2
This would cause all subsequent uses of "GO TO LABEL2" to go somewhere else. :-o
I think early IBM COBOL also supported that ... as it was part of the ANSI standard COBOL language, IIRC.
Mark S. Waterbury
On Saturday, November 7, 2020, 12:58:08 PM EST, Alan Shore via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:
My first place of programming - many decades ago - was on a UNIVAC 1108 - in COBOL There was a command (I forget the syntax - thank the gods), but THAT changed a paragraph name to a GO TO some other paragraph Hated it from the start as it always gave me conniptions when I was trying to debug a program as this code was NEVER anywhere near the paragraph name it was changing It was in essence a first time through switch When you say that was fun - that phrase NEVER came to mind - even sarcastically
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Joe Pluta
Sent: Saturday, November 7, 2020 12:49 PM
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: [EXTERNAL] Re: Learning RPG IV advanced techniques
I love inaccurately commented code!
As I was reading this, some old brain cells sparked and I remember that there was a specific syntax in EDL, GOTO *, that was INTENDED to be overwritten. You put a label on the statement (MYGOTO: GOTO *) and then you change MYGOTO+2 to be the address where you really wanted to jump.
Oh my yes, that was fun!
On 11/7/2020 11:31 AM, Jon Paris wrote:
The S/36 RPG compiler was written in Assembler and did a lot of on-the-fly code changing. Spent days trying to debug a problem one time only to discover that you should never trust comments! The bit pattern being applied to modify the instruction did not do what the writer said it did!
On Nov 7, 2020, at 12:26 PM, Joe Pluta <joepluta@xxxxxxxxxxxxxxxxx> wrote:
My favorite language is probably still EDL for the Series/1. If you changed *-2, you were actually changing the PROGRAM CODE. That's how we did poor man's recursion. Ah, those were the days.
On 11/6/2020 3:37 PM, James H. H. Lampert wrote:
On 11/6/20 1:05 PM, Alan Campin wrote:
I have been corrected. Pascal and Modula 2 do support pointers.
They are just "type" safe. C and RPG pointers are not type safe.
They can point to anything.
The same is true of PL/I pointers. And of course, pointers in (LISP).
Pointers originated in PL/I. Not only did PL/I (1964) predate C (1972); it also predated B (1969) and BCPL (1967).
--
JHHL
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post
a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our
affiliate link: https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.