Alter Kocker. The Eglish equivalent would be OF, where O is Old.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [[email protected]] on behalf of David Spiegel [[email protected]] Sent: Thursday, February 27, 2020 11:18 AM To: [email protected] Subject: Re: Rexx parse using period as placeholder R'Shmuel, You may have to explain what "AK" means. I'm not sure that everyone is familiar with this. Regards, David On 2020-02-27 10:46, Seymour J Metz wrote: >> You are being pedantic, but that's ok. > When I was at NSF there was a van with the license number PEDANT. I had lust > in my heart for that plate, > >> I have found (from my co-workers especially) that most mainframe people >> of a certain vintage are not willing to learn new stuff. > My experience is very different; I see the same characteristic regardless of > age or platform. I have met AKs who are eager to learn and young fogies who > are prematurely senile. I have met mainframe people interested in learning > new things and PC people who are set in their ways. > > Just on this list you can see lots of old dogs doing new tricks. Yeah, there > are Luddites here as well, but it were ever thus. > > > -- > Shmuel (Seymour J.) Metz > https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fmason.gmu.edu%2F~smetz3&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&reserved=0 > > ________________________________________ > From: IBM Mainframe Discussion List [[email protected]] on behalf of > David Crayford [[email protected]] > Sent: Thursday, February 27, 2020 9:59 AM > To: [email protected] > Subject: Re: Rexx parse using period as placeholder > > You are being pedantic, but that's ok. > > I have found (from my co-workers especially) that most mainframe people > of a certain vintage are not willing to learn new stuff. > So regular expressions are off the menu when they can write logic to do > the same thing using their language of choice. > Of course, that's totally fine. Old dogs new tricks! RE does take some > learning but it's a case of "I can't be bothered". > > On 2020-02-27 10:42 PM, Seymour J Metz wrote: >>> but I don't expect anybody on this forum to bother downloading it >>> because writing logic is preferable to learning something new ;) >> 1. This is a listserv mailing list, not a forum >> 2. I am far from the only reader of this list to enjoy new things, >> and in particular I am far from being the only one to value >> the expressive power of regexen. >> 3. Don't confuse lack of familiarity with prejudice against; >> why not give some examples and see whether anybody is interested? >> >> >> -- >> Shmuel (Seymour J.) Metz >> https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fmason.gmu.edu%2F~smetz3&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&reserved=0 >> >> ________________________________________ >> From: IBM Mainframe Discussion List [[email protected]] on behalf of >> David Crayford [[email protected]] >> Sent: Thursday, February 27, 2020 9:30 AM >> To: [email protected] >> Subject: Re: Rexx parse using period as placeholder >> >> I consider simple to be a single line regular expression which can >> handle the parsing grammar in one hit. Now, that may not to simple to >> most mainframe old timers >> but it's a walk in the park for young guys. >> >> Like I said I have a RE package on github that can do this stuff in REXX >> but I don't expect anybody on this forum to bother >> downloading it because writing logic is preferable to learning something >> new ;) >> >> On 2020-02-27 9:58 PM, scott Ford wrote: >>> Hey David, >>> >>> What do you mean by simple ? Less stmts ? >>> >>> On Thu, Feb 27, 2020 at 8:50 AM Seymour J Metz <[email protected]> wrote: >>> >>>> As an alternative to regexen, there is a package called PROC that does the >>>> subset of IKJPARSE needed for CLIST style parameters. There may be other >>>> such tools out there; if I knew of a decent search engine ... >>>> >>>> >>>> -- >>>> Shmuel (Seymour J.) Metz >>>> https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fmason.gmu.edu%2F~smetz3&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&reserved=0 >>>> >>>> ________________________________________ >>>> From: IBM Mainframe Discussion List [[email protected]] on behalf >>>> of David Crayford [[email protected]] >>>> Sent: Thursday, February 27, 2020 6:07 AM >>>> To: [email protected] >>>> Subject: Re: Rexx parse using period as placeholder >>>> >>>> OK. Let me change the requirements again ;) How about also handling >>>> single quotes for a fully qualified data set. >>>> >>>> Simple to do with a regex. Not so simple using REXX. >>>> >>>> Syntax: >>>> >>>> INDSN(DSNAME(MEMBER)) >>>> INDSN(DSNAME) >>>> INDSN('HLQ.DSNAME(MEMBER)') >>>> INDSN('HLQ.DSNAME') >>>> >>>> >>>> On 2020-02-27 12:28 AM, Seymour J Metz wrote: >>>>>> Great! How will that work if I don't have a member name? >>>>> The code will tell me not to believe you when you write >>>>> >>>>> "Syntax: >>>>> >>>>> INDSN(DSNAM(MEMBER))" >>>>> >>>>> Writing the code is the easy part; the hard part is getting the actual >>>> requirements. >>>>> -- >>>>> Shmuel (Seymour J.) Metz >>>>> https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fmason.gmu.edu%2F~smetz3&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&reserved=0 >>>>> >>>>> ________________________________________ >>>>> From: IBM Mainframe Discussion List [[email protected]] on >>>> behalf of David Crayford [[email protected]] >>>>> Sent: Wednesday, February 26, 2020 7:18 AM >>>>> To: [email protected] >>>>> Subject: Re: Rexx parse using period as placeholder >>>>> >>>>> Great! How will that work if I don't have a member name? >>>>> >>>>> INDSN(DSNAME) >>>>> >>>>> >>>>> On 2020-02-26 8:11 PM, Seymour J Metz wrote: >>>>>> When I'm testing a template I usually use variable names so it's easier >>>> to follow what's happening; feel free to change them to periods. >>>>>> trace i;parse var parm kw '(' dsn '(' mem ')' ')' >>>>>> 95 *-* parse var parm kw '(' dsn '(' mem ')' ')' >>>>>> >V> "INDSN(DSNAME(MEMBER))" >>>>>> >L> "(" >>>>>> >>> "(" >>>>>> >>> "INDSN" >>>>>> >L> "(" >>>>>> >>> "(" >>>>>> >>> "DSNAME" >>>>>> >L> ")" >>>>>> >>> ")" >>>>>> >>> "MEMBER" >>>>>> >L> ")" >>>>>> >>> ")" >>>>>> 96 *-* trace 'Off' /* Don't trace >>>> rexxtry. >>>>>> */ >>>>>> ................................................ REXXTRY.CMD on >>>>>> OS/2 >>>>>> say dsn mem >>>>>> DSNAME MEMBER >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Shmuel (Seymour J.) Metz >>>>>> https://eur01.safelinks.protection.outlook.com/?url=http:%2F%2Fmason.gmu.edu%2F~smetz3&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&reserved=0 >>>>>> >>>>>> ________________________________________ >>>>>> From: IBM Mainframe Discussion List [[email protected]] on >>>> behalf of David Crayford [[email protected]] >>>>>> Sent: Wednesday, February 26, 2020 7:01 AM >>>>>> To: [email protected] >>>>>> Subject: Re: Rexx parse using period as placeholder >>>>>> >>>>>> I've got a REXX parse puzzle to solve and I would like suggestions on >>>>>> how to solve it. >>>>>> >>>>>> Syntax: >>>>>> >>>>>> INDSN(DSNAM(MEMBER)) >>>>>> >>>>>> The code is simple. It uses the parse instruction with a >>>> template. >>>>>> parse var parm . '(' val ')' >>>>>> >>>>>> >>>>>> *-* parm = 'INDSN(DSNAME(MEMBER))' >>>>>> >L> "INDSN(DSNAME(MEMBER))" >>>>>> *-* parse var parm . '(' val ')' >>>>>> >.> "INDSN" >>>>>> >>> "DSNAME(MEMBER" >>>>>> >>>>>> Unfortunately the value is truncated because "parse" has no way to >>>>>> anchor to the end of the string. >>>>>> >>>>>> Using a regex this is very simple "\((.*)\)$" >>>>>> >>>>>> Most modern languages have PEG libraries (parsing expression grammers) >>>>>> which are much more powerful that regex. They can be called recursively >>>>>> and used to implement real parsers. >>>>>> >>>>>> Even a simple scripting like Lua (which runs on z/OS) has a library >>>>>> which can be used to implement a C99 parser in 500 lines of code >>>>>> >>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsecure-web.cisco.com%2F1-qpVukWY5CQ__uk-jb69c-vU9oQiHr0QYGSPlCeoZgyD2_0Vr7rZvCFOZMHJg7zk3VOksBvTUY8MLW1evN4UV9cNBh-pn9n-5F9_X82JabsK-ab5tZgKrsgKaJaEaxaxX5DQT-npVqFY2v_bsph_x8TPP0FtlXCodigNSekdfPE7jkgJNBmS59AWuMpG8X-Uk87HGTSjWom-rjWZ2cck7YmxwA8YD0v-eN-AL17ABCPz1J03MFZeG5DTXPPIQZDHjFYyC1zarF945-8oyYAd868yq1R6J7tuZO3LwSG-nXLyxFjuFhxAFLZjb5wzxr9ud0_gAOZpFtSdNUpsdux1AoWvZREOg5L4JMcfEVubG-1nO2eSTtdsuvL3IPGSGD4-HEKFuhCLSVZQb4nT1RtVUgxxwK-lTjuUgN8iE103myJE9v-kJevMwsdsZ3jGRYmT%2Fhttps%253A%252F%252Fgithub.com%252Ftitan-lang%252Fc-parser%252Fblob%252Fmaster%252Fc99.lua&data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&sdata=Ulwg97WddebZwkDescXg1UzcV1jh3PLyWpQfbdHl%2Fbs%3D&reserved=0 >>>> . >>>>>> On 2020-02-26 11:41 AM, Paul Gilmartin wrote: >>>>>>> On 2020-02-24, at 13:43:52, Ambros, Thomas wrote: >>>>>>>> A trivial item, but this surprised me. >>>>>>>> >>>>>>>> I wanted to parse out the string 'word3' using the period as a place >>>> holder. The input could have a blank delimited string containing an >>>> embedded period before the one I wanted to parse out. The Parse Var as >>>> coded didn't work. ... >>>>>>>> myVar = 'word1 word2 9.12 word3.ext' >>>>>>>> Parse Var myVar . . . myVal '.' . >>>>>>>> ... >>>>>>>> Say 'myVal=' myVal >>>>>>>> ... >>>>>>> The simple answer to the elliptically stated problem is: >>>>>>> MyVal = 'word3' >>>>>>> >>>>>>> A more general solution, using regex is: >>>>>>> 556 $ echo 'word1 word2 9.12 word3.ext' | sed 's/.* \([^.]*\).*/\1/' >>>>>>> word3 >>>>>>> 557 $ >>>>>>> This finds the last substring in the subject preceded by a space >>>>>>> and followed by a period. >>>>>>> >>>>>>> Full disclosure, for Tony to gloat: >>>>>>> o It's easier to code than to review. >>>>>>> o I got it right on the third try. >>>>>>> o I haven't fuzz tested. >>>>>>> >>>>>>> -- gil >>>>>>> >>>>>>> ---------------------------------------------------------------------- >>>>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>>> ---------------------------------------------------------------------- >>>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>>> >>>>>> ---------------------------------------------------------------------- >>>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>> ---------------------------------------------------------------------- >>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO IBM-MAIN >>>> >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO IBM-MAIN >>>> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > . ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
