diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-07-06T12·28+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-07-06T12·28+0000 |
commit | 2b9e29b1c8b6b8e4884a46a3ba71ee795f1f97cd (patch) | |
tree | 9b4dd1efce2222e6fdf29ceaaca1f477b77e532b /src/libexpr/parser.y | |
parent | 5580f3817c37135dcc633d84d1360a17a8878a58 (diff) |
* Change the right-hand side of the ‘.’ operator from an attribute to
an attribute path. This is a refactoring to support default values.
Diffstat (limited to 'src/libexpr/parser.y')
-rw-r--r-- | src/libexpr/parser.y | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index 073fac1bee89..49bd7bfa5f12 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -325,8 +325,8 @@ expr_app ; expr_select - : expr_select '.' ID - { $$ = new ExprSelect($1, data->symbols.create($3)); } + : expr_simple '.' attrpath + { $$ = new ExprSelect($1, *$3); } | expr_simple { $$ = $1; } ; @@ -382,7 +382,7 @@ binds | binds INHERIT '(' expr ')' ids ';' { $$ = $1; /* !!! Should ensure sharing of the expression in $4. */ - foreach (AttrPath::iterator, i, *$6) { + foreach (vector<Symbol>::iterator, i, *$6) { if ($$->attrs.find(*i) != $$->attrs.end()) dupAttr(*i, makeCurPos(@6, data), $$->attrs[*i].pos); $$->attrs[*i] = ExprAttrs::AttrDef(new ExprSelect($4, *i), makeCurPos(@6, data)); |