diff options
author | John Hodge <tpg@mutabah.net> | 2015-03-26 21:35:12 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2015-03-26 21:35:12 +0800 |
commit | c27addebd43d2b1df6dbfed16219336cb7a6867f (patch) | |
tree | 79b9ba1d4fad04b18ff34ac92f5eb9d31a1efebf /README.md | |
parent | 9b0293091f4da82d37a5b13c2b4110c09190a451 (diff) | |
download | mrust-c27addebd43d2b1df6dbfed16219336cb7a6867f.tar.gz |
Comment headers and readme update
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -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).
|