Hi All,
It has been a while since any major changes to Csmith. I
think it's time to implement some of the long overdue requests
that require some architecture adaptions. The two on top of my
head are:
1) generate random programs up to a certain size. The limit
is likely to be specified initially in terms of the number of
the AST nodes. Hopefully we could allow the limit to be LOC
later.
2) externalize the C grammar. We currently "encode" the
grammar in the generator itself. We should externalize the
grammar into an input file. This change will pave way for
faster extension to C constructs not yet supported, as well as
C++ constructs.
To sustain such major changes, the code base needs to be
cleaned up first. I will do that in the near future.
-Xuejun