diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-05-25 12:12:13 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-05-27 15:52:53 +0200 |
commit | de3de2d1a58556cff5d8549e9befe2ec3cf2d08a (patch) | |
tree | 8f7f109c70d615bc93daa2a8f4b25ceb3842e062 /libbuild2/script/lexer.cxx | |
parent | b808c255b6a9ddba085bf5646e7d20ec344f2e2d (diff) |
Add support for value subscript after expansions
Value subscript is only recognized in evaluation contexts (due to ambiguity
with wildcard patterns; consider: $x[123].txt) and should be unseparated from
the previous token. For example:
x = ($y[1])
x = (($f ? $y : $z)[1])
x = ($identity($y)[$z])
Diffstat (limited to 'libbuild2/script/lexer.cxx')
-rw-r--r-- | libbuild2/script/lexer.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libbuild2/script/lexer.cxx b/libbuild2/script/lexer.cxx index d78e999..ce409c1 100644 --- a/libbuild2/script/lexer.cxx +++ b/libbuild2/script/lexer.cxx @@ -16,8 +16,6 @@ namespace build2 void lexer:: mode (base_mode m, char ps, optional<const char*> esc, uintptr_t data) { - bool a (false); // attributes - const char* s1 (nullptr); const char* s2 (nullptr); @@ -86,7 +84,8 @@ namespace build2 } assert (ps == '\0'); - state_.push (state {m, data, nullopt, a, ps, s, n, q, *esc, s1, s2}); + state_.push ( + state {m, data, nullopt, false, false, ps, s, n, q, *esc, s1, s2}); } token lexer:: |