diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-04-05 12:53:45 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-04-05 12:53:45 +0200 |
commit | 77e7dc1ac70976e39f2bd3bb91f49ab1f25ef524 (patch) | |
tree | c3a1e736c326473bd611b4c0bc74d45b2f9beb76 /build2/lexer.cxx | |
parent | 86cdcdcf11982281aa286682faf604cff3b1c7d1 (diff) |
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.
Diffstat (limited to 'build2/lexer.cxx')
-rw-r--r-- | build2/lexer.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
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 '!': { |