comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: Ada 'hello world' for Android; success!
Date: Fri, 04 Nov 2011 08:18:15 -0400
Date: 2011-11-04T08:18:15-04:00	[thread overview]
Message-ID: <82ty6kkrnc.fsf@stephe-leake.org> (raw)
In-Reply-To: 4eb31240$0$6549$9b4e6d93@newsspool4.arcor-online.net

Georg Bauhaus <rm.dash-bauhaus@futureapps.de> writes:

> On 03.11.11 12:36, Stephen Leake wrote:
>
>> In my opinion, this recursive descent style is much harder to
>> understand. In particular, it is very difficult to see that the program
>> structure matches the grammar structure.
>
> Yes, recursion does take getting used to.  I am sketching a generator
> that will remove the burden of writing the recursive subprograms.

That would help a lot. I much prefer debugging tools to debugging
individual applications; my effort is magnified by the number of times
the tool is used.

> Its input will be compatible with OpenToken's operator based notation.

Excellent!

>    Example : constant Example_Rules.Grammar := Example_Rules.Null_Grammar and
>        S_Prime <= S and
>        S       <= L & Equals & R and
>        S       <= R and
>        L       <= Asterisk & R and
>        L       <= ID and
>        R       <= L;
>
>    procedure Produce_Subprograms (Position: Lists_of_Rules.Cursor);

In current OpenToken, we have 'procedure Parse' instead of 'procedure
Produce_Subprograms'; the rest is the same. I gather
'Produce_Subprograms' generates Ada code, that must then be compiled.

I'm not clear what the benefit of this is over the current OpenToken
approach. It avoids the run-time allocation currently in OpenToken, but
since that's hidden from the user, and (presumably) fully
tested/debugged, why does that matter?

On the other side, LR parsing is much more efficient than recursive
descent (except in special cases).

One thing in OpenToken that really needs improving is the lexer. It is
horribly inefficient compared to Lex. It does have the advantage of
being much simpler to implement and test.

-- 
-- Stephe



  parent reply	other threads:[~2011-11-04 12:18 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-27  1:18 Ada 'hello world' for Android; success! Stephen Leake
2011-10-27  7:12 ` Alex R.  Mosteo
2011-10-28 12:51   ` Stephen Leake
2011-10-27 10:50 ` Jeffrey Creem
2011-10-28 13:01   ` Stephen Leake
2011-10-27 10:58 ` Brian Drummond
2011-10-28  1:37 ` Shark8
2011-10-28 12:22 ` Anatoly Chernyshev
2011-10-29 13:37   ` Stephen Leake
2011-10-29 14:46     ` Anatoly Chernyshev
2011-10-29 20:47       ` Brad Moore
2011-10-29 21:59         ` Anatoly Chernyshev
2011-10-30  3:51           ` Brad Moore
2011-10-30  7:20             ` Anatoly Chernyshev
2011-10-30 10:56       ` Stephen Leake
2011-10-30 17:32         ` Brad Moore
2011-10-29 15:32     ` Georg Bauhaus
2011-10-29 16:09       ` Simon Wright
2011-10-29 17:32         ` tmoran
2011-10-30 11:38           ` Stephen Leake
2011-10-29 20:51         ` Brad Moore
2011-10-30 11:32       ` Stephen Leake
2011-10-31 22:34         ` Randy Brukardt
2011-11-01  8:41           ` Stephen Leake
2011-11-01  9:30         ` Georg Bauhaus
2011-11-02 15:55           ` Stephen Leake
2011-11-02 17:37             ` Robert A Duff
2011-11-08  3:56               ` Randy Brukardt
2011-11-03  0:37             ` Georg Bauhaus
2011-11-03 11:36               ` Stephen Leake
2011-11-03 15:24                 ` Robert A Duff
2011-11-03 18:43                   ` Pascal Obry
2011-11-03 22:14                 ` Georg Bauhaus
2011-11-04  8:48                   ` Dmitry A. Kazakov
2011-11-04 12:18                   ` Stephen Leake [this message]
2011-11-04 15:03                     ` Georg Bauhaus
2011-11-05 16:56                       ` Stephen Leake
2011-11-01  9:52         ` Dmitry A. Kazakov
2011-11-02 15:59           ` Stephen Leake
2011-11-02 16:27             ` Dmitry A. Kazakov
2011-11-02 17:38               ` Simon Wright
2011-11-10 17:25 ` Stephen Leake
2011-11-27 15:18 ` mockturtle
2011-11-28 22:35   ` Ada 'hello world' for Android; success! (but music player failure) Stephen Leake
2011-11-29 11:23     ` Georg Bauhaus
2011-11-30  3:33       ` Stephen Leake
2011-11-30 18:57         ` Georg Bauhaus
replies disabled

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