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





  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