Ok, just a suggestion ;)
In that case, LLVM is a good choice. You "just" have to write your frontend and generate LLVM IL.
That can be a bit tricky but LLVM will produce .obj for you, and you will have many choice about optimization passes to apply.
If you choose that path, don't hesitate to PM me if you need help !
alright,
ps you ask what kind of language it would be, this is basically c with some changes to make it more the kind i would like, some
main features would be things like
1)
Something a,b,c,x,y,z;
x, y, z = f(a,b,c)
passes structures through the implicit adress (not by value) read only way and returns values also thru adresses to upper scope
2) some big doze of syntaktic sugar like
a,b,c = x,y,z;
(also thinning the ammount of present symbols esp made ;
optional etc, made free symbol names like
int `this is some free name` = 10;
void `some function name`()
{
}
3) ability to reach to static data of another function
f()
{
static x=1;
}
g()
{
f.x = 10;
}
4) hardware support for sse realated types fooat4 double2 double4 etc
float4 x = 10, 20, 30, 40
float4 y = 10, 20, 30, 20
float4 z = x*y
5) better suport for modular programming (by made storing
type info for symbols in obj so no declatarions needed tu use
a symbol (only a module name)
module myProgram;
reaches window, audio, bitmap;
void main()
{
window init(10,10, "some window");
window show();
audio play("some.mp3"); //calls the function play() in module audio.obj
}
6) support for full arrays (with two pointers begin and end
not half arrays like here only begin pointer)
7) reallocked arrays
int tab[1000];
realloc tab[3000];
8) yet more
Im working on il almost 10 years now, (mentioned ideas my seem easy here but it took a years of deep philosophical thinking to uncover them)
would like to get it running some day