From 5c0f4c1939b392e0bd0bcbce86fa83eb7a421992 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 13 Apr 2011 20:51:24 -0400 Subject: Add more commentary about ExtFmt --- src/comp/front/extfmt.rs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'src/comp/front/extfmt.rs') diff --git a/src/comp/front/extfmt.rs b/src/comp/front/extfmt.rs index bb9f8832..54174dd3 100644 --- a/src/comp/front/extfmt.rs +++ b/src/comp/front/extfmt.rs @@ -1,16 +1,7 @@ -/* The 'fmt' extension is modeled on the posix printf system. - * - * A posix conversion ostensibly looks like this: - * - * %[parameter][flags][width][.precision][length]type - * - * Given the different numeric type bestiary we have, we omit the 'length' - * parameter and support slightly different conversions for 'type': - * - * %[parameter][flags][width][.precision]type - * - * we also only support translating-to-rust a tiny subset of the possible - * combinations at the moment. +/* + * The compiler code necessary to support the #fmt extension. Eventually this + * should all get sucked into either the standard library ExtFmt module or the + * compiler syntax extension plugin interface. */ import util.common; @@ -53,7 +44,7 @@ import std.ExtFmt.CT.parse_fmt_string; export expand_syntax_ext; -// TODO: Need to thread parser through here to handle errors correctly +// FIXME: Need to thread parser through here to handle errors correctly fn expand_syntax_ext(vec[@ast.expr] args, option.t[@ast.expr] body) -> @ast.expr { @@ -148,6 +139,8 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr { } fn make_path_vec(str ident) -> vec[str] { + // FIXME: #fmt can't currently be used from within std + // because we're explicitly referencing the 'std' crate here ret vec("std", "ExtFmt", "RT", ident); } -- cgit v1.2.3