rust/src
Tim Chevalier d7e8818414 Further work on typestate. Handles expr_rec and expr_assign now.
Also changed the ts_ann field on statements to be an ann instead,
which explains most of the changes.

As well, got rid of the "warning: no type for expression" error
by filling in annotations for local decls in typeck (not sure whether
this was my fault or not).

Finally, in bitv, added a clone() function to copy a bit vector,
and fixed is_true, is_false, and to_str to not be nonsense.
2011-04-12 14:31:46 -07:00
..
boot Disable effect checking in rustboot 2011-04-08 18:44:58 +02:00
comp Further work on typestate. Handles expr_rec and expr_assign now. 2011-04-12 14:31:46 -07:00
etc Fix indentation in tidy. 2011-03-19 18:34:46 -07:00
lib Further work on typestate. Handles expr_rec and expr_assign now. 2011-04-12 14:31:46 -07:00
rt Remove silly legacy glue-offset encoding, predicate runtime adjustments by ABI. LLVM should inline most glue now. 2011-04-09 00:54:46 +00:00
rustllvm Add LLVMAddLoopIdiomPass. 2011-04-12 16:13:31 -04:00
test Un-XFAIL generic-tag-corruption.rs. 2011-04-12 12:58:43 -07:00
README Mention test/bench in README 2011-03-14 15:52:48 -07:00
run.py Make run.py only search in the run-pass directory. 2010-09-07 18:41:07 -07:00

This is preliminary version of the Rust compiler(s).

Source layout:

boot/              The bootstrap compiler
boot/README        - More-detailed guide to it.
boot/fe            - Front end (lexer, parser, AST)
boot/me            - Middle end (resolve, check, layout, trans)
boot/be            - Back end (IL, RA, insns, asm, objfiles)
boot/util          - Ubiquitous helpers
boot/driver        - Compiler driver

comp/              The self-hosted compiler ("rustc": incomplete)
comp/*             - Similar structure as in boot/

rt/                The runtime system
rt/rust_*.cpp      - The majority of the runtime services
rt/isaac           - The PRNG used for pseudo-random choices in the runtime
rt/bigint          - The bigint library used for the 'big' type
rt/uthash          - Small hashtable-and-list library for C, used in runtime
rt/{sync,util}     - Small utility classes for the runtime.

test/              Testsuite (for both bootstrap and self-hosted)
test/compile-fail  - Tests that should fail to compile
test/run-fail      - Tests that should compile, run and fail
test/run-pass      - Tests that should compile, run and succeed
test/bench         - Benchmarks and miscellanea

Please be gentle, it's a work in progress.