提交 442d0a78 编写于 作者: B Brian Anderson

rustc: Move attr, parse, print to rustsyntax

上级 15947f8b
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
import std::map; import std::map;
import std::map::hashmap; import std::map::hashmap;
import either::either; import either::either;
import syntax::{ast, ast_util}; import diagnostic::span_handler;
import driver::diagnostic::span_handler;
export attr_meta; export attr_meta;
export attr_metas; export attr_metas;
...@@ -169,10 +168,10 @@ fn eq(a: @ast::meta_item, b: @ast::meta_item) -> bool { ...@@ -169,10 +168,10 @@ fn eq(a: @ast::meta_item, b: @ast::meta_item) -> bool {
fn contains(haystack: [@ast::meta_item], needle: @ast::meta_item) -> bool { fn contains(haystack: [@ast::meta_item], needle: @ast::meta_item) -> bool {
#debug("looking for %s", #debug("looking for %s",
syntax::print::pprust::meta_item_to_str(*needle)); print::pprust::meta_item_to_str(*needle));
for item: @ast::meta_item in haystack { for item: @ast::meta_item in haystack {
#debug("looking in %s", #debug("looking in %s",
syntax::print::pprust::meta_item_to_str(*item)); print::pprust::meta_item_to_str(*item));
if eq(item, needle) { #debug("found it!"); ret true; } if eq(item, needle) { #debug("found it!"); ret true; }
} }
#debug("found it not :("); #debug("found it not :(");
......
import front::attr; import attr;
import syntax::ast; import parser::{parser, new_parser_from_file,
import syntax::parse::token; parse_inner_attrs_and_next,
import syntax::parse::parser::{parser, new_parser_from_file, parse_mod_items, SOURCE_FILE};
parse_inner_attrs_and_next,
parse_mod_items, SOURCE_FILE};
export eval_crate_directives_to_mod; export eval_crate_directives_to_mod;
...@@ -109,8 +107,8 @@ fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str, ...@@ -109,8 +107,8 @@ fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str,
let m0 = parse_mod_items(p0, token::EOF, first_item_outer_attrs); let m0 = parse_mod_items(p0, token::EOF, first_item_outer_attrs);
let i = let i =
syntax::parse::parser::mk_item(p0, cdir.span.lo, cdir.span.hi, id, parser::mk_item(p0, cdir.span.lo, cdir.span.hi, id,
ast::item_mod(m0), mod_attrs); ast::item_mod(m0), mod_attrs);
// Thread defids, chpos and byte_pos through the parsers // Thread defids, chpos and byte_pos through the parsers
cx.sess.chpos = p0.reader.chpos; cx.sess.chpos = p0.reader.chpos;
cx.sess.byte_pos = cx.sess.byte_pos + p0.reader.pos; cx.sess.byte_pos = cx.sess.byte_pos + p0.reader.pos;
......
...@@ -6,9 +6,7 @@ ...@@ -6,9 +6,7 @@
import util::interner; import util::interner;
import ast::{node_id, spanned}; import ast::{node_id, spanned};
import ast_util::{mk_sp, ident_to_path}; import ast_util::{mk_sp, ident_to_path};
import front::attr;
import lexer::reader; import lexer::reader;
import driver::diagnostic;
enum restriction { enum restriction {
UNRESTRICTED, UNRESTRICTED,
......
import parse::lexer; import parse::lexer;
import syntax::codemap::codemap; import codemap::codemap;
import pp::{break_offset, word, printer, import pp::{break_offset, word, printer,
space, zerobreak, hardbreak, breaks, consistent, space, zerobreak, hardbreak, breaks, consistent,
inconsistent, eof}; inconsistent, eof};
import driver::diagnostic; import diagnostic;
// The ps is stored here to prevent recursive type. // The ps is stored here to prevent recursive type.
enum ann_node { enum ann_node {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
use std; use std;
mod attr;
mod diagnostic; mod diagnostic;
mod codemap; mod codemap;
mod ast; mod ast;
...@@ -16,6 +17,13 @@ mod util { ...@@ -16,6 +17,13 @@ mod util {
mod interner; mod interner;
} }
mod parse { mod parse {
mod token; mod eval;
mod lexer; mod lexer;
mod parser;
mod token;
}
mod print {
mod pp;
mod pprust;
} }
\ No newline at end of file
import rustsyntax::attr;
export attr;
export config;
export test;
export core_inject;
...@@ -70,10 +70,6 @@ mod middle { ...@@ -70,10 +70,6 @@ mod middle {
mod syntax { mod syntax {
mod parse {
mod parser;
mod eval;
}
mod ext { mod ext {
mod base; mod base;
mod expand; mod expand;
...@@ -88,14 +84,9 @@ mod syntax { ...@@ -88,14 +84,9 @@ mod syntax {
mod log_syntax; mod log_syntax;
mod auto_serialize; mod auto_serialize;
} }
mod print {
mod pprust;
mod pp;
}
} }
mod front { mod front {
mod attr;
mod config; mod config;
mod test; mod test;
mod core_inject; mod core_inject;
......
...@@ -14,13 +14,17 @@ ...@@ -14,13 +14,17 @@
import rustsyntax::fold; import rustsyntax::fold;
export fold; export fold;
import rustsyntax::print;
export print;
import rustsyntax::parse;
export parse;
export ast; export ast;
export ast_util; export ast_util;
export visit; export visit;
export fold; export fold;
export parse;
export ext; export ext;
export print;
export util; export util;
mod util { mod util {
......
import rustsyntax::parse::token;
export token;
import rustsyntax::parse::lexer;
export lexer;
export parser;
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册