import return T_IMPORT;
assign return T_ASSIGN;
ignore return T_IGNORE;
-function return T_FUNCTION;
-lambda return T_LAMBDA;
-return return T_RETURN;
+__function return T_FUNCTION;
+__return return T_RETURN;
zone return T_ZONE;
-for return T_FOR;
+__for return T_FOR;
\<\< { yylval->op = &AExpression::OpShiftLeft; return T_SHIFT_LEFT; }
\>\> { yylval->op = &AExpression::OpShiftRight; return T_SHIFT_RIGHT; }
\<= { yylval->op = &AExpression::OpLessThanOrEqual; return T_LESS_THAN_OR_EQUAL; }
%token T_ASSIGN "assign (T_ASSIGN)"
%token T_IGNORE "ignore (T_IGNORE)"
%token T_FUNCTION "function (T_FUNCTION)"
-%token T_LAMBDA "lambda (T_LAMBDA)"
%token T_RETURN "return (T_RETURN)"
%token T_ZONE "zone (T_ZONE)"
%token T_FOR "for (T_FOR)"
$$ = new Value(make_shared<AExpression>(&AExpression::OpFunction, arr, Array::Ptr($3), DebugInfoRange(@1, @5)));
}
- | T_LAMBDA identifier_items ':' rterm
- {
- Array::Ptr arr = make_shared<Array>();
-
- arr->Add(Empty);
-
- Array::Ptr arrex = make_shared<Array>();
- arrex->Add(make_shared<AExpression>(&AExpression::OpSet, make_shared<AExpression>(&AExpression::OpLiteral, "__result", @4), *$4, @4));
- delete $4;
- AExpression::Ptr aexpr = make_shared<AExpression>(&AExpression::OpDict, arrex, true, @4);
-
- arr->Add(aexpr);
-
- $$ = new Value(make_shared<AExpression>(&AExpression::OpFunction, arr, Array::Ptr($2), DebugInfoRange(@1, @4)));
- }
| T_FOR '(' identifier T_IN rterm ')' rterm_scope
{
Array::Ptr arr = make_shared<Array>();