On Tue, Jul 30, 2002 at 11:55:54PM +0900, Justin Johnson wrote:
> 
> After several rewrites of my GC memory code and implementing most of the
> code for Ruby runtime, I'm now posed with the issues of parsing and language
> specification.  All the class/module/object/methods/vars code is in place.
> It's cool to see the arms and legs working...now to put the heart in place!
> 
> Goals:
> 1. Use Bison to generate parser - if I can't integrate that well with C++,
> use PCCTS instead.

Have you considered using Spirit (http://spirit.sourceforge.net/)?
Spirit lets you write your EBNF grammar as C++ code, by using template
tricks and overloaded operators.  Very nifty.

> I'm hoping that by creating a solid C++ version, I've improved the API and
> reduced the number of programming errors possible through safer type
> checking etc.

What exactly do you mean by "safer type checking"?  This statement can
mean lots of different things.

Also, don't forget to consider exception-safety.  It's important in
Ruby, since almost any function can raise an exception.  It would be
even more important in a C++ implementation of Ruby.

Paul