|
13 | 13 | * combinations at the moment.
|
14 | 14 | */
|
15 | 15 |
|
16 |
| -import front.parser; |
| 16 | +import util.common; |
17 | 17 |
|
18 | 18 | import std._str;
|
19 | 19 | import std._vec;
|
@@ -251,13 +251,39 @@ fn parse_type(str s, uint i, uint lim) -> tup(ty, uint) {
|
251 | 251 | }
|
252 | 252 |
|
253 | 253 | fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
|
254 |
| - auto lo = args.(0).span; |
255 |
| - auto hi = args.(0).span; |
256 |
| - auto strlit = ast.lit_str("TODO"); |
257 |
| - auto spstrlit = @parser.spanned[ast.lit_](lo, hi, strlit); |
258 |
| - auto expr = ast.expr_lit(spstrlit, ast.ann_none); |
259 |
| - auto spexpr = @parser.spanned[ast.expr_](lo, hi, expr); |
260 |
| - ret spexpr; |
| 254 | + |
| 255 | + fn make_new_str(common.span sp, str s) -> @ast.expr { |
| 256 | + auto strlit = ast.lit_str(s); |
| 257 | + auto spstrlit = @parser.spanned[ast.lit_](sp, sp, strlit); |
| 258 | + auto expr = ast.expr_lit(spstrlit, ast.ann_none); |
| 259 | + ret @parser.spanned[ast.expr_](sp, sp, expr); |
| 260 | + } |
| 261 | + |
| 262 | + fn make_add_expr(common.span sp, |
| 263 | + @ast.expr lhs, @ast.expr rhs) -> @ast.expr { |
| 264 | + auto binexpr = ast.expr_binary(ast.add, lhs, rhs, ast.ann_none); |
| 265 | + ret @parser.spanned[ast.expr_](sp, sp, binexpr); |
| 266 | + } |
| 267 | + |
| 268 | + auto sp = args.(0).span; |
| 269 | + auto n = 0; |
| 270 | + auto tmp_expr = make_new_str(sp, "whatever"); |
| 271 | + |
| 272 | + for (piece p in pieces) { |
| 273 | + alt (p) { |
| 274 | + case (piece_string(?s)) { |
| 275 | + auto s_expr = make_new_str(sp, s); |
| 276 | + tmp_expr = make_add_expr(sp, tmp_expr, s_expr); |
| 277 | + } |
| 278 | + case (piece_conv(?conv)) { |
| 279 | + } |
| 280 | + } |
| 281 | + } |
| 282 | + |
| 283 | + // TODO: Remove this print and return the real expanded AST |
| 284 | + log "dumping expanded ast:"; |
| 285 | + log pretty.print_expr(tmp_expr); |
| 286 | + ret make_new_str(sp, "TODO"); |
261 | 287 | }
|
262 | 288 |
|
263 | 289 | //
|
|
0 commit comments