aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/parser.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-05-25 12:12:13 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-05-27 15:52:53 +0200
commitde3de2d1a58556cff5d8549e9befe2ec3cf2d08a (patch)
tree8f7f109c70d615bc93daa2a8f4b25ceb3842e062 /libbuild2/parser.hxx
parentb808c255b6a9ddba085bf5646e7d20ec344f2e2d (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.hxx9
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