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
code.cs
Description: Binary data
