comp.lang.ada
 help / color / mirror / Atom feed
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

  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