Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: C compliler, download available

0 views
Skip to first unread message

cr88192

unread,
Sep 3, 2007, 9:21:23 AM9/3/07
to
basically, someone on another group recommended I post here.
sadly, I have little idea just yet what to expect here.


this is a hobby C compiler of mine, also used for a scripting engine in a
larger project of mine, but by no means the kind of 'industrial strength' or
'rock solid' piece of code one would expect from an older or more popular
compiler (well, after all, I only started on this whole thing around
mid/late march...).

well, if anyone feels like looking at it or commenting, could be cool, may
look back and/or respond later.
or if this is a bad group for this, well, I am sure I will find out...


----
so, yeah, a newer version of my C compiler is available.
though I forgot to include a liscense, assume for now it is LGPL.
yeah, I know, some people dislike the LGPL it seems, oh well...


general overview:
this is a dynamic/incremental C compiler.
aka, all the compiling and linking is done at runtime.
the intent is not so much for it to be used standalone, rather, to be
embedded in some kind of 'host app', and used as a kind of scripting
extension feature.

the C compiler is not an interpreter (though there is a script interpreter
hidden in the mix, it is for my previous script lang...), and I don't
believe it to particularly count as a JIT either.


compiler here:
http://cr88192.dyndns.org:8080/bgbscr12_2.zip

on site:
http://cr88192.dyndns.org:8080/

note, may be a little tweaky getting it to build, that is the cost.
note that the mingw files are the only really "up to date" makefiles.


changes:
many improvements and fixes and such...
major internal changes...

added SSE (currently assumed), and support and vector types (geometric
vectors, quaternions, complexes, ...).
added an (incomplete) x86-64 target.
somewhat changed the handling of memory references.
much more heavy use of the register allocator (and a much more existant
allocator...).
different stack-management practices.
...

I may eventually also add the ability for this to work as a static compiler.
given the existance of SSE-based builtin vector support, it may have a
natural advantage (vs, say, gcc) in certain specific tasks, such as
linetracing/raytracing, physics code, ... (the alternative would be to
compile them as scripts, using a more normal statically-compiled version as
a fallback).

gcc provides vectors, but not geometric ones, where by geometric I means,
supports common vector operations (dot and cross product, ...).

I am slightly tempted though to modify my vector support to look a little
more like GLSL (mostly renaming a few things). aka, aliasing 'v3f' and 'V3F'
to 'vec3' and 'VEC3', ...


downsides:
several common C features are still absent ('static' keyword, initialized
structs, ...).
the existence of LLVM+clang gives me some doubt...

so, yeah, misc hobbyist effort mostly...


or such...


0 new messages