On 26/4/23 21:27, Rick Troth wrote:
I suggest that you consider porting Regina to z/OS, which is highly
portable and easy to do. I have personally done it and even have a
patch file somewhere. Currently, it's compiled in ASCII mode, but it
can also support EBCDIC with some modifications to the lex lexer and
YACC parser. Keep in mind that z/OS REXX programming services are
mainly designed for HLASM and not HLL's. The best way to achieve good
performance is by creating a subcommand processor using CEEPIPI to
set up a pre-initialized LE environment and writing simple HLASM glue
code. Although I've done this before, it requires a lot of work and
is quite tedious just to use REXX https://github.com/daveyc/RTK.
I did some glue code for CMS once or twice to call C from Rexx. The
hardest part in that context (similar for MVS) is ensuring that LE is
instantiated. (And CEEPIPI is one way to do that, evidently. Good
suggestion.)
Calling Rexx from C or assembler (in CMS) is almost trivial.
I wonder if you could get your Regina fix into the collection at
https://github.com/ZOSOpenTools/?
I'm not sure about that! That would obligate me to support it which I no
intention of doing :) I only use REXX when I have to so I don't want to
be stuck supporting a port I don't use.
In any case, your patch is interesting. I didn't see it under
https://github.com/daveyc/. Do share!
I'll fork the repo and then push up my changesĀ on a zos branch and post
here. I'm will be turning issues off!!
I have to say that Regina REXX is quite good compared to z/OS REXX. Of
course, it doesn't have the TSO/ISPF integrations but it does come with
a utilities library with extra features such as copying/sorting stem
variables etc. It also ships with a "rxstack" daemon which can be used
for IPC. There are also extensions for associated arrays which can be
passed to functions unlike stem variables. It's 3x faster then z/OS
REXX, although that doesn't surprise me! As you mentioned, it's dirt
easy to extend with C so it would be trivial to write a package that
supports MVS data set I/O similar to my pyzfile Python package or sorted
sets, algorithms etc.
The project in this case is the message handler that I mentioned a few
weeks ago: works like CMS 'XMITMSG'. It includes an 'xmitmsg' command,
so could be called as a command, but seemed right to make it a
function too.
I'll include the Regina interface on GitHub "soon".
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN