diff options
author | John Hodge (bugs) <tpg@mutabah.net> | 2014-12-14 10:03:30 +0800 |
---|---|---|
committer | John Hodge (bugs) <tpg@mutabah.net> | 2014-12-14 10:03:30 +0800 |
commit | 5d29fdaa42c638e9420bd3111fb15f3594342354 (patch) | |
tree | d1c3ce2d13751c6ee23b92b44fc7053c681d4a3d /main.cpp | |
parent | 605c764a79ed00630967780ee7d434fbaa8aa284 (diff) | |
download | mrust-5d29fdaa42c638e9420bd3111fb15f3594342354.tar.gz |
Parse working, starting on conversion
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -4,13 +4,24 @@ using namespace std;
-extern void Parse_Crate(::std::string mainfile);
+extern AST::Crate Parse_Crate(::std::string mainfile);
+extern void ResolvePaths(AST::Crate& crate);
+/// main!
int main(int argc, char *argv[])
{
try
{
- Parse_Crate("samples/1.rs");
+ AST::Crate crate = Parse_Crate("samples/1.rs");
+
+ // Resolve names into absolute?
+ ResolvePaths(crate);
+
+ // Flatten modules into "mangled" set
+
+ // Typecheck / type propagate module (type annotations of all values)
+
+ // Convert structures to C structures / tagged enums
}
catch(const ParseError::Base& e)
{
|