#[link(name = "syntax",
       vers = "0.3",
       uuid = "9311401b-d6ea-4cd9-a1d9-61f89499c645")];



#[crate_type = "lib"];

#[no_core];

#[warn(no_vecs_not_implicitly_copyable)];

use core(vers = "0.3");
use std(vers = "0.3");

import core::*;

mod attr;
mod diagnostic;
mod codemap;
mod ast;
mod ast_util;
mod ast_map;
mod visit;
mod fold;
mod util {
    mod interner;
}

mod parse {
    export parser;
    export common;
    export lexer;
    export token;
    export comments;
    export prec;
    export classify;
    export attr;

    mod eval;
    mod lexer;
    mod parser;
    mod token;
    mod comments;
    mod attr;

    /// Common routines shared by parser mods
    mod common;

    /// Functions dealing with operator precedence
    mod prec;

    /// Routines the parser uses to classify AST nodes
    mod classify;
}

mod print {
    mod pp;
    mod pprust;
}

mod ext {
    mod base;
    mod expand;
    mod qquote;
    mod build;

    mod tt {
        mod transcribe;
        mod earley_parser;
        mod macro_rules;
    }


    mod simplext;
    mod fmt;
    mod env;
    mod concat_idents;
    mod ident_to_str;
    mod log_syntax;
    mod auto_serialize;
    mod source_util;

    mod pipes {
        mod ast_builder;
        mod parse_proto;
        mod pipec;
    }
}
