You can subscribe to this list here.
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2020 |
Jan
|
Feb
|
Mar
(4) |
Apr
(3) |
May
(6) |
Jun
(7) |
Jul
(10) |
Aug
(9) |
Sep
(9) |
Oct
(1) |
Nov
(3) |
Dec
(5) |
2021 |
Jan
|
Feb
(1) |
Mar
(5) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(9) |
Nov
(1) |
Dec
(14) |
2022 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(165) |
Jul
(8) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(5) |
2023 |
Jan
(19) |
Feb
(14) |
Mar
(2) |
Apr
(3) |
May
|
Jun
(2) |
Jul
(10) |
Aug
(6) |
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
(10) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: J L. T. <jlt...@ma...> - 2022-06-25 08:07:31
|
In fact, most computer languages are written to be easily processed by a parser; user-friendliness is secondary to that. Leslie On 2022-06-24 18:30:44 hp...@we... wrote: > > Rexx is specifically designed for human reading. > > Reading only? ;) > BTW, at first glance it seemed to me a poor joke, "NetREXX is a > human-oriented programming language", found in the introduction of > the QuickStart Guide. Are not all programming languages made for > humans? Are there some for dogs? Pavlov’s dog? Or is there a > mistake in my translation? Maybe yes, since "C is a > machine-oriented programming language" doesn't mean, machines will > do programs in C. > (BTW, said this, when somebody states, "REXX is the new C", it > could be understood as distinct critic that it once /was/ a > human-oriented programming language.) -- Operating System: Linux Distribution: openSUSE Leap 15.4 x86_64 java version "18" 2022-03-22 NetRexx portable processor 4.03-GA build 260-20220503-1730 |
From: <hp...@we...> - 2022-06-25 00:48:30
|
Hello Jeff! Am 23.06.2022 um 18:02 schrieb Jeff Hennick: > I too am and have been in the user/hobbyist category. I took a very early > retirement during a reduction in force, about 30 years ago. 3 decades is a almost half a life time. But after all those years you are still convinced CMS Pipelines are missing on PCs. Me also. > [...] > An example of what I mean by Rexxifying Pipelines, with your example, is in Rexx > statements end with ";" *or* an end of line. Pipelines could use the same > flexibility with stage separators. Hmm..., when I look at the example in chapter 3.5 'Compiled from an .njp file', there are still stage separators. A new line could imply it like REXX adds self-acting the ";" to end the clause. > NetRexx Pipelines at least don't need all > those quotes and commas (but doesn't support the comments; I had to add a > COMMENT stage, "--", which is not so flexible). Well, why only "--" as 'begin comment', why not also "/* .. */" bracketing style comments? I assume you use a pipe filter to sort out all 'only human related' content the compiler could disturb. > Rexx is specifically designed for human reading. Reading only? ;) BTW, at first glance it seemed to me a poor joke, "NetREXX is a human-oriented programming language", found in the introduction of the QuickStart Guide. Are not all programming languages made for humans? Are there some for dogs? Pavlov’s dog? Or is there a mistake in my translation? Maybe yes, since "C is a machine-oriented programming language" doesn't mean, machines will do programs in C. (BTW, said this, when somebody states, "REXX is the new C", it could be understood as distinct critic that it once /was/ a human-oriented programming language.) > Pipeline stage options could use some more, optional, "fluff > words," that would limit the need for external comments/documentation. I'm not convinced. The designation of stages is (up to now) derived from their function, for example 'juxtapose' -- but that is not sufficing to describe _why_ it is needed at this spot of the pipeline. "Fluffy stage names" will lead to fuzzy pipelines, nobody can fathom, after few month not even the author. Even inline comments are unable to give a 'big picture' about the used method. You think, 'fluffy words" could cure this: > /* setup a lasting lookup for XFN */ > "ADDSTREAM both xfn" /* add streams for in and out */ > "ADDPIPE (end ?) *.out.xfn:", /* link to output of this REXX */ > '!a:lookup w1 f3 master', /* lookup in table */ > '! substr f4', /* return designation only */ > '!b:faninany', /* get unknown XF too */ > '!*.in.xfn:', /* feed back in to this REXX */ > '? < 71EXT FUNCTS', /* read xFn list */ > '!a:', /* to LOOKUP */ > '! fblock 2', /* separate LEX-ID and Fnc# */ > '! insert /00/', /* ensure unsigned conversion */ > '! spec pad 0 w1 x2d 1.3 r', /* convert to dec */ > '! join /;/', /* string together */ > '! strip leading /0/', /* not my idea */ > '! insert /XFN{/', /* mark as unknown external fn */ > '! insert /}/ after', /* nice :D */ > '!b:' /* to FANINANY */ In addition, I detest programming languages with a vast set of keywords, which all do almost the same. I'd prefer less commands but more options to modify its behaviour, like 'unique' with first/last/multiple/pairwise/single. Best, M. Attached another example you may translate to "Fluffish" if you like to convince me. |
From: Jeff H. <Je...@Je...> - 2022-06-23 16:02:45
|
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Mike,</p> <p>I too am and have been in the user/hobbyist category. I took a very early retirement during a reduction in force, about 30 years ago. Before that I was a CMS user for my primary job. (Although that did eventually involve designing and implementing what evolved into a full hypertext publication system in Rexx (and later with Pipelines) 5 to 10 years earlier than WWW -- mid '80s. The "browser" and the authoring used XEDIT with screens that looked and felt like the PROFS email that my users were already familiar with.) (The "pros" were astonished to find my Pipeline could read, process, and write a large file in less time than their hand tuned assembly program could read it.)<br> </p> <p>An example of what I mean by Rexxifying Pipelines, with your example, is in Rexx statements end with ";" <b>or</b> an end of line. Pipelines could use the same flexibility with stage separators. NetRexx Pipelines at least don't need all those quotes and commas (but doesn't support the comments; I had to add a COMMENT stage, "--", which is not so flexible). Rexx is specifically designed for human reading. Pipeline stage options could use some more, optional, "fluff words," that would limit the need for external comments/documentation.</p> <p>All this is while I am procrastinating in trying to get the SPECS and UNIQUE stages to compile and run in my test environment.</p> <p>Jeff<br> </p> <div class="moz-cite-prefix">On 6/23/2022 8:09 AM, <a class="moz-txt-link-abbreviated" href="mailto:hp...@we...">hp...@we...</a> wrote:<br> </div> <blockquote type="cite" cite="mid:760...@we...">Hi Jeff! <br> <br> Am 23.06.2022 um 05:09 schrieb Jeff Hennick: <br> <blockquote type="cite">Thank you for your great comments and suggestions. <br> </blockquote> <br> No problem, but please keep in mind, I'm a hobbyist, not a pro. <br> Thus my suggestions are biased rather by know-how than know-why. <br> <br> <blockquote type="cite">I too, a long time ago, <br> used and liked CMS Pipelines (although not loving the notation as much as <br> Rexx's) <br> </blockquote> <br> Here an example from "the Book" that looks nifty, methinks: <br> <br> <blockquote type="cite">/* Count number of logged-in users */ <br> signal on novalue <br> address command /* Send commands ... */ <br> 'PIPE', /* ... directly to COMMAND */ <br> 'cp q n|', /* Perform QUERY */ <br> 'cnctd|', /* Find connected users */ <br> 'count lines|', /* Count them */ <br> 'spec /There are/ 1', /* Literal field */ <br> '*-* nextword', /* The input number */ <br> '/users connected./ nextw|', /* More literal */ <br> 'cons' /* Display */ <br> </blockquote> <br> Matter of taste. (les goûts et les couleurs ne se discutent pas.) <br> <br> <blockquote type="cite">and when the possibility arose for PC use, I decided I'd add what I <br> could. I have not had CMS access for 30 years now, and never had any of IBM's <br> sources. Ours is all on the basis of the published specifications. Usually they <br> are readable. Occasionally they leave holes open to interpretation, and access <br> to a CMS machine for the definitive answer would be useful. <br> </blockquote> <br> Do you know Hercules? <a class="moz-txt-link-freetext" href="http://www.hercules-390.eu/">http://www.hercules-390.eu/</a> <br> Dated, but works well for old pipes ;) <br> <br> <blockquote type="cite">Please read the NetRexx Pipelines documentation on the differences from CMS <br> Pipelines. There are a couple deep, fundamental, unavoidable differences. <br> </blockquote> <br> I have to confess, up to now I only regarded the table of <br> differences. The notes on the first page of chapter 20 I read just <br> now for the first time. (Only a word about the last point, "To put <br> the content of a NetREXX variable in a pipe...", it depends on the <br> variables function, does it add a /variable/ part of the pipeline <br> the scanner must process, or is it source content to the pipeline. <br> In this case the canonical way is to use the var stage so the <br> scanner is not tempted to interpret it.) <br> <br> <blockquote type="cite">There are also builtin stages / options in each that will never be appropriate <br> in the other. (And, I like to think, some new NetRexx things that would be <br> useful if implemented in CMS!) <br> </blockquote> <br> I am almost uninformed about progress of the role model, my <br> [CMS-PIPELINES] folder shows > 1k unread, because most is about <br> changes out of reach for me. <br> <br> <blockquote type="cite">[...] <br> </blockquote> <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> |
From: <hp...@we...> - 2022-06-23 13:09:45
|
René! Am 23.06.2022 um 10:57 schrieb René Jansen: > Well, let me strike that remark from the proceedings. Done. Halfway afore already. You probably noticed by the way I asked that I was not convinced. > It was a rather loose comment, based in the fact that on CMS and TSO you know there are records (F/V) because these are a part of data set organisation and access methods. With stream oriented file I/O there is a change that you mistake delimited strings for records. This most of the time is my own mistake (cr/cr/lf, tabs etc) and requires me to delimit and split. Ok, now I understand. This requires a 'deblock', not a 'sometimes split if needed', which I left out as too cynical suggestion, my questions had been ironical enough. But it leads to the issue of handling binary data in Pipelines which define records by content. Just two days ago I gave up to transfer binary content from an ooRexx variable to a NetRexx Pipe by address '' ... with ... -- assuming it could be an ooRexx-specific issue. My question was, how to get 'get' reading files binary. > I think restraint is always a good thing, except in fighting evil. LOL! Killing killers kills killing? > In this case, I think your scepticism should not be based on imprecise statements from my side. Your statement was not imprecise, it was the 'split' instead of 'deblock' that "framed" it unintelligible for me. Best, M. |
From: <hp...@we...> - 2022-06-23 13:09:45
|
Hi Jeff! Am 23.06.2022 um 05:09 schrieb Jeff Hennick: > Thank you for your great comments and suggestions. No problem, but please keep in mind, I'm a hobbyist, not a pro. Thus my suggestions are biased rather by know-how than know-why. > I too, a long time ago, > used and liked CMS Pipelines (although not loving the notation as much as > Rexx's) Here an example from "the Book" that looks nifty, methinks: > /* Count number of logged-in users */ > signal on novalue > address command /* Send commands ... */ > 'PIPE', /* ... directly to COMMAND */ > 'cp q n|', /* Perform QUERY */ > 'cnctd|', /* Find connected users */ > 'count lines|', /* Count them */ > 'spec /There are/ 1', /* Literal field */ > '*-* nextword', /* The input number */ > '/users connected./ nextw|', /* More literal */ > 'cons' /* Display */ Matter of taste. (les goûts et les couleurs ne se discutent pas.) > 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. Do you know Hercules? http://www.hercules-390.eu/ Dated, but works well for old pipes ;) > Please read the NetRexx Pipelines documentation on the differences from CMS > Pipelines. There are a couple deep, fundamental, unavoidable differences. I have to confess, up to now I only regarded the table of differences. The notes on the first page of chapter 20 I read just now for the first time. (Only a word about the last point, "To put the content of a NetREXX variable in a pipe...", it depends on the variables function, does it add a /variable/ part of the pipeline the scanner must process, or is it source content to the pipeline. In this case the canonical way is to use the var stage so the scanner is not tempted to interpret it.) > 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!) I am almost uninformed about progress of the role model, my [CMS-PIPELINES] folder shows > 1k unread, because most is about changes out of reach for me. > [...] Best, M. |
From: René J. <rvj...@xs...> - 2022-06-23 08:58:02
|
Well, let me strike that remark from the proceedings. It was a rather loose comment, based in the fact that on CMS and TSO you know there are records (F/V) because these are a part of data set organisation and access methods. With stream oriented file I/O there is a change that you mistake delimited strings for records. This most of the time is my own mistake (cr/cr/lf, tabs etc) and requires me to delimit and split. I think restraint is always a good thing, except in fighting evil. In this case, I think your scepticism should not be based on imprecise statements from my side. Probably Jeff already has pointed to the real cause of your problem. Keep sending them in! René > On 23 Jun 2022, at 09:20, hp...@we... wrote: > >> >> a general problem is that sometimes you must inset a ’split’ into the pipeline because on other platforms than CMS a ‘record’ is less strictly defined. > > Could you please be so kind an define 'sometimes' in this respect. > Are there well-defined indicators when or where a 'split' is > required? What are the reasons records get concatenated (two or > more?) or not discerned as single records? Your 'insert a split > sometimes' makes me very sceptical, if on platforms other than CMS > we better restrain using Pipelines at all. |
From: René J. <rvj...@xs...> - 2022-06-23 07:44:55
|
Hi Leslie, Ah I see - no, that was unrelated to SMF, it had to do with filtering the RSS feed from the ooRexx builds. But thank you for the pointer, I wondered already if I could take pieces off of the end without all this reversing. René. > On 22 Jun 2022, at 22:17, J Leslie Turriff <jlt...@ma...> wrote: > > Jeff, > In a post to oor...@li..., René provided a sample pipeline to > process z/OS SMF records using the nrx specs stage. I thought you might like to be aware > of another feature of the CMS specs stage that could be incorporated into nrx specs, so > I'm sending it to you as well. > ----------- > René > I see that in this pipeline you use reverse with specs to trim trailing parts of your > records. I understand that the nrx specs stage does not yet completely emulate the CMS > specs stage, but I hope that as it is improved it will fully support CMS-type inputRange > notation. > In CMS/TSO Pipelines, Author's Edition, pp. 165, 166 we see that > | "An inputRange can contain a negative number; this specifies that the count is from the > | end of the record rather than from the beginning: > | word -2 1 > | The general form of a range consists of two numbers separated a semicolon. Thus, there > | is a third idiom to refer to the entire record: 1;-1. When both numbers are positive, > | there is no difference between using semicolon and using a hyphen to delimit the > numbers. When the two numbers have the same sign, the first number must be less than or > equal to the second one; it is an error to specify an ending column that is before the > beginning one. (Recall that -2 is less than -1.) When the numbers have different signs, > a null input field is used when the beginning position is after the end position: > | word 2;-2 1 > > Thus, your pipeline could eventually use > | : > | | specs 7;-2 1 > | : > | | specs 77;-10 1 > | : > > Leslie > > On 2022-06-22 07:45:43 Jeff Hennick wrote: >> I am in the process of adding FIELDS (and an enhanced FS/WS) to SPECS. >> Currently having problems remembering how to get the stage to work in my >> testing. Mike, I am using, and expanding, your idea/suggestion on changing >> the spaces to something else that is not already in the record, etc. Thank >> you! Jeff Hennick > -- > Operating System: Linux > Distribution: openSUSE Leap 15.4 x86_64 > java version "18" 2022-03-22 > NetRexx portable processor 4.03-GA build 260-20220503-1730 > > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines |
From: <hp...@we...> - 2022-06-23 07:20:41
|
Hi René! Mail bounced, 550 Blacklisted file extension detected. Therefore again w/o ZIP__._ Am 22.06.2022 um 14:43 schrieb René Jansen: > I cannot really see what is in front of this; In front of it is a 'sort w2'. Purposefully I do not use sort with the keyword 'uniq', I'd like to see all members of a set of duplicates. But, independently of what is in front of it, a record count of 1 (in words: one) after 'unique mult' is an error. > a general problem is that sometimes you must inset a ’split’ into the pipeline because on other platforms than CMS a ‘record’ is less strictly defined. Could you please be so kind an define 'sometimes' in this respect. Are there well-defined indicators when or where a 'split' is required? What are the reasons records get concatenated (two or more?) or not discerned as single records? Your 'insert a split sometimes' makes me very sceptical, if on platforms other than CMS we better restrain using Pipelines at all. If you are nosy what else is in front of it, here the complete pipe: > address '' ripe '"(MkR_2 sep ! end ?) < FILES.XROM!change /;/ x20', > '!a: lookup w1 w2 detail!b: fanout', > '! spec /XROM/ 1 w2-* nw!c: fanin!term', > '? < MkROM.41ROMS.txt!fromlabel PAGE!drop!nfind *!a:', > '?b:!locate w2 /,00/!sort w2!unique w2 mult!term!count lines!c:', > with output stem xrom. Originally the 'term' after 'unique w2 mult' was meant to show on the screen all the interferences. No chance when run from ooRexx, remains task of the annoying post-processing. (Just in case your are still nosy, find the input files and an excerpt of my program in attached ZIP.) -- Sorry, no ZIP due to "550 Blacklisted file extension." Best, M. >> On 21 Jun 2022, at 09:56, ((I)) wrote: >> >> Hi! >> >> Sorry, could not resist and tried to migrate another program, less >> pipelines, no GUI, much simpler. >> >>> ... !unique w2 mult!count lines! ... >> >> returns 1. I expected either 0 or 2 and above, but for sure not 1. >> >> Best, >> M. >> >> >> _______________________________________________ >> netrexx-pipelines mailing list >> net...@li... >> https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines > > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines |
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> |
From: Jeff H. <Je...@Je...> - 2022-06-23 02:20:25
|
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Leslie,</p> <p>Thanks for your continuing input.</p> <p>I think we already cover this. These are among the tests it passes now (specs_tests5.njp & specs_tests6.njp):</p> <p>-- specs "-x;-y" range ?<br> -- specs "x.y" range ?<br> -- specs "-x.y" range ?<br> -- specs "-x.y" range ?<br> -- specs "x" range ?<br> -- specs "-x" range ?<br> </p> <p>-- specs "w-x;-y" range ?<br> -- specs "w x.y" range ?<br> -- specs "w -x.y" range ?<br> -- specs "w -x.y (last)" range ?<br> -- specs "w x" range ?<br> -- specs "w -x" range ?<br> </p> <p>Are there some combinations that I have missed? <br> </p> <p>When fields are recognized, the same logic and selectors will apply. (I am working on temporarily adding a character into each field turning it into a bounded "word" even if it is empty, doing the selection, then removing the character. This permits using Rexx's wonderful word handling for fields.)</p> <p>Please keep the comments and observations coming. I have little real world tests to work with, and no access now to CMS for where the documentation leaves some holes to interpret. Thank you.<br> </p> <p>Jeff<br> </p> <div class="moz-cite-prefix">On 6/22/2022 4:17 PM, J Leslie Turriff wrote:<br> </div> <blockquote type="cite" cite="mid:202...@ma..."> <pre class="moz-quote-pre" wrap="">Jeff, In a post to <a class="moz-txt-link-abbreviated" href="mailto:oor...@li...">oor...@li...</a>, René provided a sample pipeline to process z/OS SMF records using the nrx specs stage. I thought you might like to be aware of another feature of the CMS specs stage that could be incorporated into nrx specs, so I'm sending it to you as well. ----------- René I see that in this pipeline you use reverse with specs to trim trailing parts of your records. I understand that the nrx specs stage does not yet completely emulate the CMS specs stage, but I hope that as it is improved it will fully support CMS-type inputRange notation. In CMS/TSO Pipelines, Author's Edition, pp. 165, 166 we see that | "An inputRange can contain a negative number; this specifies that the count is from the | end of the record rather than from the beginning: | word -2 1 | The general form of a range consists of two numbers separated a semicolon. Thus, there | is a third idiom to refer to the entire record: 1;-1. When both numbers are positive, | there is no difference between using semicolon and using a hyphen to delimit the numbers. When the two numbers have the same sign, the first number must be less than or equal to the second one; it is an error to specify an ending column that is before the beginning one. (Recall that -2 is less than -1.) When the numbers have different signs, a null input field is used when the beginning position is after the end position: | word 2;-2 1 Thus, your pipeline could eventually use | : | | specs 7;-2 1 | : | | specs 77;-10 1 | : Leslie On 2022-06-22 07:45:43 Jeff Hennick wrote: </pre> <blockquote type="cite"> <pre class="moz-quote-pre" wrap="">I am in the process of adding FIELDS (and an enhanced FS/WS) to SPECS. Currently having problems remembering how to get the stage to work in my testing. Mike, I am using, and expanding, your idea/suggestion on changing the spaces to something else that is not already in the record, etc. Thank you! Jeff Hennick </pre> </blockquote> </blockquote> </body> </html> |
From: J L. T. <jlt...@ma...> - 2022-06-23 00:32:26
|
Jeff, In a post to oor...@li..., René provided a sample pipeline to process z/OS SMF records using the nrx specs stage. I thought you might like to be aware of another feature of the CMS specs stage that could be incorporated into nrx specs, so I'm sending it to you as well. ----------- René I see that in this pipeline you use reverse with specs to trim trailing parts of your records. I understand that the nrx specs stage does not yet completely emulate the CMS specs stage, but I hope that as it is improved it will fully support CMS-type inputRange notation. In CMS/TSO Pipelines, Author's Edition, pp. 165, 166 we see that | "An inputRange can contain a negative number; this specifies that the count is from the | end of the record rather than from the beginning: | word -2 1 | The general form of a range consists of two numbers separated a semicolon. Thus, there | is a third idiom to refer to the entire record: 1;-1. When both numbers are positive, | there is no difference between using semicolon and using a hyphen to delimit the numbers. When the two numbers have the same sign, the first number must be less than or equal to the second one; it is an error to specify an ending column that is before the beginning one. (Recall that -2 is less than -1.) When the numbers have different signs, a null input field is used when the beginning position is after the end position: | word 2;-2 1 Thus, your pipeline could eventually use | : | | specs 7;-2 1 | : | | specs 77;-10 1 | : Leslie On 2022-06-22 07:45:43 Jeff Hennick wrote: > I am in the process of adding FIELDS (and an enhanced FS/WS) to SPECS. > Currently having problems remembering how to get the stage to work in my > testing. Mike, I am using, and expanding, your idea/suggestion on changing > the spaces to something else that is not already in the record, etc. Thank > you! Jeff Hennick -- Operating System: Linux Distribution: openSUSE Leap 15.4 x86_64 java version "18" 2022-03-22 NetRexx portable processor 4.03-GA build 260-20220503-1730 |
From: <hp...@we...> - 2022-06-22 23:17:27
|
Hi Jeff! Am 22.06.2022 um 14:45 schrieb Jeff Hennick: > Mike, I am using, and expanding, your idea/suggestion on changing the spaces to > something else that is not already in the record, etc. Thank you! You're welcome. But, before you go for it, may be you should make sure it will not lead to a dead end. Regarding nested 'substring ... of substring ... of substring ... of ...', each optionally with its own fs, I'm not sure if this could be done by masking blanks iteratively. I don't know how you program stages, in assembler or C or REXX? In the last case you could use "mighty parse" very well. Do you have the chance to take a look at John's sources? Highly likely not. Maybe Rob van der Heij could give you a hint. Best, M. |
From: <hp...@we...> - 2022-06-22 23:17:23
|
Hi René! Am 22.06.2022 um 14:40 schrieb René Jansen: > This would be explained by the CMS Pipelines manual, in SPECS. It is the same error. Well, youngest "paper" accessible for me is the author's edition at http://vm.marist.edu/%7Epipeline from 2010 -- much too old to serve as reference. This is why I assume you are for sure more up-to-date about CMS Pipelines than me. Best, M. |
From: <hp...@we...> - 2022-06-22 23:17:20
|
Hi René! Thank you for this hint. Found there was (once upon a time) a JAR.EXE, today no more. NetRexx Programming Guide describes ANT in chapter 7 and Eclipse in chapter 29. Still some time left before I have to decide what to use. Best, M. Am 22.06.2022 um 14:55 schrieb René Jansen: > Yes, that is what you normally would do with a lot of .class files: put them into a .jar file, which is added to CLASSPATH. All classes can be found in this one file. > > René. > >> On 18 Jun 2022, at 09:56, hp...@we... wrote: >> >> it the yet available ooRexx routine? >> ii) Is it possible to keep all pre-compiled pipes in one file, >> comparable to a Loadlib? Otherwise there would be for each and >> every pipe of a program an extra .class file. My objective is >> typically to keep the number of files as low as possible. > > > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines |
From: J L. T. <jlt...@ma...> - 2022-06-22 15:25:41
|
I'm afraid my lack of Java knowledge is getting in the way here. Do these jars work as standalone packages, independent of the rest of the files packaged in e.g. 4.03-GA? Leslie On 2022-06-21 02:12:15 René Jansen wrote: > It should be absolutely safe to use only one of the jars. > > René. > > > On 20 Jun 2022, at 23:37, J Leslie Turriff <jlt...@ma...> wrote: > > > > Is it safe to drop these jars into my 4.03-GA packages, or should I > > download the whole of 4.04-ALPHA? > > > > Leslie -- |
From: Jeff H. <jb...@gm...> - 2022-06-22 14:11:54
|
This seems to be a difference in the way 'unique multi' works between CMS and NetRexx. NetRexx: nrws> pipe literal a b b c | split | unique w1 mult | cons b nrws> CMS: Ready; T=0.01/0.01 09:58:19 pipe literal a b b c | split | unique w1 mult | cons b b Ready; T=0.01/0.01 09:59:17 CMS seems to pass all of the duplicate records, while NetRexx is only passing one. On Wed, Jun 22, 2022 at 8:43 AM René Jansen <rvj...@xs...> wrote: > I cannot really see what is in front of this; a general problem is that > sometimes you must inset a ’split’ into the pipeline because on other > platforms than CMS a ‘record’ is less strictly defined. > > René. > > > On 21 Jun 2022, at 09:56, hp...@we... wrote: > > > > Hi! > > > > Sorry, could not resist and tried to migrate another program, less > > pipelines, no GUI, much simpler. > > > >> ... !unique w2 mult!count lines! ... > > > > returns 1. I expected either 0 or 2 and above, but for sure not 1. > > > > Best, > > M. > > > > > > _______________________________________________ > > netrexx-pipelines mailing list > > net...@li... > > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines > > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines > -- Jeff Henry |
From: René J. <rvj...@xs...> - 2022-06-22 12:55:54
|
Yes, that is what you normally would do with a lot of .class files: put them into a .jar file, which is added to CLASSPATH. All classes can be found in this one file. René. > On 18 Jun 2022, at 09:56, hp...@we... wrote: > > it the yet available ooRexx routine? > ii) Is it possible to keep all pre-compiled pipes in one file, > comparable to a Loadlib? Otherwise there would be for each and > every pipe of a program an extra .class file. My objective is > typically to keep the number of files as low as possible. |
From: René J. <rvj...@xs...> - 2022-06-22 12:52:33
|
> On 22 Jun 2022, at 11:00, hp...@we... wrote: > > Like some more? > >> D:\PRGM\NetRexx\examples\MkROM>nrws >> Workspace for NetRexx 4.04 build 272-20220524-1803 >> Copyright (c) Martin Lafaix 2000 >> Copyright (c) parts RexxLA 2019,2021 >> pipelines processor loaded >> Ready; pipe (sep !) literal abc!dup 5!a: count lines!term?a:!insert /Count: /!term 1.921 s >> 56 +++ _s_2 = a:!insert() >> +++ ^ >> +++ Error: Unexpected character found in source: ':' (hexadecimal encoding: 003A) > > The problem might be the sep option. > There might be a need to have spaces around the separator. These a: connectors work, as is proven by the examples. But here, it is probably the sep option. Until this is debugged, it is safe to say to not use pipe names or options in nrws. > === > Now a "real world example" -- one pipe, two issues: > >> address '' ripe '"(MkR_5 sep !) cons!reverse!fblock 1!', >> 'xlate 1 00-FF 3A 20-3F 20-3F 40-5F 00-1f 60-66 40-46!', >> 'spec 1 c2d!term', >> with input using (modid) output stem ronam. > > With modid = 'C PPC 1981' the output is ronam.0 = 10 and ronam.1 > .. 10 is void, empty, zilch. In contrast to CMS Pipelines the spec > stage requires "the position of the field in the output record." > > Thus using 'spec 1 c2d 1' -- first issue solved, next please! -- > the output ronam.1 .. 10 is now 32, or blank in other words. In > contrast I expected 49, 56, 57, 49, 32, 3, 16, 16, 32, 3. > Seems Xlate fails. > > === I will log this issue to look at later. > > Question: Is it possible to transfer arguments to compiled NetRexx > pipelines? > Example: i and fx are integers > 0 > >> address '' ripe '"(MkR_s1 sep !) cons', /* connect to input */ >> '!drop' i, /* from not possible */ >> '!take' fx, /* take n bytes */ >> '!spec w1 x2c 1', /* convert to characters */ >> '!join *', /* make it one line */ >> '!term', /* keep result */ >> with input stem prgm. output stem pt2. > > Compiling corresponding .njp shows no error, alas execution fails. > This should work, but I logged an issue. Best regards, René. > Best, > M. > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines Best regards, René. |
From: Jeff H. <Je...@Je...> - 2022-06-22 12:46:03
|
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>I am in the process of adding FIELDS (and an enhanced FS/WS) to SPECS.</p> <p>Currently having problems remembering how to get the stage to work in my testing.</p> <p>Mike, I am using, and expanding, your idea/suggestion on changing the spaces to something else that is not already in the record, etc. Thank you!</p> <p>Jeff Hennick<br> </p> <div class="moz-cite-prefix">On 6/22/2022 8:40 AM, René Jansen wrote:<br> </div> <blockquote type="cite" cite="mid:8CC...@xs..."> <pre class="moz-quote-pre" wrap="">This would be explained by the CMS Pipelines manual, in SPECS. It is the same error. </pre> <blockquote type="cite"> <pre class="moz-quote-pre" wrap="">On 19 Jun 2022, at 02:45, <a class="moz-txt-link-abbreviated" href="mailto:hp...@we...">hp...@we...</a> wrote: Am 16.06.2022 um 00:02 schrieb ((ich)): </pre> <blockquote type="cite"> <pre class="moz-quote-pre" wrap="">Error (specs) - pd673a59 - Missing data selector at field2 </pre> </blockquote> <pre class="moz-quote-pre" wrap=""> </pre> <blockquote type="cite"> <pre class="moz-quote-pre" wrap="">Roaring silence of NetRexx 4.03 Pipelines Guide and Reference regarding 'data selector'. </pre> </blockquote> <pre class="moz-quote-pre" wrap=""> Still nothing found what explains a. m. error message. But: "CMS only. Not yet implemented in NetRexx Pipelines" for 'FIELDSEparator' _and_ 'Fields' of Specs. Result: another pipe migration skipped, converted to plain REXX. /M. _______________________________________________ netrexx-pipelines mailing list <a class="moz-txt-link-abbreviated" href="mailto:net...@li...">net...@li...</a> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines">https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines</a> </pre> </blockquote> <pre class="moz-quote-pre" wrap=""> _______________________________________________ netrexx-pipelines mailing list <a class="moz-txt-link-abbreviated" href="mailto:net...@li...">net...@li...</a> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines">https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines</a> </pre> </blockquote> </body> </html> |
From: René J. <rvj...@xs...> - 2022-06-22 12:43:15
|
I cannot really see what is in front of this; a general problem is that sometimes you must inset a ’split’ into the pipeline because on other platforms than CMS a ‘record’ is less strictly defined. René. > On 21 Jun 2022, at 09:56, hp...@we... wrote: > > Hi! > > Sorry, could not resist and tried to migrate another program, less > pipelines, no GUI, much simpler. > >> ... !unique w2 mult!count lines! ... > > returns 1. I expected either 0 or 2 and above, but for sure not 1. > > Best, > M. > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines |
From: René J. <rvj...@xs...> - 2022-06-22 12:41:10
|
This would be explained by the CMS Pipelines manual, in SPECS. It is the same error. > On 19 Jun 2022, at 02:45, hp...@we... wrote: > > Am 16.06.2022 um 00:02 schrieb ((ich)): >> Error (specs) - pd673a59 - Missing data selector at field2 > >> Roaring silence of NetRexx 4.03 Pipelines Guide and Reference >> regarding 'data selector'. > > Still nothing found what explains a. m. error message. > > But: "CMS only. Not yet implemented in NetRexx Pipelines" > for 'FIELDSEparator' _and_ 'Fields' of Specs. > > Result: another pipe migration skipped, converted to plain REXX. > > /M. > > > _______________________________________________ > netrexx-pipelines mailing list > net...@li... > https://lists.sourceforge.net/lists/listinfo/netrexx-pipelines |
From: <hp...@we...> - 2022-06-22 12:23:17
|
Like some more? > D:\PRGM\NetRexx\examples\MkROM>nrws > Workspace for NetRexx 4.04 build 272-20220524-1803 > Copyright (c) Martin Lafaix 2000 > Copyright (c) parts RexxLA 2019,2021 > pipelines processor loaded > Ready; pipe (sep !) literal abc!dup 5!a: count lines!term?a:!insert /Count: /!term 1.921 s > 56 +++ _s_2 = a:!insert() > +++ ^ > +++ Error: Unexpected character found in source: ':' (hexadecimal encoding: 003A) The problem might be the sep option. === Now a "real world example" -- one pipe, two issues: > address '' ripe '"(MkR_5 sep !) cons!reverse!fblock 1!', > 'xlate 1 00-FF 3A 20-3F 20-3F 40-5F 00-1f 60-66 40-46!', > 'spec 1 c2d!term', > with input using (modid) output stem ronam. With modid = 'C PPC 1981' the output is ronam.0 = 10 and ronam.1 .. 10 is void, empty, zilch. In contrast to CMS Pipelines the spec stage requires "the position of the field in the output record." Thus using 'spec 1 c2d 1' -- first issue solved, next please! -- the output ronam.1 .. 10 is now 32, or blank in other words. In contrast I expected 49, 56, 57, 49, 32, 3, 16, 16, 32, 3. Seems Xlate fails. === Question: Is it possible to transfer arguments to compiled NetRexx pipelines? Example: i and fx are integers > 0 > address '' ripe '"(MkR_s1 sep !) cons', /* connect to input */ > '!drop' i, /* from not possible */ > '!take' fx, /* take n bytes */ > '!spec w1 x2c 1', /* convert to characters */ > '!join *', /* make it one line */ > '!term', /* keep result */ > with input stem prgm. output stem pt2. Compiling corresponding .njp shows no error, alas execution fails. Best, M. |
From: <hp...@we...> - 2022-06-21 13:49:57
|
Hi! Three more issues: i) How could I migrate a DIY stage like following from VM/CMS to NetRexx: > /* 41BYTAB REXX: HP41 byte table */ > trace o /* in case of stall */ > 'BEGOUTPUT endmark' > '00 N NULL 00' > [...] > 'FF T TEXT IND e' > 'endmark' I bypassed it by reading a file from disk containing this table. ii) Following "experiment" returns two lines: > Reflection exception encountered: > Second line is empty (made the reflection speechless?) What I try to run: > address '' ripe '"(MkR_3 sep ! end ?) cons!f: fanout!insert /\\/ after!a: juxtapose!get', > '!b: count bytes!spec *-* c2x!fblock 2!c: lookup w1 master!term', > '?f:!spec /DIR/ 1 x22 nw *-* n x5c n /*.RAW/ n x22 n ;/B /ON; nw!cmd!d: count lines!a:', > '?b:!term?< HP41.BYTAB!c:?d:!term', > with input using (rawdir) output stem prgm. iii) Are there options to make GETfiles read PC files binary? Best, M. |
From: <hp...@we...> - 2022-06-21 08:00:11
|
Hi! Sorry, could not resist and tried to migrate another program, less pipelines, no GUI, much simpler. > ... !unique w2 mult!count lines! ... returns 1. I expected either 0 or 2 and above, but for sure not 1. Best, M. |
From: <hp...@we...> - 2022-06-21 08:00:06
|
Hello Leslie! Am 20.06.2022 um 23:29 schrieb J Leslie Turriff: > On 2022-06-19 04:40:13 ((I)) wrote: >> [...] > You're quite right. I changed these to > | change /\u000A\u0022/ /\u000A\u201C/ | > | change /\u0020\u0022/ /\u0020\u201C/ | > | change /\u0022\u000A/ /\u201D\u000A/ | > etc., which should be safe. It looks somehow more transparent now. But -- "It is an error to use this escape if the character encoding for the implementation requires fewer than four hexadecimal digits." (NetREXX Language Reference, chapter 6.3 Tokens, table 1, p. 18) So "the implementation" is in any case a double-byte system? As an additional substantiation an example of a troublesome case. To avoid the detour of using a temp disk file just to get a list of file names, see commented line 1, I tried to use the cmd stage... > -- '' 'DIR "' || rawdir || '\*.RAW" /B /ON > $T$E$M$P.F$I$L$E$' > address '' ripe '"(MkR_3 sep ! end ?) cons', > 'spec /DIR \"/ 1 *-* n ,\\*.RAW\" /B /ON, n!cmd! ...', > with input using (rawdir) output stem prgm. Since 'rawdir' may contain blanks I do have to bracket it with double quotes -- alas, unlucky so far. Seems I must resort to spec with hex values. BTW, 'ripe' is > ripe = '@java -cp "', /* NRP */ > || value("NETREXX_HOME", , "ENVIRONMENT"), > || '\lib\NetRexxF.jar;', > || value("CLASSPATH", , "ENVIRONMENT"), > || '"' 'org.netrexx.njpipes.pipes.runner' ----- >>> loop while execOptions.words > 0 >>> parse execOptions execOption execOptions >>> select >>> when 'help'.abbrev(execOptions.lower,1) then >> >> [...] > implies, the following parse command, > | parse execOptions execOptions execOptions > takes the first word (maybe the only word) ... Understood, this parse sips off the first word of execOptions. What me wonders is, the condition for When depends on the /remaining/ words in 'execOptions' (the variable with plural-'s'). I rather expected a check of the single option in question, just obtained (or split off) by parse two lines before. Best, M. |