From c27addebd43d2b1df6dbfed16219336cb7a6867f Mon Sep 17 00:00:00 2001 From: John Hodge Date: Thu, 26 Mar 2015 21:35:12 +0800 Subject: Comment headers and readme update --- README.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 8a2c19e4..bcbd25a3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,21 @@ -This project is an attempt at creating a simple rust compiler in C++. +=== Intro === +This project is an attempt at creating a simple rust compiler in C++, with the ultimate goal of being a seperate reimplementation. + +The short-term goal is to compile pre-borrowchecked rust code into C, for passing to an existing C compiler. Thankfully, (from what I have seen), the borrow checker is not needed to compile rust code (just to ensure that it's valid) + +=== Current Features === +- Successfully parses libcore +- Resolves all paths to absolute forms +- Outputs the processed AST as (almost) rust code + - Almost because it uses special path types to handle: external crates, 'str', and anonymous modules. + +=== Short-Term Plans === +- Type resolution and checking (quite interlinked) +- Converting operator invocations to explicit calls + +=== Medium-Term Goals === +- Flattening AST into an intermediate form with no module higherarchy or generics +- Converting flat AST into C + - Bonus points for making it readable C -Initially it will compile a superset of valid rust code into C code (avoiding all safety validations). -- cgit v1.2.3