summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2015-03-26 21:35:12 +0800
committerJohn Hodge <tpg@mutabah.net>2015-03-26 21:35:12 +0800
commitc27addebd43d2b1df6dbfed16219336cb7a6867f (patch)
tree79b9ba1d4fad04b18ff34ac92f5eb9d31a1efebf /README.md
parent9b0293091f4da82d37a5b13c2b4110c09190a451 (diff)
downloadmrust-c27addebd43d2b1df6dbfed16219336cb7a6867f.tar.gz
Comment headers and readme update
Diffstat (limited to 'README.md')
-rw-r--r--README.md21
1 files changed, 19 insertions, 2 deletions
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).