[Mono-list] Re: Should I fork the MonoBASIC project out of MCS?
A Rafael D Teixeira
rafaelteixeirabr@hotmail.com
Thu, 14 Feb 2002 16:20:19 -0200
>From: "Kunle Odutola" Subject: RE: [Mono-list] Re: Should I fork the
>MonoBASIC project out of MCS? Date: Thu, 14 Feb 2002 16:38:54 -0000 >
>-----Original Message----- > From: mono-list-admin@ximian.com
>[mailto:mono-list-admin@ximian.com]On > Behalf Of Miguel de Icaza > Sent:
>13 February 2002 21:55 > To: A Rafael D Teixeira > Cc: Ravi Pratap M;
>mono-list@ximian.com > Subject: [Mono-list] Re: Should I fork the MonoBASIC
>project out of MCS? > > > Hello! > > > Do you think it is better to abandon
>our previous design of a single > > executable capable of compiling many
>sintaxes? I´ve already > merged MonoBASIC > > code with the Feb-10 snapshot
>and it is working, albeit still > lacking true > > MonoBASIC compiling. > >
>It is funny that you bring this up, because I just fired you an e-mail >
>about this precise subject. For the sake of those reading the mailing >
>list, I believe that having two compilers share the current driver will >
>not work. > > Visual Basic and C# have vastly different semantic analysis >
>requirements, and different ways of generating code, so at this point I >
>am very skeptical of using the C# code base as the VB compiler code > base.
>
>Disagree. The VB.NET language (which MonoBASIC is designed to compile) is
>*almost* C# with a VB-derived syntax. I suspect that that there is a great
>deal more similarity once you get past the lexer/scanner than there are
>differences. If we were talking about earlier versions of VB, you
>[probably] would be right.
>
>What sort of differences in semantic analysis have you encountered or
>foreseen that strongly suggest splitting the compilers?. I haven't looked
>at mcs in detail for a while but there is a great deal of value in having a
>framework that allows for multiple compiler front-ends to share an
>increasingly sophisticated back-end. Or back-ends, in due course...
Well, I´m duplicating mcs to mbas, trying to keep it capable of compiling
both languages. Some things must be added/changed like supporting
case-insensitive resolution of symbols, for MonoBASIC´s sake.
>
>It reduces the TTM for adding new languages to Mono. Perhaps, what is
>needed is a re-factoring of msc to have explicit interface for plugging in
>different implementations of pretty much everything. This should cater for
>extensions/implementations that are compiled into mcs.exe as well as those
>supplied as stand-alone or external assemblies.
>
>Kunle
Also refactoring many of the structural classes is in the plans: my home
version already switches parsers based on file extension, but more is
needed, like achieving unbiased error messages and/or parameterized error
messages.
Also higher level semantics like Generics (Parameterized classes), Multiple
Inheritance, Closures, ... will have classes/interfaces in the backend to
expedite adding new languages...
Happy hackings...
Rafael Teixeira
Brazilian Developer
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com