From 77e7dc1ac70976e39f2bd3bb91f49ab1f25ef524 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 5 Apr 2016 12:53:45 +0200 Subject: Add support for scope/target-qualified variable expansion For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created. --- build2/lexer.cxx | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'build2/lexer.cxx') diff --git a/build2/lexer.cxx b/build2/lexer.cxx index ba43839..53b9e12 100644 --- a/build2/lexer.cxx +++ b/build2/lexer.cxx @@ -140,6 +140,7 @@ namespace build2 // NOTE: remember to update name() if adding new special characters. // case '\n': fail (c) << "newline in evaluation context"; + case ':': return token (type::colon, sep, ln, cn); case '{': return token (type::lcbrace, sep, ln, cn); case '}': return token (type::rcbrace, sep, ln, cn); case '$': return token (type::dollar, sep, ln, cn); @@ -267,6 +268,11 @@ namespace build2 { switch (c) { + case ':': + { + done = true; + break; + } case '=': case '!': { -- cgit v1.1