summary refs log tree commit diff
path: root/src/comp/front/parser.rs
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2011-05-04 19:05:16 -0700
committerGraydon Hoare <graydon@mozilla.com>2011-05-04 19:05:32 -0700
commitd55fa2a9a3aa00a723f224eda764580a0492abd9 (patch)
treea4c337c74adfa68fb33547e19550b2b24a86c801 /src/comp/front/parser.rs
parenta7db03272592f4eaf433699786a93e02977d3264 (diff)
downloadrust-d55fa2a9a3aa00a723f224eda764580a0492abd9.tar.gz
rust-d55fa2a9a3aa00a723f224eda764580a0492abd9.zip
Add #env syntax extension for plucking strings out of the compilation environment.
Diffstat (limited to 'src/comp/front/parser.rs')
-rw-r--r--src/comp/front/parser.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index e7a86d6efed..a7e355af591 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -949,6 +949,13 @@ fn expand_syntax_ext(parser p, ast.span sp,
                                     ast.ann_none);
 
         ret newexpr;
+    } else if (_str.eq(extname, "env")) {
+        auto expanded = extenv.expand_syntax_ext(p, sp, args, body);
+        auto newexpr = ast.expr_ext(path, args, body,
+                                    expanded,
+                                    ast.ann_none);
+
+        ret newexpr;
     } else {
         p.err("unknown syntax extension");
         fail;