[cfe-dev] code conversion challenge
Philip Ashmore
contact at philipashmore.com
Mon Feb 27 23:01:53 PST 2012
Hi there.
Here's the problem:
Given the source file with this content:
int main(int argc, char * argv[])
{
/* all ok */
return 0;
}
I want to convert it into something like this:
module
( function
( Name("main")
, Returns("int")
, Parameters
( Parameter(Type("int"), Name("argc")
, Parameter(Type(Array(Pointer("char"), Size()), Name("argv")
)
, Body
( Comment("all ok")
, Return(Int(0i32))
)
)
)
This is a description format that has a binary representation that allows for
easy depth-first and breadth-first traversal.
With it one can describe C/C++, make files, pre-processor macros etc. - the
reader supplies the meaning to the "calls" like "module".
With it I hope to be able to describe things like interfaces and be able to
automate the glue that allows it to be called from scripting languages,
and much more.
I haven't even given this format a name, but I can convert the text above to
and from the binary representation.
So that's the challenge - any takers?
Regards,
Philip Ashmore
More information about the cfe-dev
mailing list