aboutsummaryrefslogtreecommitdiff
path: root/src/comp/front/extfmt.rs
diff options
context:
space:
mode:
authorMarijn Haverbeke <[email protected]>2011-05-12 17:24:54 +0200
committerMarijn Haverbeke <[email protected]>2011-05-12 21:30:44 +0200
commit3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2 (patch)
tree508982ed2f789aedd89eebd529343d9dc88b8e01 /src/comp/front/extfmt.rs
parentTransitional change to make extfmt output lowercase module name (diff)
downloadrust-3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2.tar.xz
rust-3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2.zip
Downcase std modules again, move to :: for module dereferencing
This should be a snapshot transition.
Diffstat (limited to 'src/comp/front/extfmt.rs')
-rw-r--r--src/comp/front/extfmt.rs210
1 files changed, 105 insertions, 105 deletions
diff --git a/src/comp/front/extfmt.rs b/src/comp/front/extfmt.rs
index 36050e19..085e5d98 100644
--- a/src/comp/front/extfmt.rs
+++ b/src/comp/front/extfmt.rs
@@ -1,56 +1,56 @@
/*
* The compiler code necessary to support the #fmt extension. Eventually this
- * should all get sucked into either the standard library ExtFmt module or the
+ * should all get sucked into either the standard library extfmt module or the
* compiler syntax extension plugin interface.
*/
-import front.parser.parser;
-import util.common;
-
-import std.Str;
-import std.Vec;
-import std.Option;
-import std.Option.none;
-import std.Option.some;
-
-import std.ExtFmt.CT.signedness;
-import std.ExtFmt.CT.signed;
-import std.ExtFmt.CT.unsigned;
-import std.ExtFmt.CT.caseness;
-import std.ExtFmt.CT.case_upper;
-import std.ExtFmt.CT.case_lower;
-import std.ExtFmt.CT.ty;
-import std.ExtFmt.CT.ty_bool;
-import std.ExtFmt.CT.ty_str;
-import std.ExtFmt.CT.ty_char;
-import std.ExtFmt.CT.ty_int;
-import std.ExtFmt.CT.ty_bits;
-import std.ExtFmt.CT.ty_hex;
-import std.ExtFmt.CT.ty_octal;
-import std.ExtFmt.CT.flag;
-import std.ExtFmt.CT.flag_left_justify;
-import std.ExtFmt.CT.flag_left_zero_pad;
-import std.ExtFmt.CT.flag_space_for_sign;
-import std.ExtFmt.CT.flag_sign_always;
-import std.ExtFmt.CT.flag_alternate;
-import std.ExtFmt.CT.count;
-import std.ExtFmt.CT.count_is;
-import std.ExtFmt.CT.count_is_param;
-import std.ExtFmt.CT.count_is_next_param;
-import std.ExtFmt.CT.count_implied;
-import std.ExtFmt.CT.conv;
-import std.ExtFmt.CT.piece;
-import std.ExtFmt.CT.piece_string;
-import std.ExtFmt.CT.piece_conv;
-import std.ExtFmt.CT.parse_fmt_string;
+import front::parser::parser;
+import util::common;
+
+import std::_str;
+import std::_vec;
+import std::option;
+import std::option::none;
+import std::option::some;
+
+import std::extfmt::CT::signedness;
+import std::extfmt::CT::signed;
+import std::extfmt::CT::unsigned;
+import std::extfmt::CT::caseness;
+import std::extfmt::CT::case_upper;
+import std::extfmt::CT::case_lower;
+import std::extfmt::CT::ty;
+import std::extfmt::CT::ty_bool;
+import std::extfmt::CT::ty_str;
+import std::extfmt::CT::ty_char;
+import std::extfmt::CT::ty_int;
+import std::extfmt::CT::ty_bits;
+import std::extfmt::CT::ty_hex;
+import std::extfmt::CT::ty_octal;
+import std::extfmt::CT::flag;
+import std::extfmt::CT::flag_left_justify;
+import std::extfmt::CT::flag_left_zero_pad;
+import std::extfmt::CT::flag_space_for_sign;
+import std::extfmt::CT::flag_sign_always;
+import std::extfmt::CT::flag_alternate;
+import std::extfmt::CT::count;
+import std::extfmt::CT::count_is;
+import std::extfmt::CT::count_is_param;
+import std::extfmt::CT::count_is_next_param;
+import std::extfmt::CT::count_implied;
+import std::extfmt::CT::conv;
+import std::extfmt::CT::piece;
+import std::extfmt::CT::piece_string;
+import std::extfmt::CT::piece_conv;
+import std::extfmt::CT::parse_fmt_string;
export expand_syntax_ext;
fn expand_syntax_ext(parser p,
- vec[@ast.expr] args,
- Option.t[str] body) -> @ast.expr {
+ vec[@ast::expr] args,
+ option::t[str] body) -> @ast::expr {
- if (Vec.len[@ast.expr](args) == 0u) {
+ if (_vec::len[@ast::expr](args) == 0u) {
// FIXME: Handle error correctly.
log_err "malformed #fmt call";
fail;
@@ -62,16 +62,16 @@ fn expand_syntax_ext(parser p,
// log fmt;
auto pieces = parse_fmt_string(fmt);
- auto args_len = Vec.len[@ast.expr](args);
- auto fmt_args = Vec.slice[@ast.expr](args, 1u, args_len - 1u);
+ auto args_len = _vec::len[@ast::expr](args);
+ auto fmt_args = _vec::slice[@ast::expr](args, 1u, args_len - 1u);
ret pieces_to_expr(p, pieces, args);
}
-fn expr_to_str(@ast.expr expr) -> str {
+fn expr_to_str(@ast::expr expr) -> str {
alt (expr.node) {
- case (ast.expr_lit(?l, _)) {
+ case (ast::expr_lit(?l, _)) {
alt (l.node) {
- case (ast.lit_str(?s)) {
+ case (ast::lit_str(?s)) {
ret s;
}
}
@@ -86,75 +86,75 @@ fn expr_to_str(@ast.expr expr) -> str {
// be factored out in common with other code that builds expressions.
// FIXME: Probably should be using the parser's span functions
// FIXME: Cleanup the naming of these functions
-fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
- -> @ast.expr {
+fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast::expr] args)
+ -> @ast::expr {
- fn make_new_lit(parser p, common.span sp, ast.lit_ lit) -> @ast.expr {
+ fn make_new_lit(parser p, common::span sp, ast::lit_ lit) -> @ast::expr {
auto sp_lit = @rec(node=lit, span=sp);
- auto expr = ast.expr_lit(sp_lit, p.get_ann());
+ auto expr = ast::expr_lit(sp_lit, p.get_ann());
ret @rec(node=expr, span=sp);
}
- fn make_new_str(parser p, common.span sp, str s) -> @ast.expr {
- auto lit = ast.lit_str(s);
+ fn make_new_str(parser p, common::span sp, str s) -> @ast::expr {
+ auto lit = ast::lit_str(s);
ret make_new_lit(p, sp, lit);
}
- fn make_new_int(parser p, common.span sp, int i) -> @ast.expr {
- auto lit = ast.lit_int(i);
+ fn make_new_int(parser p, common::span sp, int i) -> @ast::expr {
+ auto lit = ast::lit_int(i);
ret make_new_lit(p, sp, lit);
}
- fn make_new_uint(parser p, common.span sp, uint u) -> @ast.expr {
- auto lit = ast.lit_uint(u);
+ fn make_new_uint(parser p, common::span sp, uint u) -> @ast::expr {
+ auto lit = ast::lit_uint(u);
ret make_new_lit(p, sp, lit);
}
- fn make_add_expr(parser p, common.span sp,
- @ast.expr lhs, @ast.expr rhs) -> @ast.expr {
- auto binexpr = ast.expr_binary(ast.add, lhs, rhs, p.get_ann());
+ fn make_add_expr(parser p, common::span sp,
+ @ast::expr lhs, @ast::expr rhs) -> @ast::expr {
+ auto binexpr = ast::expr_binary(ast::add, lhs, rhs, p.get_ann());
ret @rec(node=binexpr, span=sp);
}
- fn make_path_expr(parser p, common.span sp, vec[ast.ident] idents)
- -> @ast.expr {
- let vec[@ast.ty] types = vec();
+ fn make_path_expr(parser p, common::span sp, vec[ast::ident] idents)
+ -> @ast::expr {
+ let vec[@ast::ty] types = vec();
auto path = rec(idents=idents, types=types);
auto sp_path = rec(node=path, span=sp);
- auto pathexpr = ast.expr_path(sp_path, p.get_ann());
+ auto pathexpr = ast::expr_path(sp_path, p.get_ann());
auto sp_pathexpr = @rec(node=pathexpr, span=sp);
ret sp_pathexpr;
}
- fn make_vec_expr(parser p, common.span sp, vec[@ast.expr] exprs)
- -> @ast.expr {
- auto vecexpr = ast.expr_vec(exprs, ast.imm, p.get_ann());
+ fn make_vec_expr(parser p, common::span sp, vec[@ast::expr] exprs)
+ -> @ast::expr {
+ auto vecexpr = ast::expr_vec(exprs, ast::imm, p.get_ann());
auto sp_vecexpr = @rec(node=vecexpr, span=sp);
ret sp_vecexpr;
}
- fn make_call(parser p, common.span sp, vec[ast.ident] fn_path,
- vec[@ast.expr] args) -> @ast.expr {
+ fn make_call(parser p, common::span sp, vec[ast::ident] fn_path,
+ vec[@ast::expr] args) -> @ast::expr {
auto pathexpr = make_path_expr(p, sp, fn_path);
- auto callexpr = ast.expr_call(pathexpr, args, p.get_ann());
+ auto callexpr = ast::expr_call(pathexpr, args, p.get_ann());
auto sp_callexpr = @rec(node=callexpr, span=sp);
ret sp_callexpr;
}
- fn make_rec_expr(parser p, common.span sp,
- vec[tup(ast.ident, @ast.expr)] fields) -> @ast.expr {
- let vec[ast.field] astfields = vec();
- for (tup(ast.ident, @ast.expr) field in fields) {
+ fn make_rec_expr(parser p, common::span sp,
+ vec[tup(ast::ident, @ast::expr)] fields) -> @ast::expr {
+ let vec[ast::field] astfields = vec();
+ for (tup(ast::ident, @ast::expr) field in fields) {
auto ident = field._0;
auto val = field._1;
- auto astfield = rec(mut = ast.imm,
+ auto astfield = rec(mut = ast::imm,
ident = ident,
expr = val);
astfields += vec(astfield);
}
- auto recexpr = ast.expr_rec(astfields,
- Option.none[@ast.expr],
+ auto recexpr = ast::expr_rec(astfields,
+ option::none[@ast::expr],
p.get_ann());
auto sp_recexpr = @rec(node=recexpr, span=sp);
ret sp_recexpr;
@@ -166,18 +166,18 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
ret vec("std", "extfmt", "RT", ident);
}
- fn make_rt_path_expr(parser p, common.span sp, str ident) -> @ast.expr {
+ fn make_rt_path_expr(parser p, common::span sp, str ident) -> @ast::expr {
auto path = make_path_vec(ident);
ret make_path_expr(p, sp, path);
}
- // Produces an AST expression that represents a RT.conv record,
- // which tells the RT.conv* functions how to perform the conversion
- fn make_rt_conv_expr(parser p, common.span sp, &conv cnv) -> @ast.expr {
+ // Produces an AST expression that represents a RT::conv record,
+ // which tells the RT::conv* functions how to perform the conversion
+ fn make_rt_conv_expr(parser p, common::span sp, &conv cnv) -> @ast::expr {
- fn make_flags(parser p, common.span sp, vec[flag] flags)
- -> @ast.expr {
- let vec[@ast.expr] flagexprs = vec();
+ fn make_flags(parser p, common::span sp, vec[flag] flags)
+ -> @ast::expr {
+ let vec[@ast::expr] flagexprs = vec();
for (flag f in flags) {
auto fstr;
alt (f) {
@@ -203,14 +203,14 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
// FIXME: 0-length vectors can't have their type inferred
// through the rec that these flags are a member of, so
// this is a hack placeholder flag
- if (Vec.len[@ast.expr](flagexprs) == 0u) {
+ if (_vec::len[@ast::expr](flagexprs) == 0u) {
flagexprs += vec(make_rt_path_expr(p, sp, "flag_none"));
}
ret make_vec_expr(p, sp, flagexprs);
}
- fn make_count(parser p, common.span sp, &count cnt) -> @ast.expr {
+ fn make_count(parser p, common::span sp, &count cnt) -> @ast::expr {
alt (cnt) {
case (count_implied) {
ret make_rt_path_expr(p, sp, "count_implied");
@@ -228,7 +228,7 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
}
}
- fn make_ty(parser p, common.span sp, &ty t) -> @ast.expr {
+ fn make_ty(parser p, common::span sp, &ty t) -> @ast::expr {
auto rt_type;
alt (t) {
case (ty_hex(?c)) {
@@ -256,11 +256,11 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
}
fn make_conv_rec(parser p,
- common.span sp,
- @ast.expr flags_expr,
- @ast.expr width_expr,
- @ast.expr precision_expr,
- @ast.expr ty_expr) -> @ast.expr {
+ common::span sp,
+ @ast::expr flags_expr,
+ @ast::expr width_expr,
+ @ast::expr precision_expr,
+ @ast::expr ty_expr) -> @ast::expr {
ret make_rec_expr(p, sp, vec(tup("flags", flags_expr),
tup("width", width_expr),
tup("precision", precision_expr),
@@ -279,8 +279,8 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
rt_conv_ty);
}
- fn make_conv_call(parser p, common.span sp, str conv_type,
- &conv cnv, @ast.expr arg) -> @ast.expr {
+ fn make_conv_call(parser p, common::span sp, str conv_type,
+ &conv cnv, @ast::expr arg) -> @ast::expr {
auto fname = "conv_" + conv_type;
auto path = make_path_vec(fname);
auto cnv_expr = make_rt_conv_expr(p, sp, cnv);
@@ -288,9 +288,9 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
ret make_call(p, arg.span, path, args);
}
- fn make_new_conv(parser p, conv cnv, @ast.expr arg) -> @ast.expr {
+ fn make_new_conv(parser p, conv cnv, @ast::expr arg) -> @ast::expr {
- // FIXME: Extract all this validation into ExtFmt.CT
+ // FIXME: Extract all this validation into extfmt::CT
fn is_signed_type(conv cnv) -> bool {
alt (cnv.ty) {
case (ty_int(?s)) {
@@ -312,7 +312,7 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
auto unsupported = "conversion not supported in #fmt string";
alt (cnv.param) {
- case (Option.none[int]) {
+ case (option::none[int]) {
}
case (_) {
log_err unsupported;
@@ -407,7 +407,7 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
fn log_conv(conv c) {
alt (c.param) {
case (some[int](?p)) {
- log "param: " + std.Int.to_str(p, 10u);
+ log "param: " + std::_int::to_str(p, 10u);
}
case (_) {
log "param: none";
@@ -434,10 +434,10 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
}
alt (c.width) {
case (count_is(?i)) {
- log "width: count is " + std.Int.to_str(i, 10u);
+ log "width: count is " + std::_int::to_str(i, 10u);
}
case (count_is_param(?i)) {
- log "width: count is param " + std.Int.to_str(i, 10u);
+ log "width: count is param " + std::_int::to_str(i, 10u);
}
case (count_is_next_param) {
log "width: count is next param";
@@ -448,10 +448,10 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
}
alt (c.precision) {
case (count_is(?i)) {
- log "prec: count is " + std.Int.to_str(i, 10u);
+ log "prec: count is " + std::_int::to_str(i, 10u);
}
case (count_is_param(?i)) {
- log "prec: count is param " + std.Int.to_str(i, 10u);
+ log "prec: count is param " + std::_int::to_str(i, 10u);
}
case (count_is_next_param) {
log "prec: count is next param";
@@ -507,7 +507,7 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
tmp_expr = make_add_expr(p, sp, tmp_expr, s_expr);
}
case (piece_conv(?conv)) {
- if (n >= Vec.len[@ast.expr](args)) {
+ if (n >= _vec::len[@ast::expr](args)) {
log_err "too many conversions in #fmt string";
fail;
}
@@ -526,7 +526,7 @@ fn pieces_to_expr(parser p, vec[piece] pieces, vec[@ast.expr] args)
// TODO: Remove this debug logging
// log "dumping expanded ast:";
- // log pretty.print_expr(tmp_expr);
+ // log pretty::print_expr(tmp_expr);
ret tmp_expr;
}