|C compiler front end wanted email@example.com (David Given) (2008-06-15)|
|Re: C compiler front end wanted firstname.lastname@example.org (Richard Pennington) (2008-06-15)|
|Re: C compiler front end wanted email@example.com (David Given) (2008-06-15)|
|Re: C compiler front end wanted firstname.lastname@example.org (Sammy) (2008-06-15)|
|Re: C compiler front end wanted email@example.com (2008-06-16)|
|Re: C compiler front end wanted DrDiettrich1@aol.com (Hans-Peter Diettrich) (2008-06-15)|
|Re: C compiler front end wanted firstname.lastname@example.org (Stefan Monnier) (2008-06-17)|
|Re: C compiler front end wanted email@example.com (David Given) (2008-06-20)|
|Re: C compiler front end wanted firstname.lastname@example.org (Michael Beck) (2008-06-20)|
|[2 later articles]|
|From:||David Given <email@example.com>|
|Date:||Sun, 15 Jun 2008 22:09:47 +0100|
|Posted-Date:||16 Jun 2008 01:29:40 EDT|
Richard Pennington wrote:
> You may want to take another look at Elsa. I've been successful using
> Elsa as a C front end for LLVM. I can compile most of C (e.g. bzip2,
> etc.) to a running program after a couple of weeks of work.
> What sort of problems have you encountered building Elsa? It compiled
> cleanly for me an my Linux box.
I get two problems, possibly related: the Perl script that munges the
output of flex loses a line when inserting a #define, that breaks the
code (it's the closing line of a comment...); and then once fixed, I get
multiple definitions of yyFlexLexer::yywrap() when linking.
This looks to me very much as if the authors are using a different
version of flex than I am (2.5.34), and their Perl script is making
assumptions that aren't valid for my flex's C++ boilerplate.
(Interesting you mention using Elsa as a front end for LLVM. How's Clang
doing these days? What's your front-end like compared to it?)
Naturally, about an hour after posting my message, I found a rather
promising library called sparse:
This is a full ANSI C frontend that appears to meet my requirements
ideally; it even comes with two example clients that are compilers! It
even breaks down the AST expression trees into 3op pseudoinstructions.
I'm not entirely sure that's what I want, but I'll do some
experimentation. Unfortunately, it's completely undocumented and I don't
actually know if it's complete or not.
Anything else interesting out there?
Return to the
Search the comp.compilers archives again.