From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: [Slightly OT] How to process lightweight text markup languages?
Date: Mon, 19 Jan 2015 14:21:15 +0100
Date: 2015-01-19T14:21:15+01:00 [thread overview]
Message-ID: <c9058n5dlu56.608mrt8042o0$.dlg@40tude.net> (raw)
In-Reply-To: m9iokj$upl$1@dont-email.me
On Mon, 19 Jan 2015 12:09:40 +0100, G.B. wrote:
> On 18.01.15 21:21, Dmitry A. Kazakov wrote:
>> This is a pretty straightforward and simple technique.
>
> The trouble is with expectations:
>
> Input:
>
> ((){)([()[[]])]
>
> Typical parsers will respond with such useless results
> as "error at EOF". Not something that a (close to)
> natural language processor can afford, I think.
Not with the technique I described. In your example, the operator stack
will contain:
( at pos. 2 <--- stack top
( at pos. 1
when } will try to wind it up by popping the last unmatched (. Since } does
not match ( you will easily generate "the closing curly bracket at pos. 3
does not match the opening round bracket at pos. 2"
Your experience probably come from grammar-generated parsers. The
straightforward technique is so much better for all practical purposes, and
for error messages generation especially.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2015-01-19 13:21 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-18 18:04 [Slightly OT] How to process lightweight text markup languages? Natasha Kerensikova
2015-01-18 20:21 ` Dmitry A. Kazakov
2015-01-19 11:09 ` G.B.
2015-01-19 13:21 ` Dmitry A. Kazakov [this message]
2015-01-19 16:58 ` G.B.
2015-01-19 17:58 ` Dmitry A. Kazakov
2015-01-20 14:41 ` Robert A Duff
2015-01-19 20:12 ` Randy Brukardt
2015-01-19 21:37 ` gautier_niouzes
2015-01-20 8:44 ` Dmitry A. Kazakov
2015-01-20 12:36 ` G.B.
2015-01-20 13:14 ` Dmitry A. Kazakov
2015-01-20 20:36 ` Shark8
2015-01-20 21:16 ` Dmitry A. Kazakov
2015-01-20 22:55 ` J-P. Rosen
2015-01-21 8:35 ` Dmitry A. Kazakov
2015-01-20 19:19 ` Natasha Kerensikova
2015-01-20 21:43 ` Randy Brukardt
2015-01-20 19:16 ` Natasha Kerensikova
2015-01-20 18:47 ` Natasha Kerensikova
2015-01-20 19:44 ` Dmitry A. Kazakov
2015-01-20 22:00 ` Randy Brukardt
2015-01-22 13:41 ` Natasha Kerensikova
2015-01-22 18:38 ` Dmitry A. Kazakov
2015-01-22 21:48 ` Randy Brukardt
2015-01-23 10:24 ` Stephen Leake
2015-01-21 14:54 ` Stephen Leake
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox