From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Verified compilers?
Date: Wed, 7 Mar 2012 18:42:23 -0600
Date: 2012-03-07T18:42:23-06:00 [thread overview]
Message-ID: <jj8v9j$b8g$1@munin.nbi.dk> (raw)
In-Reply-To: 1psd0g0womgxi.1sle7ol12x3d5.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:1psd0g0womgxi.1sle7ol12x3d5.dlg@40tude.net...
...
> Furthermore the merits of formal grammar definitions are debatable,
> because
> the complexity of grammar descriptions usually make it impossible to judge
> if a given string do belong to the formal language or not. Normally BNF is
> all one needs to define syntax.
This makes no sense at all. BNF is the classic formal definition of a
grammar; indeed, I know of no other. Everybody has variations on it (the Ada
BNF uses repeat operations not found in many BNFs; the annoted BNF used by
our grammar generator is slightly different), but they're all forms of BNF.
Perhaps you are talking about grammar generator processessable
definitions -- that's a different beast altogether and forms just a tiny
portion of "formal grammar definitions".
As far as LR parsing is concerned, that's the most general practical parsing
scheme. There are many legitmate BNFs that cannot be parsed using recursive
descent. And writing recursive descent code (and error handling) is many
times harder than adding a couple of lines to a file and lanuching a batch
file:
Aspect_Specification ::= WITH Aspect_Item {, Aspect_Item}
Aspect_Item ::= IDENTIFIER => Expression
[although I admit this is a small portion of the total work; it took me
about 4 weeks to add the entire Ada 2005 syntax to Janus/Ada, but probably
only about an hour or two on the actual grammar. The rest of the time was
spent adding "unimplemented feature" error handlers to the compiler,
adjusting existing parts of the compiler to be aware of the changes (new
grammar features changing the stack position of old ones), updating the
pretty printer to be aware of the new features, and the like.]
Randy.
next prev parent reply other threads:[~2012-03-08 0:42 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-21 15:42 Verified compilers? Yannick Duchêne (Hibou57)
2012-02-24 1:41 ` Shark8
2012-02-24 8:52 ` Georg Bauhaus
2012-02-24 17:36 ` Peter C. Chapin
2012-03-06 1:27 ` Randy Brukardt
2012-03-06 17:24 ` Shark8
2012-03-06 17:43 ` Dmitry A. Kazakov
2012-03-06 19:03 ` Shark8
2012-03-07 5:33 ` Yannick Duchêne (Hibou57)
2012-03-07 9:12 ` Dmitry A. Kazakov
2012-03-07 17:49 ` Niklas Holsti
2012-03-07 20:17 ` Dmitry A. Kazakov
2012-03-07 23:28 ` Usefulness of Formal Notions in Programming (was: Verified compilers?) Georg Bauhaus
2012-03-08 9:24 ` Usefulness of Formal Notions in Programming Dmitry A. Kazakov
2012-03-08 10:30 ` Nasser M. Abbasi
2012-03-08 12:37 ` Dmitry A. Kazakov
2012-03-08 0:42 ` Randy Brukardt [this message]
2012-03-08 9:25 ` Verified compilers? Dmitry A. Kazakov
2012-03-08 18:10 ` Niklas Holsti
2012-03-08 20:41 ` Dmitry A. Kazakov
2012-03-08 18:02 ` Niklas Holsti
2012-03-08 20:40 ` Dmitry A. Kazakov
2012-03-09 0:44 ` Georg Bauhaus
2012-03-09 22:13 ` Niklas Holsti
2012-03-10 10:36 ` Dmitry A. Kazakov
2012-03-10 20:35 ` Niklas Holsti
2012-03-11 9:47 ` Dmitry A. Kazakov
2012-03-11 22:22 ` Niklas Holsti
2012-03-12 5:12 ` Niklas Holsti
2012-03-12 9:43 ` Dmitry A. Kazakov
2012-03-14 8:36 ` Niklas Holsti
2012-03-14 9:24 ` Georg Bauhaus
2012-03-14 11:14 ` REAL (was: Verified compilers?) stefan-lucks
2012-03-14 12:59 ` REAL Dmitry A. Kazakov
2012-03-14 13:30 ` REAL Georg Bauhaus
2012-03-14 13:51 ` REAL Dmitry A. Kazakov
2012-03-14 20:37 ` REAL Brian Drummond
2012-03-14 21:52 ` REAL Dmitry A. Kazakov
2012-03-14 13:52 ` REAL georg bauhaus
2012-03-14 17:42 ` REAL Jeffrey Carter
2012-03-14 10:14 ` Verified compilers? Dmitry A. Kazakov
2012-03-14 20:13 ` Niklas Holsti
2012-03-11 10:55 ` Georg Bauhaus
2012-03-10 13:46 ` Brian Drummond
2012-03-07 1:00 ` Randy Brukardt
2012-03-07 12:42 ` Stuart
2012-03-08 1:06 ` Randy Brukardt
2012-03-08 9:04 ` Jacob Sparre Andersen
2012-03-08 9:37 ` Dmitry A. Kazakov
2012-03-08 11:23 ` Simon Wright
2012-03-08 12:27 ` Dmitry A. Kazakov
2012-03-08 10:23 ` Brian Drummond
2012-03-08 23:38 ` Bill Findlay
2012-03-09 13:56 ` Brian Drummond
2012-03-09 14:43 ` Shark8
2012-03-09 21:51 ` Brian Drummond
2012-03-09 15:49 ` Bill Findlay
2012-03-09 20:34 ` Brian Drummond
2012-03-09 19:40 ` Jeffrey Carter
2012-03-09 20:39 ` Brian Drummond
2012-03-09 23:59 ` phil.clayton
2012-03-08 15:23 ` Peter C. Chapin
2012-03-09 2:04 ` 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