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/token.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/token.cxx')
-rw-r--r-- | build2/token.cxx | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/build2/token.cxx b/build2/token.cxx index 90aeff5..330af1f 100644 --- a/build2/token.cxx +++ b/build2/token.cxx @@ -16,20 +16,20 @@ namespace build2 case token_type::eos: os << "<end-of-file>"; break; case token_type::newline: os << "<newline>"; break; case token_type::pair_separator: os << "<pair separator>"; break; - case token_type::colon: os << ":"; break; - case token_type::lcbrace: os << "{"; break; - case token_type::rcbrace: os << "}"; break; - case token_type::lsbrace: os << "["; break; - case token_type::rsbrace: os << "]"; break; - case token_type::assign: os << "="; break; - case token_type::prepend: os << "=+"; break; - case token_type::append: os << "+="; break; - case token_type::equal: os << "=="; break; - case token_type::not_equal: os << "!="; break; - case token_type::dollar: os << "$"; break; - case token_type::lparen: os << "("; break; - case token_type::rparen: os << ")"; break; - case token_type::name: os << t.value; break; + case token_type::colon: os << "':'"; break; + case token_type::lcbrace: os << "'{'"; break; + case token_type::rcbrace: os << "'}'"; break; + case token_type::lsbrace: os << "'['"; break; + case token_type::rsbrace: os << "']'"; break; + case token_type::assign: os << "'='"; break; + case token_type::prepend: os << "'=+'"; break; + case token_type::append: os << "'+='"; break; + case token_type::equal: os << "'=='"; break; + case token_type::not_equal: os << "'!='"; break; + case token_type::dollar: os << "'$'"; break; + case token_type::lparen: os << "'('"; break; + case token_type::rparen: os << "')'"; break; + case token_type::name: os << '\'' << t.value << '\''; break; } return os; |