dfilter: Rename some identifiers in grammar

Prefer grammar names for readibility over C names.

Prefer rel_binop to rel_op2. Clean formatting.
This commit is contained in:
João Valverde 2021-10-01 12:14:56 +01:00 committed by Wireshark GitLab Utility
parent 84ab55cf75
commit c7dc907d0e
1 changed files with 36 additions and 38 deletions

View File

@ -48,22 +48,22 @@
%type logical_test {stnode_t*}
%destructor logical_test {stnode_free($$);}
%type rel_op2 {test_op_t}
%type rel_binop {test_op_t}
%type range {stnode_t*}
%destructor range {stnode_free($$);}
%type drnode {drange_node*}
%destructor drnode {drange_node_free($$);}
%type range_node {drange_node*}
%destructor range_node {drange_node_free($$);}
%type drnode_list {GSList*}
%destructor drnode_list {drange_node_free_list($$);}
%type range_node_list {GSList*}
%destructor range_node_list {drange_node_free_list($$);}
%type funcparams {GSList*}
%destructor funcparams {st_funcparams_free($$);}
%type function_params {GSList*}
%destructor function_params {st_funcparams_free($$);}
%type setnode_list {GSList*}
%destructor setnode_list {set_nodelist_free($$);}
%type set_node_list {GSList*}
%destructor set_node_list {set_nodelist_free($$);}
/* This is called as soon as a syntax error happens. After that,
any "error" symbols are shifted, if possible. */
@ -191,7 +191,7 @@ range_body(B) ::= STRING(S). { B = S; }
range_body(B) ::= range(R). { B = R; }
/* Ranges */
range(R) ::= range_body(B) LBRACKET drnode_list(L) RBRACKET.
range(R) ::= range_body(B) LBRACKET range_node_list(L) RBRACKET.
{
R = stnode_new(STTYPE_RANGE, NULL, NULL);
sttype_range_set(R, B, L);
@ -201,18 +201,18 @@ range(R) ::= range_body(B) LBRACKET drnode_list(L) RBRACKET.
g_slist_free(L);
}
drnode_list(L) ::= drnode(D).
range_node_list(L) ::= range_node(D).
{
L = g_slist_append(NULL, D);
}
drnode_list(L) ::= drnode_list(P) COMMA drnode(D).
range_node_list(L) ::= range_node_list(P) COMMA range_node(D).
{
L = g_slist_append(P, D);
}
/* x:y is offset:length */
drnode(D) ::= INTEGER(X) COLON INTEGER(Y).
range_node(D) ::= INTEGER(X) COLON INTEGER(Y).
{
D = drange_node_new();
drange_node_set_start_offset(D, stnode_value(X));
@ -223,7 +223,7 @@ drnode(D) ::= INTEGER(X) COLON INTEGER(Y).
}
/* x-y == offset:offset */
drnode(D) ::= INTEGER(X) HYPHEN INTEGER(Y).
range_node(D) ::= INTEGER(X) HYPHEN INTEGER(Y).
{
D = drange_node_new();
drange_node_set_start_offset(D, stnode_value(X));
@ -235,7 +235,7 @@ drnode(D) ::= INTEGER(X) HYPHEN INTEGER(Y).
/* :y == from start to offset */
drnode(D) ::= COLON INTEGER(Y).
range_node(D) ::= COLON INTEGER(Y).
{
D = drange_node_new();
drange_node_set_start_offset(D, 0);
@ -245,7 +245,7 @@ drnode(D) ::= COLON INTEGER(Y).
}
/* x: from offset to end */
drnode(D) ::= INTEGER(X) COLON.
range_node(D) ::= INTEGER(X) COLON.
{
D = drange_node_new();
drange_node_set_start_offset(D, stnode_value(X));
@ -255,7 +255,7 @@ drnode(D) ::= INTEGER(X) COLON.
}
/* x == x:1 */
drnode(D) ::= INTEGER(X).
range_node(D) ::= INTEGER(X).
{
D = drange_node_new();
drange_node_set_start_offset(D, stnode_value(X));
@ -264,17 +264,25 @@ drnode(D) ::= INTEGER(X).
stnode_free(X);
}
rel_binop(O) ::= TEST_EQ. { O = TEST_OP_EQ; }
rel_binop(O) ::= TEST_NE. { O = TEST_OP_NE; }
rel_binop(O) ::= TEST_GT. { O = TEST_OP_GT; }
rel_binop(O) ::= TEST_GE. { O = TEST_OP_GE; }
rel_binop(O) ::= TEST_LT. { O = TEST_OP_LT; }
rel_binop(O) ::= TEST_LE. { O = TEST_OP_LE; }
rel_binop(O) ::= TEST_BITWISE_AND. { O = TEST_OP_BITWISE_AND; }
rel_binop(O) ::= TEST_CONTAINS. { O = TEST_OP_CONTAINS; }
rel_binop(O) ::= TEST_MATCHES. { O = TEST_OP_MATCHES; }
/* Relational tests */
relation_test(T) ::= entity(E) rel_op2(O) entity(F).
relation_test(T) ::= entity(E) rel_binop(O) entity(F).
{
T = stnode_new(STTYPE_TEST, NULL, NULL);
sttype_test_set2(T, O, E, F);
}
/* 'a == b == c' or 'a < b <= c <= d < e' */
relation_test(T) ::= entity(E) rel_op2(O) relation_test(R).
relation_test(T) ::= entity(E) rel_binop(O) relation_test(R).
{
stnode_t *L, *F;
/* for now generate it like E O F TEST_OP_AND F P G, later it could be optimized
@ -294,17 +302,7 @@ relation_test(T) ::= entity(E) rel_op2(O) relation_test(R).
sttype_test_set2(T, TEST_OP_AND, L, R);
}
rel_op2(O) ::= TEST_EQ. { O = TEST_OP_EQ; }
rel_op2(O) ::= TEST_NE. { O = TEST_OP_NE; }
rel_op2(O) ::= TEST_GT. { O = TEST_OP_GT; }
rel_op2(O) ::= TEST_GE. { O = TEST_OP_GE; }
rel_op2(O) ::= TEST_LT. { O = TEST_OP_LT; }
rel_op2(O) ::= TEST_LE. { O = TEST_OP_LE; }
rel_op2(O) ::= TEST_BITWISE_AND. { O = TEST_OP_BITWISE_AND; }
rel_op2(O) ::= TEST_CONTAINS. { O = TEST_OP_CONTAINS; }
rel_op2(O) ::= TEST_MATCHES. { O = TEST_OP_MATCHES; }
relation_test(T) ::= entity(E) TEST_IN LBRACE setnode_list(L) RBRACE.
relation_test(T) ::= entity(E) TEST_IN LBRACE set_node_list(L) RBRACE.
{
stnode_t *S;
T = stnode_new(STTYPE_TEST, NULL, NULL);
@ -312,26 +310,26 @@ relation_test(T) ::= entity(E) TEST_IN LBRACE setnode_list(L) RBRACE.
sttype_test_set2(T, TEST_OP_IN, E, S);
}
setnode_list(L) ::= entity(E).
set_node_list(L) ::= entity(E).
{
L = g_slist_append(NULL, E);
L = g_slist_append(L, NULL);
}
setnode_list(L) ::= setnode_list(P) WHITESPACE entity(E).
set_node_list(L) ::= set_node_list(P) WHITESPACE entity(E).
{
L = g_slist_append(P, E);
L = g_slist_append(L, NULL);
}
/* Range elements. */
setnode_list(L) ::= entity(X) DOTDOT entity(Y).
set_node_list(L) ::= entity(X) DOTDOT entity(Y).
{
L = g_slist_append(NULL, X);
L = g_slist_append(L, Y);
}
setnode_list(L) ::= setnode_list(P) WHITESPACE entity(X) DOTDOT entity(Y).
set_node_list(L) ::= set_node_list(P) WHITESPACE entity(X) DOTDOT entity(Y).
{
L = g_slist_append(P, X);
L = g_slist_append(L, Y);
@ -340,7 +338,7 @@ setnode_list(L) ::= setnode_list(P) WHITESPACE entity(X) DOTDOT entity(Y).
/* Functions */
/* A function can have one or more parameters */
entity(E) ::= FUNCTION(F) LPAREN funcparams(P) RPAREN.
entity(E) ::= FUNCTION(F) LPAREN function_params(P) RPAREN.
{
E = F;
sttype_function_set_params(E, P);
@ -352,12 +350,12 @@ entity(E) ::= FUNCTION(F) LPAREN RPAREN.
E = F;
}
funcparams(P) ::= entity(E).
function_params(P) ::= entity(E).
{
P = g_slist_append(NULL, E);
}
funcparams(P) ::= funcparams(L) COMMA entity(E).
function_params(P) ::= function_params(L) COMMA entity(E).
{
P = g_slist_append(L, E);
}