rust/src
2011-05-10 14:04:34 -07:00
..
boot Un-revert "Use different syntax for checks that matter to typestate", fixing the problem. 2011-05-02 17:50:46 -07:00
comp rustc: Get rid of native Rust glue for all upcalls except the exit task glue 2011-05-10 14:04:34 -07:00
etc More python portability fixes (for windows). 2011-05-03 16:53:36 -07:00
lib Failure to re-stage changes strikes again. 2011-05-06 16:54:50 -07:00
rt rt: Consistently refer to structs as structs and classes as classes. Clang complains about this. 2011-05-08 21:10:42 -07:00
rustllvm Stop stringifying integers to get integral constants. 2011-05-07 18:54:23 +00:00
test rustc: Alias fix part 2 -- Check that the aliasness of function parameters matches. Add a test case. 2011-05-09 14:00:50 -07:00
README
run.py
snapshots.txt Register new snapshots. 2011-05-09 15:07:53 -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.