On 16/10/2017 8:41 PM, Ze'ev Atlas wrote:
> Does your routine support those POSIX classes?
>
Yes. It supports anything in the grammar rules
http://www.cplusplus.com/reference/regex/ECMAScript/. It's basically a
C++ program that uses the C++ standard library regex classes. It can
support multiple grammars, ECMAScript, awk, basic POSIX, extended POSIX.
Although I hard coded ECMAScript as it's the most powerful. It didn't
envisage anybody wanting to use basic POSIX grammars.
> Obviously your idea has the advantages that you have mentioned and
> PCRE has the disadvantages in those aspects. The advantage of PCRE is
> being a standard, fully maintained package that is Perl compatible,
> not only EMACS compatible.
>
PCRE is more powerful, it supports recursion. At the time I wrote the
package I hadn't build the PCRE library on z/OS yet. ECMAScript is
pretty close though and is good enough for what I wanted.
> The good news is that now we have choices, your routine and PCRE may
> 'compete'. Choices are always good we are told.
>
Compete for what market. You can count the number of mainframers willing
to try new stuff on one hand. Show them something as complex as regular
expressions and they will throw it straight into the "too hard" basket.
> BTW, for those who have it installed, IBM supply the 'standard' C
> library with the standard POSIX regex functions. Somebody may follow
> our lead and code an API for those. They are POSIX compliant and
> (need some research) may or may not meed LE. If they do not need LE,
> then replacing your code with a very simple API that everybody can
> copy rather than install may solve the installation problem... and the
> client may not complain about using some non-standard code.
>
My package is a C++ program with assembler "glue" code for the CEEPIPI
bridge. The CEEPIPI bridge is the "secret sauce". I used a PEG based
parser framework from the boost C++ libraries. It's very little code but
it is very quick due to the bridging. The overhead is parsing not in
creating LE environments like a lot of REXX APIs I've seen.
> David, do you want to look into that option or should I?
I'm not planning on spending any time on this. I wrote my package years
ago when I was using REXX. I figured that by using CEEPIPI I could write
"better" APIs than those shipped with TSO. For example, using the C
stdio fopen() and friends I could replace the likes of "EXECIO" with a
package that could handle VSAM and UNIX files and run significantly
quicker. But then I stumbled across Lua and abandoned REXX.
>
> Ze'ev Atlas
>
> Sent from Yahoo Mail on Android
> <
https://overview.mail.yahoo.com/mobile/?.src=Android>
> <
https://github.com/daveyc/RTK.%20>It supports ECMAScript regex
> syntax
> > (C++11) which is close to PCRE but not identical. It's fast too
> as it
> > doesn't have the function call overhead of establishing an LE
> > environment on every call like other APIs. ECMAScript doesn't
> support
> > POSIX [:digit:] expressions, instead it uses /d which is far less
> > verbose. I posted it on here at the time but nobody was interested
> > which may be due to Bob's issue of having to install it at customer
> > sites but probably due to the lack of interest for regexes for
> TSO REXX.
> >
> >
> > On 13/10/2017 11:26 PM, Bob Bridges wrote:
> >> I used to venture gingerly into regular expressions, say once a
> year
> >> at most, when writing routines in VBA. But a couple of years
> ago I
> >> spent a tumultuous 18 months writing Excel spreadsheets for a bank
> >> RBAC project, and finally learned to employ them routinely.
> I'd be
> >> delighted to have the same thing in TSO-REXX. But I'm a
> contractor,
> >> flitting from client to client, so I'm unlikely to have access to
> >> such a package until it's part of the standard language.
> >>
> >> ooREXX has regular expressions? That's one more reason for me to
> >> download it. Maybe it'll tip the balance.
> >>
> >> ---
> >> Bob Bridges, cell
336 382-7313
> >>
robhb...@gmail.com <mailto:
robhb...@gmail.com>
> >> rbri...@InfoSecInc.com <mailto:
rbri...@InfoSecInc.com>
> ----------------------------------------------------------------------
> >> For TSO-REXX subscribe / signoff / archive access instructions,
> >> send email to
LIST...@VM.MARIST.EDU
> <mailto:
LIST...@VM.MARIST.EDU> with the message: INFO TSO-REXX
> >
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to
LIST...@VM.MARIST.EDU
> <mailto:
LIST...@VM.MARIST.EDU> with the message: INFO TSO-REXX