¿ªÔÆÌåÓý

BREXX now recursive


 

So I have finished making BREXX reentrant (recursive in fact) by moving all globals into a structure and popping and pushing it onto what I call the context stack.

At least 1 bug remains - but the reason I am posting is that I am having a hard time getting it to call itself.

In fact I cannot get it to call a simple non-rexx EXEC. And calling the other only way works if I specify 'DMSREX prog'.

There is also some bug wrt to the program name being missing when staring DMSREX! Obs I will investigate.

The question to the group is back in the days of VM/370 R6 what was the story / restrictions in calling a program from an EXEC and vice-versa and recursively, and what was CMS Subset mode (or is that a figment of my imagination). In sum, what is the art of the possible so far as the OS is concerned?

Cheers

A


 

So I remembered that you needed to say "EXEC script"? - it then worked a bit!

The bad news is that there is a problem in the way that GCCLIB either reads arguments, or sets them up when calling CMScommand. And it is all is assembler :-( Anyway I will need to fix this - and maybe move logic to C. Maybe it is a logic error, maybe it is just not reentrant (I suspect this strongly).

Questions
- Does anyone care about EPLIST? The PLIST is simpler and we are talking VM/370, I could just rip EPLIST out :-)? Thoughts ????
- Where is the best reference to the PLIST/EPLIST format and calls?

The good news is that is you call a classic EXEC from rexx and that in turn calls a rexx program - well it all seems good, and behaves sanely :-)

Because the argument defect is no worse than what was there before, I have released it all - and is on the latest docker if people want to play.

Adrian


 

On Sun, Mar 1, 2020 at 09:06 PM, adriansutherland67 wrote:
And it is all is assembler :
Please be kind as I ask stupid questions ...