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&amp;data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&amp;sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&amp;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&amp;data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&amp;sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&amp;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&amp;data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&amp;sdata=CMTqFhQZbs%2FrnWS0S%2F2gKo8fPjRckVmI9BvwED8XUQU%3D&amp;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&amp;data=02%7C01%7C%7C8a96dc84543045b4887208d7bb9c664a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637184152714644442&amp;sdata=Ulwg97WddebZwkDescXg1UzcV1jh3PLyWpQfbdHl%2Fbs%3D&amp;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

Reply via email to