Hey All,
I was thinking about a new approach to this whole topic. Has anyone worked
with DSLs before? We could write a DSL->IL (DSL compilers are easy to write
because the programmer non-intuitively parses the code as he writes it)
compiler that is far more efficient than a C# compiler. We would then be
able to concentrate on the architecture of the Kernel instead of the
implementation.
I have also been thinking. We need to extend MSIL to allow for assembler
commands (or am I lost, are they already there?). Something like the
following:
... IL
asm{
mov ax, bx
}
ret
Our legendary AOT man could then do a simple replacement on the IL when he
compiles it, e.g. (excuse the IL, I haven't worked with it enough):
Ld.arg Foobar
Asm
{
pop ax
}
Ret;
Would become:
Asm
{
Push (address of foobar)
}
Asm
{
Pop ax
}
Asm
{
Ret
}
Which would then become:
Asm
{
Push (address of foobar)
Pop ax
Ret
}
What you all think? The IL would simply get a new construct:
ASM ::= <0xFA> [int8 length]
Which could be chained if the ASM is longer than 256 bytes. E.g.
0xFAFF [256 bytes of assembler] 0xFAFF [256 bytes of assembler] 0xFA01 [1
byte of assembler].
^^ Is actually one assembler block. This is how some binary XML serializers
work.
*Do I finally I have write access to the sandbox?*
Jonathan Chayce Dickinson
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-Developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers