rust/src
2011-02-14 15:52:38 -08:00
..
boot Revert EI_OSABI ELF header field back to 0 for Linux 2011-02-10 12:00:45 -08:00
comp Expand expr_rec to take its optional trailing 'with' parameter. 2011-02-14 15:52:38 -08:00
etc Make the valgrind suppressions file compatible with older versions 2011-01-07 01:17:05 -05:00
lib Add std.path module for pathname manipulations. 2011-01-10 18:17:24 -08:00
rt Commit the trap-failure hack to the runtime, since I keep using it in my workspace anyways. 2011-02-10 11:29:47 -08:00
test Add support for unsigned binops. Closes #57 2011-02-14 08:31:52 -08:00
Makefile Add support for unsigned binops. Closes #57 2011-02-14 08:31:52 -08:00
README Update various README files in the tree. 2011-01-26 16:00:19 -08: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/llvm          - LLVM-based alternative back end
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

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