[mono-vb] Future of Mono's VB.NET

Rolf Bjarne rolfbasura at ya.com
Sun Apr 30 19:10:13 EDT 2006


I've been working on a vb compiler for some time now as a hobby and it is
is currently able to compile simple files
correctly. The compiler needs some work in order to be usable, but nothing
that can't be overcome.

My compiler has the following characteristics:
- It is written in vb, but it does currently not compile itself (I don't
know if it runs on mono, I tried to use as
little as possible of the vb runtime in the compiler, but it is completely
impossible not to use it).
- It supports all vb 8 features (except the My namespace for the moment),
including generics.
- The parser is hand written, and is feature-complete (unless the My
feature requires changes in the parser, but I
don't think so).

Major todos:
- Practically no errors are reported, and no error recovery is implemented
- Implicit and explicit conversions.
- Debug (pdb) file generation.

I created a sourceforge project some time ago for the compiler
(http://sourceforge.net/projects/vbnc) and some old
code is available in cvs (http://cvs.sourceforge.net/viewcvs.py/vbnc/),
but this code is not at all close to the
state of the compiler now. If you are interested in having a look at it I
can upload the current code to svn,
though it may take some time since I have to look through it for things
that are not supposed to be made public.

I can try to adopt the compiler so that it can be used by the Mono project
(including implementing missing
functionality in the vb runtime), though I am not quite sure how much work
would be needed. Anyway I'd love to do
this as a Google Summer of Code project, if possible!

Best regards
Rolf Bjarne Kvinge

On Thu, 20 Apr 2006 15:52:09 +0200, Miguel de Icaza <miguel at novell.com>

> Hey,
>     Yesterday I met with Rafael and we discussed a bit what we wanted to
> do with Mono's VB compiler.
>     The situation is that today's VB compiler is based on a fork of mcs
> circa 2002.  And although some of the improvements to mcs made it into
> mbas, they were not all incorporated.
>     To make things worse, the new VB.NET supports generics.   So we are
> wondering whether it would not be a better idea to start a fresh fork
> from gmcs (along the same proposal that Jambunathan had a year or so
> ago) and implement VB that way.  Lets call this effort "mbas2".
>     The idea would be to go in chunks: we could integrate individual
> commits that were done to the old mbas tree, and determine one by one
> whether it applies to mbas2.
>     Maybe not all of the code can be salvaged, but if we can get even
> 40% of the old code migrated into the new tree it would be a big plus.
>     Now, this might be insane, because once I was talking to someone on
> the VB.NET team and when I told them how mbas was written he said "I did
> not think that VB.NET could be implemented that way".   Maybe our
> approach is completely busted, but I do not know enough about VB.NET to
> know.  I just know that if the original mbas idea made sense, we should
> probably start from scratch.
>     Now, since we are already too close to 1.2, we should probably
> develop this on a separate tree, to avoid breaking the build of
> "mono/mcs", so it should be another top level module in the Mono
> repository.  And we should probably also kill "mcs/bmcs" (at least we
> could retrieve the few patches that were done there).
> Miguel.
> _______________________________________________
> Mono-vb mailing list
> Mono-vb at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-vb

Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.5.1/327 - Release Date: 28/04/2006

More information about the Mono-vb mailing list