comp.lang.ada
 help / color / mirror / Atom feed
From: "Oliver Kellogg" <oliver.kellogg@t-online.de>
Subject: Re: GPS - A new kind of IDE?
Date: Tue, 11 Feb 2003 02:24:07 +0100
Date: 2003-02-11T02:24:07+01:00	[thread overview]
Message-ID: <b298nr$9c$06$1@news.t-online.com> (raw)
In-Reply-To: slrnb49n14.ed.randhol+news@kiuk0152.chembio.ntnu.no

I've just bumped into an interesting data point on
parser contruction with ANTLR regarding parse speed.
ANTLR supports syntactic predicates such as

  (subprog_body) => subprog_body

where the rule subprog_body is applied on trial
and if it turns out not to apply then the parser backs
out and applies the next rule. Terence Parr, inventor
of ANTLR, calls this "infinite lookahead".

This feature makes for a prettier grammar because
it allows more liberal reuse of rules. In the above
example, we can write the subprog_body rule in a
place where also a subprog_spec could be expected;
the parser takes care of resolving the ambiguity.

However, that beauty has its price.

As a test, I submitted the source code of the
Ada Graphics Package (agp95_v0.1_x11/src) to parsing
(38560 LOC, 11851 executable semicolons.)

With usage of syntactic predicate for the subprog_spec/subprog_body
distinction ("pretty" soft-state grammar rule):

real    1m16.635s
user    1m15.930s
sys     0m0.300s

Without usage of syntactic predicate for the subprog_spec/subprog_body
distinction ("ugly" hard-coded state):

real    0m46.058s
user    0m45.110s
sys     0m0.370s

So for kdevelop adasupport I'm going with the hard state rule
for subprograms.

Oliver Kellogg






  reply	other threads:[~2003-02-11  1:24 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-08  9:02 GPS - A new kind of IDE? Oliver Kellogg
2003-02-08 10:30 ` Preben Randhol
2003-02-11  1:24   ` Oliver Kellogg [this message]
2003-02-15 22:08     ` Oliver Kellogg
  -- strict thread matches above, loose matches on Subject: below --
2002-05-10 18:41 Alexandre E. Kopilovitch
     [not found] <000001c1f762$aed14310$7201a8c0@bacus>
2002-05-09 14:15 ` Mário Amado Alves
2002-05-02  2:59 GNAT Programming System - Wow Steve Doiel
2002-05-05 19:35 ` Per Sandbergs
2002-05-06  9:58   ` Preben Randhol
2002-05-06 21:52     ` Robert Dewar
2002-05-07 10:11       ` Preben Randhol
2002-05-07 11:30         ` GPS - A new kind of IDE? John McCabe
2002-05-08  2:34           ` Robert Dewar
2002-05-08  7:49             ` Martin Dowie
2002-05-08 10:40               ` Preben Randhol
2002-05-08  8:17             ` John McCabe
2002-05-08  8:34               ` Martin Dowie
2002-05-08 10:57                 ` Preben Randhol
2002-05-08 13:59             ` Wes Groleau
2002-05-09 14:06             ` Mário Amado Alves
2002-05-09 14:06             ` Mário Amado Alves
2002-05-10  2:22           ` Richard Riehle
2002-05-10  8:38             ` Preben Randhol
2002-05-10 10:39             ` Peter Hermann
2002-05-10 14:13               ` Stephen Leake
2002-05-10 14:52                 ` David C. Hoos
2002-05-10 15:48                   ` Marin David Condic
2002-05-11 12:39                     ` Robert Dewar
2002-05-12 19:12                   ` James Ross
2002-05-12 21:21                     ` Preben Randhol
2002-05-10 15:46               ` Robert Dewar
2002-05-10 16:04                 ` Mário Amado Alves
2002-05-11  0:44                 ` Richard Riehle
2002-05-14  9:07                 ` John McCabe
2002-05-14 13:00                   ` Larry Kilgallen
2002-05-10 13:16             ` Robert Dewar
2002-05-10 13:19             ` Robert Dewar
2002-05-10 14:18               ` Stephen Leake
2002-05-10 15:18                 ` Rajat Datta
2002-05-14  9:09                   ` John McCabe
2002-05-14 14:16                     ` Robert Dewar
2002-05-14 16:24                       ` John McCabe
2002-05-14 15:22                     ` Ted Dennison
2002-05-10 15:34                 ` Arnaud Charlet
2002-05-10 16:32                   ` Preben Randhol
2002-05-10 13:22             ` Marin David Condic
2002-05-13 14:56               ` Ted Dennison
2002-05-11 10:34           ` Florian Weimer
2002-05-11 10:34           ` Florian Weimer
2002-05-13 13:06           ` Georg Bauhaus
2002-05-14 15:31             ` Ted Dennison
replies disabled

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