Add the beginnings of an ast folder plus an empty module for resolve.

This commit is contained in:
Graydon Hoare 2010-10-06 18:36:28 -07:00
parent 5f2d35ed08
commit fa5ef4cfb6
6 changed files with 528 additions and 5 deletions

View file

@ -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);

View file

@ -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));
}
//