[Mono-dev] ilasm as a library

Miguel Garcia miguel.garcia at tuhh.de
Sun May 16 11:12:55 EDT 2010


Actually I did not mention IKVM.Reflection.Emit, nor Mono Cecil (old and 
new), and so on because for now I'm after a temporary solution, in the form 
of in-memory IL compilation (none of the CIL-emit libraries address this use 

Given that Microsoft's ilasm can only be invoked as a command-line tool, it 
would be great if Mono ilasm would sport a homepage showing off this 
capability (I for one would find a code example or two very useful).

What kind of programming language is Scala? It's THE post-functional 
programming language! ;-) Details here: http://www.scala-lang.org/node/4960

About  JayC, I made some more browsing and found this 
http://code.google.com/p/jayc/ , which I guess is the version gmcs uses, 
right? (otherwise, the correct URL would be welcome).



"Robert Jordan" <robertj at gmx.net> wrote in message 
news:hsotti$2om$1 at dough.gmane.org...
> On 16.05.2010 15:22, Miguel Garcia wrote:
>> Hi,
>> I wanted to see how gmcs generates assemblies, given that I want to
>> do the same for the Scala.Net compiler [1] (which as of now generates
>> .il files).
> It is using System.Reflection.Emit, which means that there is
> no intermediate IL source code generation involved.
>> I started exploring codegen.cs and found a reference to
>> Mono.CompilerServices.SymbolWriter . That may save an intermediate
> The SymbolWriter is used to emit debugging infos. It's not a code
> generator.
>> step, but how about programmatically invoking the Mono IL Assembler
>> [2] passing an in-memory .il file as input? (and BTW, can Jay
>> generate C#-only parsers?)
> Jay, as a LALR(1) parser generator, is not limited to C# at all.
>> A code snippet on how to use Mono's ilasm as a component would be
>> most welcome!
> In the .NET ecosystem, compilers usually don't go down the
> route of generating IL *source code*. Look at System.Reflection.Emit,
> IKVM.Reflection.Emit, DLR depending on which kind of language
> Scala is (I have no idea).
> Robert 

More information about the Mono-devel-list mailing list