From: Jeff H. <Je...@Je...> - 2022-06-23 03:09:42
|
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Mike,</p> <p>Thank you for your great comments and suggestions. I too, a long time ago, used and liked CMS Pipelines (although not loving the notation as much as Rexx's) and when the possibility arose for PC use, I decided I'd add what I could. I have not had CMS access for 30 years now, and never had any of IBM's sources. Ours is all on the basis of the published specifications. Usually they are readable. Occasionally they leave holes open to interpretation, and access to a CMS machine for the definitive answer would be useful.</p> <p>Please read the NetRexx Pipelines documentation on the differences from CMS Pipelines. There are a couple deep, fundamental, unavoidable differences. There are also builtin stages / options in each that will never be appropriate in the other. (And, I like to think, some new NetRexx things that would be useful if implemented in CMS!) <br> </p> <p>All of NetRexx Pipelines, and its stages, is written in NetRexx.</p> <p>In the case of SPECS and adding WS, there is a section of code right now that handles space delimited words, in a (possibly nested) substring. It is surrounding that where I am doing the substitution of SPACEs to a string of characters not in the record (first trying \x00, then \x00 01, \x00 01 02, etc) for SPACEs, then the WSs to SPACEs; and undoing these after the selection. (This also allows a "new extra" in that the WS or FS can now be a multi-character string, rather than be restricted to a single character. I see a real use for this in FSs, for example with PC's end-of-line CRLF pair.) For fields, it is doing the same, but adding a character after the FS's new SPACE so there are no empty fields, as multiple WSs are merged for WORDS, but not FSs. <br> </p> <p>Like several other complex stages, the code here processes all the specified options and on the fly creates a new special purpose stage, in NetRexx, and substitutes it into the pipeline. A little expensive in setup, but much faster for each record. Your time tests on short input files reflects this setup cost. This also makes debugging these stages a real (unsexed) bitch.<br> </p> <p>I think that that logic is solid, but at the moment am having problems getting even the original specs.nrx to compile and run. It has been a couple of years since I've done this stuff.</p> <p>Again, thank you for all.<br> </p> <p>Jeff<br> </p> <div class="moz-cite-prefix">On 6/22/2022 5:33 PM, <a class="moz-txt-link-abbreviated" href="mailto:hp...@we...">hp...@we...</a> wrote:<br> </div> <blockquote type="cite" cite="mid:f77...@we...">Hi Jeff! <br> <br> Am 22.06.2022 um 14:45 schrieb Jeff Hennick: <br> <blockquote type="cite">Mike, I am using, and expanding, your idea/suggestion on changing the spaces to <br> something else that is not already in the record, etc. Thank you! <br> </blockquote> <br> You're welcome. <br> But, before you go for it, may be you should make sure it will not <br> lead to a dead end. Regarding nested 'substring ... of substring <br> ... of substring ... of ...', each optionally with its own fs, I'm <br> not sure if this could be done by masking blanks iteratively. <br> I don't know how you program stages, in assembler or C or REXX? In <br> the last case you could use "mighty parse" very well. <br> Do you have the chance to take a look at John's sources? Highly <br> likely not. Maybe Rob van der Heij could give you a hint. <br> <br> Best, <br> M. <br> <br> <br> _______________________________________________ <br> netrexx-pipelines mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:net...@li...">net...@li...</a> <br> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines">https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines</a> <br> </blockquote> </body> </html> |