This is a prototype system for development of the C∀ ("Cforall") compiler.
It is used to explore algorithmic and architectural modifications to the primary C∀ compiler.
The prototype system does not implement a full C∀ compiler, but instead does expression resolution on an input language capturing the major features of C∀ (see parser.h
for a description of the input language, and tests/*.in
for examples).
make rp
will build the resolver prototype; available build flags:
DBG
(default absent)- absent: release build
0
: development build1
: development build with extra safety checks2
: development build with extra safety checks and debug traces
DIR
(defaultbu
or last used)bu
: bottom-up resolutionco
: bottom-up-combined expression resolutiontd
: top-down resolution
ASN
(defaultdca
or last used)dca
: deferred-cached assertion satisfactiondef
: deferred assertion satisfactionimm
: immediate assertion satisfactiontop
: top-level assertion satisfaction
ENV
(defaultper
or last used)bas
: basic type environmentinc
: incremental inheritance type environmentper
: persistent union-find type environment Changing any build flag will cause a clean rebuild.
Regression tests are in tests
and can be run with run.sh
. Various benchmark suites are located in bench
, cfabench
, cfastdlib
, and cfaother
, and can also be run with the appropriate run.sh
.