¿ªÔÆÌåÓý

Re: Possible bug in BREXX parse instruction


 

On Sun, Oct 16, 2022 at 10:36 AM, Bob Bolch wrote:
Which left parentheses?are you referring?to in that sentence?
?
Also, the WITH keyword is only valid in a parse of the form:
PARSE VALUE expression WITH template
The 'with' in Dave Mitchell's example is a variable name.
?
The correct result of the DAVEMTST?EXEC is the following:
Welcome back from your surgery.

Once again, I'm leaving out thoughts and not writing them down. Sorry.
I am referencing Mike's 2nd edition, also the ANSI X3J18-199X document. I will also eat my words about the parentheses. I was wrong. I had to walk away from this due to other challenges, and forgot.

From the ANSI document.

/* Note: The next section describes templates. */
template_list?????? := template | [template] ',' [template_list]
template??????????? := (trigger | target | Msg38.1)+
target????????????? := VAR_SYMBOL | '.'
trigger???????????? := pattern | positional
pattern???????????? := STRING | vrefp
vrefp?????????????? := '(' (VAR_SYMBOL | Msg19.7) (')' | Msg46.1)
positional????????? := absolute_positional | relative_positional
absolute_positional := NUMBER | '=' position
position??????????? := NUMBER | vrefp | Msg38.2
relative_positional := ('+' | '-') position

Concerning the use of 'WITH', I found I was misreading the code. You are correct.

address ??????????? := 'ADDRESS' [(taken_constant [expression]
??????????????????? | Msg19.1 | valueexp) [ 'WITH' connection]]
... and ...

parse_value???????? := 'VALUE' [expression] ('WITH' | Msg38.3)

I have been going through the C code to determine what is and is not happening. Not having a lot of luck, yet, as I get lost in the definitions of record constructs, and I don't understand why TEMPLATE C skips left paren while gathering symbols. Starting at line 35 and on.

/* ----------- vrefp --------- */
/* variable reference position */
static void
vrefp(void) {
??? Context *context = (Context *) CMSGetPG();
??? nextsymbol(); /* skip left parenthesis */

I also have not been able to activate the debug mode of bREXX, though I thought I followed the directions.

?... Mark S.
Boy, do I feel stupid today.

Join [email protected] to automatically receive all group messages.