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/parser.hxx | |
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/parser.hxx')
-rw-r--r-- | libbuild2/parser.hxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libbuild2/parser.hxx b/libbuild2/parser.hxx index bc01e08..2f67c31 100644 --- a/libbuild2/parser.hxx +++ b/libbuild2/parser.hxx @@ -619,7 +619,14 @@ namespace build2 enable_attributes () { if (replay_ != replay::play) - lexer_->enable_attributes (); + lexer_->enable_lsbrace (); + } + + void + enable_subscript () + { + if (replay_ != replay::play) + lexer_->enable_lsbrace (true /* unseparated */); } void |