as you might have noticed, lots of work has been done on the bootstrap
branch ( see: http://github.com/bakkdoor/fancy/tree/bootstrap ).
That branch basically is a merge of the rbx_bytecode branch as well as
the parser_ext branch. The parser_ext branch provides a new parser
based on the original bison & flex based parser we used for the C++
interpreter. We've changed the grammar to be used as a c-extension for
rubinius. This means we don't rely on the original interpreter anymore
for the parsing in the rbx bytecode compiler.
As you can see, the bootstrap branch doesn't contain any C++ code
anymore - it's all written in either ruby or fancy. Once we get
everything working (meaning, all the tests in the tests/ directory run
without errors), we can rewrite the bytecode compiler code (currently
in rbx/compiler/) in fancy and have a fully bootstrapped fancy
implementation running on rubinius.
My suggestion would be in the meanwhile to remove the parser_ext &
rbx_bytecode branches, merge bootstrap into master and keep working on
the master branch. We can keep the bootstrap branch around for further
work regarding the actual bootstrapping of the compiler (rewriting the
compiler in fancy). But since we still need to fix/add some stuff to
be able to do that fully, I'd suggest doing that in the master branch
and merging those changes back into bootstrapping.
So basically my idea is to keep normal development in the master
branch going, except for everything related to rewriting the compiler
stuff in fancy.
What do you think? Suggestions?
GPG Key ID: 0x2345b203