I have been following the discussion and it seems there
is a lot of confusion over here.

> But there is also the parser side of the Compiler that
> System.CodeDom.Compiler/CodeDomProvider.CreateParser

        CodeDomProvider itself is an abstract class, so 
there is no way you can instantiate it and call CreateParser (). 
CreateGenerator(string filename) and CreateGenerator(TextWriter output)
call the abstract CreateGenerator(), thus there is no way you can use
them without implementing CreateGenerator, whereas CreateParser()
returns null. You can test all this with the attached class.

        The CodeDom is implemented by the Compiler, in MS.NET
case the Microsoft.CSharp and Microsoft.VisualBasic etc..
A quick search on google results in
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q304655
        To summarise the above link, you need to instantiate
Microsoft.CSharp.CSharpCodeProvider class and then call CreateParser
or CreateCompiler.

        Now if mono includes a Mono.CSharp assembly which 
is a part of Compiler and under GPL there shouldn't be 
any problems. One needs to explicitly link the Mono.CSharp 
assembly to use the CodeDom. Well he is free to use 
any other CodeDom provider if he doesn't want to use GPL.

Happy Hacking,
Ajay

Attachment: code.cs
Description: Binary data

Reply via email to