[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My Favorite soapbox : XML linkage (was Re: [DotGNU]Jabber-thon)

From: Rhys Weatherley
Subject: Re: My Favorite soapbox : XML linkage (was Re: [DotGNU]Jabber-thon)
Date: Fri, 07 Jun 2002 10:43:45 +1000

> Are we going to implement this interface that produces
> Parse trees from C# Code?
> How are we going to implement it if not to embed the
> compiler?

This API is only of use to C# compiler tool writers,
which is a very small community.  If they really
need this functionality, then they can either use
Mono's, or build their own.  I consider it to be a
"high-level library", and hence not part of DotGNU's
current implementation brief.

Using cscc for this purpose would be a gross abuse of
the cscc code - code that runs in the CLI must be
hardened against multi-threaded access, GC-aware, and
able to run subordinate to an outside controlling
process.  Cscc wasn't designed to work that way.
It was designed to be a tool that runs from a Makefile
within the context of a GNU toolchain.

> How can anyone provide the important part of providing
> the parse trees to implement
> "System.CodeDOM.Compiler.ICodeParser" from inside of
> LGPL/X11 license without reimplemented the GPLed
> parser code?

There are special variants of the GPL that allow the
code to be used for specific purposes.  e.g. Bison
is GPL, but proprietry programs can use it to generate
parsers, even though the parser contains a huge chunk
of GPL'ed LALR(1) code:

   As a special exception, when this file is copied
   by Bison into a Bison output file, you may use that
   output file without restriction.

Do anything else with that parser code and the GPL comes
into full force.  But merely using the tool in the manner
it was designed is perfectly OK.

Something similar can be done with mcs, if Ximian
chooses to do so.  Whether they will or not is a
matter for them to decide, not DotGNU.  It's their
code and their choice.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]