From 62b02808594d962f83e8b76f4da32da0673c7cfe Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 10 May 2021 18:52:40 +0200 Subject: parser_bison: add set_elem_key_expr rule Add a rule to specify the set key expression in preparation for the catch-all element support. Signed-off-by: Pablo Neira Ayuso --- src/parser_bison.y | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/parser_bison.y b/src/parser_bison.y index b50b6064..e4a5ade2 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -842,6 +842,9 @@ int nft_lex(void *, void *, void *); %type xfrm_expr %destructor { expr_free($$); } xfrm_expr +%type set_elem_key_expr +%destructor { expr_free($$); } set_elem_key_expr + %% input : /* empty */ @@ -4084,13 +4087,16 @@ set_elem_expr : set_elem_expr_alloc | set_elem_expr_alloc set_elem_expr_options ; -set_elem_expr_alloc : set_lhs_expr set_elem_stmt_list +set_elem_key_expr : set_lhs_expr { $$ = $1; } + ; + +set_elem_expr_alloc : set_elem_key_expr set_elem_stmt_list { $$ = set_elem_expr_alloc(&@1, $1); list_splice_tail($2, &$$->stmt_list); xfree($2); } - | set_lhs_expr + | set_elem_key_expr { $$ = set_elem_expr_alloc(&@1, $1); } -- cgit v1.2.3