AW: [mono-vb] VB.NET Compiler - Regarding
Jochen Wezel (CompuMaster GmbH)
Wed, 5 Jan 2005 13:14:09 +0100
This sounds great, I think. This would help the basic compiler to profit =
from all optimizations which have been and will be done in mcs compiler.
Unfortunately, I'm not able to help in compiler tasks :(
Best wishes for 2005
Von: email@example.com =
[mailto:firstname.lastname@example.org] Im Auftrag von Jambunathan K
Gesendet: Mittwoch, 5. Januar 2005 13:00
Betreff: [mono-vb] VB.NET Compiler - Regarding
As you might be knowing, I had been contributing to mono's VB.NET =
compiler for a brief period of time (in my capacity as an employee of
Now that I am no more bound with Novell, I am one among the whole lot of =
you involved with Mono.
Over the Christmas week, during some spare time, I had been spending =
some time building a VB.NET compiler out from the then mcs-HEAD. I am =
calling this new mcs derivative as bmcs ('a pun on gmcs').
I have essentially replaced C#'s tokenizer and parser (cs-tokenizer.cs & =
cs-parser.jay) with the mbas' tokenizer and parser (mb-tokenizer.cs & =
mb-tokenizer.jay) and I have got to a point where I can compile some =
simple, but not so trivial 'VB.NET programs'. I plan to evolve the =
current C# core towards a VB.NET core by liberally borrowing from the =
curent mbas code.
Here are e a few strong reasons why I indulged in such an experiment:
The current mbas code branched off from mcs sometime in 2001-2002.
This essentially leaves the "compiler core" as an alpha quality one.
Also two years is too much of a time that the code bases have diverged =
As I see, during the last two years, the VB.NET compiler code has =
essentially evolved on two fronts: 1) Merging patches or features from =
the mcs core which was added to mcs since the mbas fork 2) Introducing =
VB.NET specific semantics.
With the new approach 1) the effort spent on (1) gets reduced =
significantly 2) The trees could be get in sync so that pulling in =
partial classes or generics supoort in feature would be relatively a =
simple task. 3) It opens up possibility of a single mammoth code base =
that can be built to either C# compiler (mcs/gmcs) or VB.NET compiler =
(bmcs). Or atleast it will show up avenues for building a reusable code =
emission library from the current compiler for building new .NET =
I would be spending some time pampering this new beast. It is going to =
be essentially a night job and develop in bits and pieces.
If the community sees a value in this experiment and (IS interested in =
co-operatuing with me) I am willing to get in a new subdir mcs/bmcs in =
Otherwise I can privately nurture my efforts and release it to the =
community once it is a sufficiently evolved.
I invite views from the community. (I would be particularly happy to =
hear from anyone who is willing to co-opearte with this effort of
With best wishes for the new year 2005,
Mono-vb mailing list