rust/src
2010-08-11 16:08:45 -07:00
..
boot Increment ref counts of objects sent along channels. 2010-08-11 16:08:45 -07:00
comp Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as a cast notation. Closes #129. 2010-07-27 19:21:51 -07:00
etc Add a valgrind suppression for Snow Leopard dyld 2010-08-05 12:00:34 -07:00
lib Add native vec[u8] to str converter. Put in workaround for leak in str to vec[u8] converter. Add testcase exercising both. Drive-by fix a potential array-out-of-bounds write on rust_str buffers. 2010-08-11 16:06:45 -07:00
rt Ignore upcall_flush for channels that are disassociated from ports. This makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed. 2010-08-11 16:08:45 -07:00
test Ignore upcall_flush for channels that are disassociated from ports. This makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed. 2010-08-11 16:08:45 -07:00
Makefile Added test cases. 2010-08-11 16:08:45 -07:00
README Add a boot/README file explaining rustboot's organization a bit. 2010-07-11 14:54:43 -07:00
run.py Added a -v(algrind) option to run.py. 2010-08-11 16:08:45 -07:00

This is preliminary version of the Rust compiler.

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 (doesn't exist yet)
comp/*             - Same 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.