comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Interesting article on ARG work
Date: Sun, 15 Apr 2018 21:37:11 +0300
Date: 2018-04-15T21:37:11+03:00	[thread overview]
Message-ID: <fjhkenF6isU1@mid.individual.net> (raw)
In-Reply-To: <1e40f5f6-1ee6-4f90-9e0a-871b57d89037@googlegroups.com>

On 18-04-15 16:31 , Dan'l Miller wrote:
> On Sunday, April 15, 2018 at 2:50:15 AM UTC-5, Niklas Holsti wrote:
>> On 18-04-10 22:46 , Dan'l Miller wrote:
>>> On Tuesday, April 10, 2018 at 2:23:24 PM UTC-5, Niklas Holsti wrote:
>>>> For a GLR parser,
>>>>
>>>> _just_ a GLR parser
>>>>
>>>> _just_ GLR parsing.
>>>>
>>>> In plain GLR parsing
>>>>
>>>> That is true for the "Fork-Merge LR" (FMLR) parsing in the paper
>>>> you referenced, but that is not GLR.
>>>>
>>>> _just_ a GLR
>>>
>>> Which flavor of generalized LR are you taking as the sole seminal
>>> reference to definitively brand the official “just GLR” and “plain
>>> GLR”?  There are 2 seminal references historically:  Bernard Lang
>>> (1974) and Tomita Masaru (1985).  Lang's versus Tomita's 2 approaches
>>> to GLR are substantially different.
>
> Clearly Tomita's popularization of GLR in 1985 uses forking and
> merging of the reduced-productions stack, as called graph-structured
> stack (GSS).  You can clearly see the merging of the branches along
> the GSS in section 4.6 of this tutorial-survey paper:
>
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.132.2321&rep=rep1&type=pdf
>
> If all of the branches of the GSS are thus merged, then GLR returns
> to LR temporarily until the next arbitrary-length look-ahead is
> encountered.  This is what eliminates the exponential explosion that
> you keep fearing.

You keep misunderstanding my point. I fully grant that GLR parsers 
mostly avoid exponential blow-up of the parsing process. But if the 
parser is not context-dependent, the number of complete parses 
considered during a GLR parse is exponential in the number of places in 
the sentence where the parse is ambiguous / non-deterministic, because 
the choices of parsing actions at each such place are not correlated.

In essence, without context dependency or some other similar mechanism 
to enforce uniform choice, a GLR parser for @ assumes that "@X" can be 
equivalent to "X" at one place, and to "--X" at another. This leads to 
an exponential number of complete parses, but more seriously, it does 
not match the intended semantics of @, so most of those parses are 
infeasible and can fail (I showed examples earlier).

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .

  reply	other threads:[~2018-04-15 18:37 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-02  3:32 Interesting article on ARG work Randy Brukardt
2018-04-02 14:49 ` Dan'l Miller
2018-04-03 16:34   ` Bojan Bozovic
2018-04-03 22:33     ` Randy Brukardt
2018-04-04  2:12       ` Bojan Bozovic
2018-04-04 15:05       ` Dan'l Miller
2018-04-04 15:30         ` gerdien.de.kruyf
2018-04-04 16:09           ` Dan'l Miller
2018-04-04 22:30         ` Randy Brukardt
2018-04-04 22:43           ` Paul Rubin
2018-04-05  0:44             ` Mehdi Saada
2018-04-05 21:23               ` Randy Brukardt
2018-04-05  2:05           ` Bojan Bozovic
2018-04-05 22:12             ` Randy Brukardt
2018-04-06 13:35               ` Bojan Bozovic
2018-04-07  2:01                 ` Randy Brukardt
2018-04-05  7:21           ` Dmitry A. Kazakov
2018-04-05 22:18             ` Randy Brukardt
2018-04-06  7:30               ` Dmitry A. Kazakov
2018-04-07  2:25                 ` Randy Brukardt
2018-04-07 10:11                   ` Dmitry A. Kazakov
2018-04-07 15:27                     ` Dan'l Miller
2018-04-07 15:59                       ` Dmitry A. Kazakov
2018-04-08  0:14                         ` Dan'l Miller
2018-04-08  7:46                           ` Dmitry A. Kazakov
2018-04-08 19:48                             ` Dan'l Miller
2018-04-08 20:09                               ` Dmitry A. Kazakov
2018-04-09  3:50                                 ` Dan'l Miller
2018-04-09  6:40                                   ` Jan de Kruyf
2018-04-09  7:43                                   ` Dmitry A. Kazakov
2018-04-09 13:40                                     ` Dan'l Miller
2018-04-09 14:13                                       ` Dmitry A. Kazakov
2018-04-09 14:36                                         ` Dan'l Miller
2018-04-09 14:44                                           ` Dmitry A. Kazakov
2018-04-09 15:03                                             ` Dan'l Miller
2018-04-09 16:12                               ` Niklas Holsti
2018-04-09 16:30                                 ` Dmitry A. Kazakov
2018-04-09 16:45                                   ` Niklas Holsti
2018-04-09 17:33                                     ` Dan'l Miller
2018-04-09 19:47                                     ` Dmitry A. Kazakov
2018-04-09 20:24                                   ` Randy Brukardt
2018-04-10  8:17                                     ` Dmitry A. Kazakov
2018-04-09 18:08                                 ` Dan'l Miller
2018-04-09 21:17                                   ` Niklas Holsti
2018-04-09 22:09                                     ` Dan'l Miller
2018-04-10 19:23                                       ` Niklas Holsti
2018-04-10 19:46                                         ` Dan'l Miller
2018-04-15  7:50                                           ` Niklas Holsti
2018-04-15 13:31                                             ` Dan'l Miller
2018-04-15 18:37                                               ` Niklas Holsti [this message]
2018-04-09 20:14                       ` Randy Brukardt
2018-04-06 23:49               ` Dan'l Miller
2018-04-12 10:21                 ` Marius Amado-Alves
2018-04-15 13:07                   ` Ada conditional compilation and program variants Niklas Holsti
2018-05-07  8:41                     ` Jacob Sparre Andersen
2018-04-06 13:35 ` Interesting article on ARG work Marius Amado-Alves
2018-04-07  2:15   ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox