[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mason-devel
Subject:    Parse (again)
From:       Autarch <autarch () urth ! org>
Date:       2000-03-18 20:24:16
[Download RAW message or body]

Ok, here's yet another version.

The code is very similar to the last one I sent out except for one major
change.  Previously, the parse ran through a component file and stored all
the different sections internally, then parsed them into the object code,
without respect for the order in which they originally appeared (more or
less).  This new version calls the appropriate parsing method as soon as a
section is encountered.  This has two effects:

1. I think it becomes more useful for other purposes and subclassing as it
may sometimes be desirable to preserve the order that sections exist (for
example, to know that args came before init).

2. It no longer allows multiple instances of most sections (previously
multiples of most sections such as args, init, once and such were silently
concatenated).  This was more along the lines of a bug then a feature.

Here's the remaining issues I see in integrating this rewrite:

1. Add in handling fir new flags, attr, and other sections (this is fairly
trivial).

2. Change exception throwing to ne string based rather than hashref based.

3. I think there's a bunch of state being maintained that can be dispensed
with but I need to really sit down and concentrate to figure this out but
right now I'm at a friend's house and he has a wackass keyboard which is
distracting me.

4. Add errors if we encounter multiples of sections which should only
happen once.

-dave

/*==================
www.urth.org
We await the New Sun
==================*/

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic