[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:10415] Re: Nested modules and classes?

From: "Ben Tilly" <ben_tilly@...>
Date: 2001-02-06 11:19:54 UTC
List: ruby-talk #10415
wys@helbling.ch (Clemens Wyss) wrote:
>
>STRATEGY PATTERN?

No.

>"Ben Tilly" <ben_tilly@hotmail.com> wrote in
><LAW2-F64R6IHupeyyfI0000484b@hotmail.com>:
>
><<SNIP>>
> >    class RecDescent
> >
> >      # Try these rules in order
> >      class Alt
><<SNIP>>
> >
> >        def parse (str, pos=0)
><<SNIP>>
> >        end
> >      end
> >
> >      # Match all rules in turn
> >      class InOrder
><<SNIP>>
> >
> >        def parse (str, pos=0)
><<SNIP>>
> >        end
> >      end
> >
> >
> >      # And so on, more classes for each type of rule
> >
> >    end
> >
>Why not have a base (strategy) class, say RecDescentParseStrategy, on the
>"same level" as RecDescent and let Alt and InOrder (and ...) be
>subclasses of RecDescentParseStartegy? At least the attr_accessor and the
>initialize method could be inherited.
>
I am still writing test suites, etc for this, but at the
moment I have 7 classes, 6 of which correspond to types
of rules.  You happened to see the only two with a list
of other rules as attributes.

You are leaping to a generalization that isn't there.
The appropriate generalization (at least at the moment)
is that a rule shall have a parse method which is passed
a string and a position (which defaults to zero) and
returns output and a new pos.  An output of nil means
that it failed to match.

The types of rules that I have right now are the
following.  [Alt]ernative rules (match one of).  [Catch]
a parse error.  [Eat] (ie throw away) output from another
rule.  Try to [GetToken].  Match rules [InOrder].  Match
a rule [Rep]etitively (min to max times with a max of nil
being infinity, default to 0..infinity).

As you can imagine, the constructors and attributes vary
wildly...

Cheers,
Ben
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com

In This Thread

Prev Next