diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp/syntax/ast.rs | 1 | ||||
| -rw-r--r-- | src/comp/syntax/ext/expand.rs | 9 | ||||
| -rw-r--r-- | src/comp/syntax/ext/qquote.rs | 10 | ||||
| -rw-r--r-- | src/comp/syntax/ext/simplext.rs | 1 | ||||
| -rw-r--r-- | src/comp/syntax/fold.rs | 1 | ||||
| -rw-r--r-- | src/comp/syntax/parse/lexer.rs | 1 | ||||
| -rw-r--r-- | src/comp/syntax/parse/parser.rs | 6 | ||||
| -rw-r--r-- | src/comp/syntax/parse/token.rs | 2 | ||||
| -rw-r--r-- | src/comp/syntax/visit.rs | 1 | ||||
| -rw-r--r-- | src/test/run-pass/qquote.rs | 2 |
10 files changed, 5 insertions, 29 deletions
diff --git a/src/comp/syntax/ast.rs b/src/comp/syntax/ast.rs index 8db4573c2b4..7215c538ec1 100644 --- a/src/comp/syntax/ast.rs +++ b/src/comp/syntax/ast.rs @@ -293,7 +293,6 @@ enum mac_ { mac_embed_block(blk), mac_ellipsis, // the span is used by the quoter/anti-quoter ... - mac_qq(span /* span of expr */, @expr), // quasi-quote mac_aq(span /* span of quote */, @expr), // anti-quote mac_var(uint) } diff --git a/src/comp/syntax/ext/expand.rs b/src/comp/syntax/ext/expand.rs index a0bba6eee5c..201e44232bb 100644 --- a/src/comp/syntax/ext/expand.rs +++ b/src/comp/syntax/ext/expand.rs @@ -5,7 +5,7 @@ import option::{none, some}; import std::map::hashmap; import vec; -import syntax::ast::{crate, expr_, expr_mac, mac_invoc, mac_qq}; +import syntax::ast::{crate, expr_, expr_mac, mac_invoc}; import syntax::fold::*; import syntax::ext::base::*; import syntax::ext::qquote::{expand_qquote,qq_helper}; @@ -46,13 +46,6 @@ fn expand_expr(exts: hashmap<str, syntax_extension>, cx: ext_ctxt, } } } - mac_qq(sp, exp) { - let r = expand_qquote(cx, sp, none, exp); - // need to keep going, resuls may contain embedded qquote or - // macro that need expanding - let r2 = fld.fold_expr(r); - (r2.node, s) - } _ { cx.span_bug(mac.span, "naked syntactic bit") } } } diff --git a/src/comp/syntax/ext/qquote.rs b/src/comp/syntax/ext/qquote.rs index f215d374111..071c51294d9 100644 --- a/src/comp/syntax/ext/qquote.rs +++ b/src/comp/syntax/ext/qquote.rs @@ -3,7 +3,7 @@ import driver::session; import option::{none, some}; import syntax::ast::{crate, expr_, mac_invoc, - mac_qq, mac_aq, mac_var}; + mac_aq, mac_var}; import syntax::fold::*; import syntax::visit::*; import syntax::ext::base::*; @@ -156,7 +156,7 @@ fn expand_ast(ecx: ext_ctxt, _sp: span, let node = parse_from_source_str (f, fname, some(ss), str, ecx.session().opts.cfg, ecx.session().parse_sess); - ret expand_qquote(ecx, node.span(), some(*str), node); + ret expand_qquote(ecx, node.span(), *str, node); } ret alt what { @@ -185,13 +185,9 @@ fn parse_item(p: parser) -> @ast::item { } fn expand_qquote<N: qq_helper> - (ecx: ext_ctxt, sp: span, maybe_str: option::t<str>, node: N) + (ecx: ext_ctxt, sp: span, str: str, node: N) -> @ast::expr { - let str = alt(maybe_str) { - some(s) {s} - none {codemap::span_to_snippet(sp, ecx.session().parse_sess.cm)} - }; let qcx = gather_anti_quotes(sp.lo, node); let cx = qcx; let prev = 0u; diff --git a/src/comp/syntax/ext/simplext.rs b/src/comp/syntax/ext/simplext.rs index d8496203e3d..3473ae1dbe1 100644 --- a/src/comp/syntax/ext/simplext.rs +++ b/src/comp/syntax/ext/simplext.rs @@ -587,7 +587,6 @@ fn p_t_s_r_mac(cx: ext_ctxt, mac: ast::mac, s: selector, b: binders) { none { no_des(cx, blk.span, "under `#{}`"); } } } - ast::mac_qq(_,_) { no_des(cx, mac.span, "quasiquotes"); } ast::mac_aq(_,_) { no_des(cx, mac.span, "antiquotes"); } ast::mac_var(_) { no_des(cx, mac.span, "antiquote variables"); } } diff --git a/src/comp/syntax/fold.rs b/src/comp/syntax/fold.rs index 012b6257d89..24c0a7446d4 100644 --- a/src/comp/syntax/fold.rs +++ b/src/comp/syntax/fold.rs @@ -144,7 +144,6 @@ fn fold_mac_(m: mac, fld: ast_fold) -> mac { mac_embed_type(ty) { mac_embed_type(fld.fold_ty(ty)) } mac_embed_block(blk) { mac_embed_block(fld.fold_block(blk)) } mac_ellipsis { mac_ellipsis } - mac_qq(_,_) { /* fixme */ m.node } mac_aq(_,_) { /* fixme */ m.node } mac_var(_) { /* fixme */ m.node } }, diff --git a/src/comp/syntax/parse/lexer.rs b/src/comp/syntax/parse/lexer.rs index 00bc73baeba..143b4eba487 100644 --- a/src/comp/syntax/parse/lexer.rs +++ b/src/comp/syntax/parse/lexer.rs @@ -349,7 +349,6 @@ fn next_token_inner(rdr: reader) -> token::token { '#' { rdr.bump(); if rdr.curr == '<' { rdr.bump(); ret token::POUND_LT; } - if rdr.curr == '(' { rdr.bump(); ret token::POUND_LPAREN; } if rdr.curr == '{' { rdr.bump(); ret token::POUND_LBRACE; } ret token::POUND; } diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs index 0b321b17b92..d3c5695496c 100644 --- a/src/comp/syntax/parse/parser.rs +++ b/src/comp/syntax/parse/parser.rs @@ -880,12 +880,6 @@ fn parse_bottom_expr(p: parser) -> pexpr { } else if p.token == token::ELLIPSIS { p.bump(); ret pexpr(mk_mac_expr(p, lo, p.span.hi, ast::mac_ellipsis)); - } else if p.token == token::POUND_LPAREN { - p.bump(); - let e = parse_expr(p); - expect(p, token::RPAREN); - ret pexpr(mk_mac_expr(p, lo, p.span.hi, - ast::mac_qq(e.span, e))); } else if eat_word(p, "bind") { let e = parse_expr_res(p, RESTRICT_NO_CALL_EXPRS); fn parse_expr_opt(p: parser) -> option<@ast::expr> { diff --git a/src/comp/syntax/parse/token.rs b/src/comp/syntax/parse/token.rs index 37ef677b6d6..d71ec1c2831 100644 --- a/src/comp/syntax/parse/token.rs +++ b/src/comp/syntax/parse/token.rs @@ -53,7 +53,6 @@ enum token { LBRACE, RBRACE, POUND, - POUND_LPAREN, POUND_LBRACE, POUND_LT, @@ -128,7 +127,6 @@ fn to_str(r: reader, t: token) -> str { LBRACE { ret "{"; } RBRACE { ret "}"; } POUND { ret "#"; } - POUND_LPAREN { ret "#("; } POUND_LBRACE { ret "#{"; } POUND_LT { ret "#<"; } diff --git a/src/comp/syntax/visit.rs b/src/comp/syntax/visit.rs index d868b7a97aa..1bea675b8a0 100644 --- a/src/comp/syntax/visit.rs +++ b/src/comp/syntax/visit.rs @@ -300,7 +300,6 @@ fn visit_mac<E>(m: mac, e: E, v: vt<E>) { ast::mac_embed_type(ty) { v.visit_ty(ty, e, v); } ast::mac_embed_block(blk) { v.visit_block(blk, e, v); } ast::mac_ellipsis { } - ast::mac_qq(_, e) { /* FIXME: maybe visit */ } ast::mac_aq(_, e) { /* FIXME: maybe visit */ } ast::mac_var(_) { } } diff --git a/src/test/run-pass/qquote.rs b/src/test/run-pass/qquote.rs index f307d643dde..50751a66081 100644 --- a/src/test/run-pass/qquote.rs +++ b/src/test/run-pass/qquote.rs @@ -53,7 +53,7 @@ fn main() { let expr3 = #ast{2 - $(abc) + 7}; check_pp(expr3, pprust::print_expr, "2 - 23 + 7"); - let expr4 = #ast{2 - $(#(3)) + 9}; + let expr4 = #ast{2 - $(#ast{3}) + 9}; check_pp(expr4, pprust::print_expr, "2 - 3 + 9"); let ty = #ast(ty){int}; |
