mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-29 16:44:29 +02:00
parent
2024598ef7
commit
b8d3d42b7f
@ -172,6 +172,7 @@ static void MakeRBinaryOp(Value** result, AExpression::OpCallback& op, Value *le
|
|||||||
%type <type> type
|
%type <type> type
|
||||||
%type <num> partial_specifier
|
%type <num> partial_specifier
|
||||||
%type <variant> rterm
|
%type <variant> rterm
|
||||||
|
%type <variant> rterm_array
|
||||||
%type <variant> rterm_scope
|
%type <variant> rterm_scope
|
||||||
%type <variant> lterm
|
%type <variant> lterm
|
||||||
%type <variant> object
|
%type <variant> object
|
||||||
@ -494,7 +495,11 @@ lbinary_op: T_SET
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
lterm_items: lterm_items_inner
|
lterm_items: /* empty */
|
||||||
|
{
|
||||||
|
$$ = new Array();
|
||||||
|
}
|
||||||
|
| lterm_items_inner
|
||||||
{
|
{
|
||||||
$$ = $1;
|
$$ = $1;
|
||||||
}
|
}
|
||||||
@ -503,11 +508,7 @@ lterm_items: lterm_items_inner
|
|||||||
$$ = $1;
|
$$ = $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
lterm_items_inner: /* empty */
|
lterm_items_inner: lterm
|
||||||
{
|
|
||||||
$$ = new Array();
|
|
||||||
}
|
|
||||||
| lterm
|
|
||||||
{
|
{
|
||||||
$$ = new Array();
|
$$ = new Array();
|
||||||
$$->Add(*$1);
|
$$->Add(*$1);
|
||||||
@ -614,37 +615,49 @@ lterm: identifier lbinary_op rterm
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
rterm_items: rterm_items_inner
|
rterm_items: /* empty */
|
||||||
|
{
|
||||||
|
$$ = new Array();
|
||||||
|
}
|
||||||
|
| rterm_items_inner
|
||||||
{
|
{
|
||||||
$$ = $1;
|
$$ = $1;
|
||||||
}
|
}
|
||||||
| rterm_items_inner ','
|
| rterm_items_inner arraysep
|
||||||
{
|
{
|
||||||
$$ = $1;
|
$$ = $1;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
rterm_items_inner: /* empty */
|
rterm_items_inner: rterm
|
||||||
{
|
|
||||||
$$ = new Array();
|
|
||||||
}
|
|
||||||
| rterm
|
|
||||||
{
|
{
|
||||||
$$ = new Array();
|
$$ = new Array();
|
||||||
$$->Add(*$1);
|
$$->Add(*$1);
|
||||||
delete $1;
|
delete $1;
|
||||||
}
|
}
|
||||||
| rterm_items_inner ',' rterm
|
| rterm_items_inner arraysep rterm
|
||||||
{
|
{
|
||||||
$$ = $1;
|
$$ = $1;
|
||||||
$$->Add(*$3);
|
$$->Add(*$3);
|
||||||
delete $3;
|
delete $3;
|
||||||
}
|
}
|
||||||
| rterm_items_inner ',' newlines rterm
|
;
|
||||||
|
|
||||||
|
rterm_array: '[' newlines rterm_items newlines ']'
|
||||||
{
|
{
|
||||||
$$ = $1;
|
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($3), DebugInfoRange(@1, @5)));
|
||||||
$$->Add(*$4);
|
}
|
||||||
delete $4;
|
| '[' newlines rterm_items ']'
|
||||||
|
{
|
||||||
|
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($3), DebugInfoRange(@1, @4)));
|
||||||
|
}
|
||||||
|
| '[' rterm_items newlines ']'
|
||||||
|
{
|
||||||
|
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($2), DebugInfoRange(@1, @4)));
|
||||||
|
}
|
||||||
|
| '[' rterm_items ']'
|
||||||
|
{
|
||||||
|
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($2), DebugInfoRange(@1, @3)));
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -712,21 +725,9 @@ rterm: T_STRING
|
|||||||
delete $1;
|
delete $1;
|
||||||
delete $3;
|
delete $3;
|
||||||
}
|
}
|
||||||
| '[' newlines rterm_items newlines ']'
|
| rterm_array
|
||||||
{
|
{
|
||||||
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($3), DebugInfoRange(@1, @5)));
|
$$ = $1;
|
||||||
}
|
|
||||||
| '[' rterm_items newlines ']'
|
|
||||||
{
|
|
||||||
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($2), DebugInfoRange(@1, @4)));
|
|
||||||
}
|
|
||||||
| '[' newlines rterm_items ']'
|
|
||||||
{
|
|
||||||
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($3), DebugInfoRange(@1, @4)));
|
|
||||||
}
|
|
||||||
| '[' rterm_items ']'
|
|
||||||
{
|
|
||||||
$$ = new Value(make_shared<AExpression>(&AExpression::OpArray, Array::Ptr($2), DebugInfoRange(@1, @3)));
|
|
||||||
}
|
}
|
||||||
| rterm_scope
|
| rterm_scope
|
||||||
{
|
{
|
||||||
@ -892,4 +893,8 @@ sep: ',' newlines
|
|||||||
| newlines
|
| newlines
|
||||||
;
|
;
|
||||||
|
|
||||||
|
arraysep: ',' newlines
|
||||||
|
| ','
|
||||||
|
;
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
Loading…
x
Reference in New Issue
Block a user