diff options
| author | Graydon Hoare <[email protected]> | 2010-10-06 18:36:28 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-10-06 18:36:28 -0700 |
| commit | fa5ef4cfb64d900a659f2e4380c8f2c8718f3826 (patch) | |
| tree | fa83697f1be4111e436a3cdd685f1aaf4b5a78a8 /src/comp/front | |
| parent | Make ast node box uses more uniform in rustc. (diff) | |
| download | rust-fa5ef4cfb64d900a659f2e4380c8f2c8718f3826.tar.xz rust-fa5ef4cfb64d900a659f2e4380c8f2c8718f3826.zip | |
Add the beginnings of an ast folder plus an empty module for resolve.
Diffstat (limited to 'src/comp/front')
| -rw-r--r-- | src/comp/front/ast.rs | 5 | ||||
| -rw-r--r-- | src/comp/front/parser.rs | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/comp/front/ast.rs b/src/comp/front/ast.rs index 74126b96..422fd039 100644 --- a/src/comp/front/ast.rs +++ b/src/comp/front/ast.rs @@ -76,7 +76,7 @@ tag stmt_ { type decl = spanned[decl_]; tag decl_ { - decl_local(ident, option[@ty], ty); + decl_local(ident, bool, option[@ty]); decl_item(name, @item); } @@ -126,8 +126,9 @@ tag mode { } type slot = rec(@ty ty, mode mode, option[slot_id] id); +type input = rec(slot slot, ident ident); -type _fn = rec(vec[rec(slot slot, ident ident)] inputs, +type _fn = rec(vec[input] inputs, slot output, block body); diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index ef0cc6c3..4eb303ed 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -651,7 +651,7 @@ io fn parse_item(parser p) -> tup(ast.ident, @ast.item) { fail; } -io fn parse_crate(parser p) -> ast.crate { +io fn parse_crate(parser p) -> @ast.crate { auto lo = p.get_span(); auto hi = lo; let ast._mod m = new_str_hash[@ast.item](); @@ -660,7 +660,7 @@ io fn parse_crate(parser p) -> ast.crate { m.insert(i._0, i._1); hi = i._1.span; } - ret spanned(lo, hi, rec(module=m)); + ret @spanned(lo, hi, rec(module=m)); } // |