I think this might be at least partially a font issue.

If I am reading your current message right, I probably read 5” as 5’’

And, in the environment I am currently working in (thank you Apple):

(a) those two expressions look identical, and

(b) I cannot experiment to determine if what’s in my message compose buffer
matches what I typed in.

So... just in case: for the first 5” here, I used a quote character. And,
for the second, I used two apostrophes.

:/

—
Raul

On Thursday, December 13, 2018, Jose Mario Quintana <
[email protected]> wrote:

> Thanks for the references.  However, it turns out that I have been somewhat
> familiar with an RL shift-reduce parser.
>
> Out of curiosity, I tried to shed some ligth.  First with the trace
> facility,
>
>   trace'5}'
>  --------------- 3 Adverb -----
>  5
>  }
>  5}
>  ==============================
>
>    trace'5"'
>  --------------- 6 Bident -----
>  5
>  "
>  5"
>  ==============================
>
> It did not help me much.  Just in case, I tried the verb which started this
> thread,
>
>    ( S=. '(<(<,'':''),<(<(,''0'');1),<(,''0'');1 0$'''') (1 : ''u u`:6`:6
> y'')' )
> (<(<,':'),<(<(,'0');1),<(,'0');1 0$'') (1 : 'u u`:6`:6 y')
>
>    trace S
>  --------------- 4 Conj -------
>  1
>   :
>  'u u`:6`:6 y'
>  1 : 'u u`:6`:6 y'
> .
> .
> .
>
>  --------------- 8 Paren ------
>  (
>  <(<,':'),<(<(,'0');1),<(,'0');1 0$''
>  )
>  ┌────────────────┐
>  │┌─┬────────────┐│
>  ││:│┌─────┬────┐││
>  ││ ││┌─┬─┐│┌─┬┐│││
>  ││ │││0│1│││0│││││
>  ││ ││└─┴─┘│└─┴┘│││
>  ││ │└─────┴────┘││
>  │└─┴────────────┘│
>  └────────────────┘
>  --------------- 3 Adverb -----
>  <(<,':'),<(<(,'0');1),<(,'0');1 0$''
>  1 : 'u u`:6`:6 y'
>  <(<,':'),<(<(,'0');1),<(,'0');1 0$'' (1 : 'u u`:6`:6 y')
>  ==============================
> |syntax error: trace
> |       <(<,':'),<(<(,'0');1),<(,'0');1 0$''(1 :'u u`:6`:6 y')
>
> but at the crucial moment trace got bitten by the bug!  :)
>
> (It was a long shot but I aimed for an updated j808 DLL on the
> System/Installation/Zips page,
>
>    https://code.jsoftware.com/wiki/System/Installation/Zips
>
> but I got only broken links (which presumably they will be operating in the
> future).)
>
> Alright then, can Marshall's formal parser,
>
>   https://code.jsoftware.com/wiki/User:Marshall_Lochbaum/Formal_Parser
>
> help?
>
>    parse@:splitwords'5}'
> ┌─────────────────┐
> │┌─┬─────┬───────┐│
> ││1│┌─┬─┐│┌─────┐││
> ││ ││2│}│││┌─┬─┐│││
> ││ │└─┴─┘│││0│5││││
> ││ │     ││└─┴─┘│││
> ││ │     │└─────┘││
> │└─┴─────┴───────┘│
> └─────────────────┘
>    parse@:splitwords'5"'
> ┌──────────────────────────┐
> │┌─┬────────┬─────────────┐│
> ││1│┌─┬────┐│┌─────┬─────┐││
> ││ ││3│hook│││┌─┬─┐│┌─┬─┐│││
> ││ │└─┴────┘│││3│"│││0│5││││
> ││ │        ││└─┴─┘│└─┴─┘│││
> ││ │        │└─────┴─────┘││
> │└─┴────────┴─────────────┘│
> └──────────────────────────┘
>
> I still did not see why 5} can be considered to be reduced but 5" is not
> (incidentally, "bident" instead of "hook" would be a better word in this
> case, among other things).
>
> How about the troublesome sentence S?
>
>    parse@:splitwords S
>
> (I am skipping the output because it would look too messy in the archive;
> but, the resulting tree is shallow.)
>
> You mentioned the stack and a reducing the number of items in the parse
> representation and I finally remembered Roger Stokes' excellent Evaluation
> in Slow Motion (EVM),
>
>    '5}'EVM
> 5}
> ┌─┬─┐
> │5│}│
> └─┴─┘
>    hist''
>
>  Queue        Stack               Rule
>
>  ┌────────┐   ┌──────┬────┬───┐   ┌────┐
>  │mark 5 }│   │      │    │   │   │    │
>  ├────────┤   ├──────┼────┼───┤   ├────┤
>  │mark 5  │   │ }    │    │   │   │    │
>  ├────────┤   ├──────┼────┼───┤   ├────┤
>  │mark    │   │ 5    │ }  │   │   │    │
>  ├────────┤   ├──────┼────┼───┤   ├────┤
>  │        │   │ mark │ 5  │ } │   │adv │
>  ├────────┤   ├──────┼────┼───┤   ├────┤
>  │        │   │ mark │ 5} │   │   │    │
>  └────────┘   └──────┴────┴───┘   └────┘
>
>    '5"'EVM
> 5"
> ┌─┬─┐
> │5│"│
> └─┴─┘
>    hist''
>
>  Queue        Stack               Rule
>
>  ┌────────┐   ┌──────┬────┬───┐   ┌──────┐
>  │mark 5 "│   │      │    │   │   │      │
>  ├────────┤   ├──────┼────┼───┤   ├──────┤
>  │mark 5  │   │ "    │    │   │   │      │
>  ├────────┤   ├──────┼────┼───┤   ├──────┤
>  │mark    │   │ 5    │ "  │   │   │      │
>  ├────────┤   ├──────┼────┼───┤   ├──────┤
>  │        │   │ mark │ 5  │ " │   │bident│
>  ├────────┤   ├──────┼────┼───┤   ├──────┤
>  │        │   │ mark │ 5" │   │   │      │
>  └────────┘   └──────┴────┴───┘   └──────┘
>
> I must be blind, I cannot see the difference; they look eerily similar to
> me.  Right, the adv rule reduces the number of items in the stack; but, so
> does the bident rule.
>
> The bad news (for me) is that I am still in the dark.  The good news is
> that I can safely assume that knowing the difference is irrelevant for
> programming which could suggest moving any potential additional discussion
> on this particular topic to the chat forum.
>
> P.S.  I find the history of '(<(<,'':''),<(<(,''0'');1),<(,''0'');1
> 0$'''')
> (1 : ''u u`:6`:6 y'')'EVM quite interesting.
>
>
> On Wed, Dec 12, 2018 at 11:35 AM Raul Miller <[email protected]>
> wrote:
>
> > Here's a more concise explanation:
> >
> > In http://www.jsoftware.com/help/dictionary/dicte.htm the phrase "and
> > eventually executing some eligible portion of the stack and replacing
> > it by the result of the execution" describes the same thing that
> > "reduce" describes what "reduce" would be in a shift-reduce parser
> > explanation.  Basically, that "reduce" might also be described as "a
> > step of evaluation".
> >
> > "Shifting", on the other hand, is taking another token (or word) from
> > the parsing queue - that's another kind of evaluation step, but it
> > doesn't reduce the number of items in the parse representation.
> >
> > But it really helps if you see it in action - it's such a simple
> > concept that it's slippery to think about if you never see it
> > happening.
> >
> > (Perhaps also worth noting that verb definitions are only extracted
> > from their name during J's "parser reduce" steps while other named
> > entities have their names extracted from their names during J's
> > "parser shift"? This is an important distinction because of how
> > locales are implemented, and it's also why undefined names are treated
> > like verbs in tacit definitions, That said, note that names are not
> > always undefined and this can be a source of confusion when using a
> > script with forward verb references.)
> >
> > Thanks,
> >
> > --
> > Raul
> > On Wed, Dec 12, 2018 at 11:18 AM Raul Miller <[email protected]>
> > wrote:
> > >
> > > These look like decent explanations:
> > >
> > > http://www.cs.binghamton.edu/~zdu/parsdemo/srintro.html
> > >
> > > or, if you prefer a video presentation:
> > >
> > > https://www.youtube.com/watch?v=Ga9b_E85Lwc
> > >
> > > Mind you, the examples are for parsers left-to-right parsers
> > > (indicated by LR in the alphabet soup used to label the things), while
> > > J's parser is a right-to-left parser (which would probably be labeled
> > > by RL along with some other bits of alphabet soup to describe the four
> > > token pattern matching that it uses to decide what reduce action to
> > > take).
> > >
> > > Thanks,
> > >
> > > --
> > > Raul
> > >
> > > On Wed, Dec 12, 2018 at 10:55 AM Jose Mario Quintana
> > > <[email protected]> wrote:
> > > >
> > > > Why?  Can you elaborate?
> > > >
> > > > On Wed, Dec 12, 2018 at 10:07 AM Raul Miller <[email protected]>
> > wrote:
> > > >
> > > > > Yes.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > —
> > > > > Raul
> > > > >
> > > > >
> > > > > On Tuesday, December 11, 2018, Jose Mario Quintana <
> > > > > [email protected]> wrote:
> > > > >
> > > > > > It seems to be just academic now.  Nevertheless, does your
> > interpretation
> > > > > > imply that,
> > > > > >
> > > > > >    5"
> > > > > > 5"
> > > > > >
> > > > > > is not "reduced" but,
> > > > > >
> > > > > >    5}
> > > > > > 5}
> > > > > >
> > > > > > is "reduced" in the context of shift-reduce parsers?
> > > > > >
> > > > > >
> > > > > > On Mon, Dec 10, 2018 at 10:43 AM Raul Miller <
> > [email protected]>
> > > > > > wrote:
> > > > > >
> > > > > > > On Fri, Dec 7, 2018 at 7:53 PM Henry Rich <
> [email protected]>
> > > > > wrote:
> > > > > > > > What Ken meant by "resolve" is not clear to me.
> > > > > > >
> > > > > > > I expect he meant what people working with shift-reduce parsers
> > would
> > > > > > > call "reduce". (But Ken would not be inclined to call it that,
> I
> > > > > > > imagine, because reduce was a similar/different well defined
> APL
> > > > > > > operation.)
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > --
> > > > > > > Raul
> > > > > > >
> > ----------------------------------------------------------------------
> > > > > > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > > > > >
> > ----------------------------------------------------------------------
> > > > > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > > > >
> > ----------------------------------------------------------------------
> > > > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > > > ------------------------------------------------------------
> ----------
> > > > For information about J forums see http://www.jsoftware.com/
> forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to