old files clean
[lttv.git] / ltt / branches / poly / lttv / main / filter.c
CommitLineData
48f6f3c2 1
2 consist in AND, OR and NOT nested expressions, forming a tree with
3 simple relations as leaves. The simple relations test is a field
4 in an event is equal, not equal, smaller, smaller or equal, larger, or
5 larger or equal to a specified value. */
6
7typedef enum _lttv_expression_op
8{ LTTV_FIELD_EQ,
9 LTTV_FIELD_NE,
10 LTTV_FIELD_LT,
11 LTTV_FIELD_LE,
12 LTTV_FIELD_GT,
13 LTTV_FIELD_GE
14} lttv_expression_op;
15
16typedef _lttv_simple_expression
17{ lttv_expression_op op;
18 char *field_name;
19 char *value;
20} lttv_simple_expression;
21
22typedef _lttv_expression_type
23{ LTTV_EXPRESSION,
24 LTTV_SIMPLE_EXPRESSION
25
26}
27typedef struct _lttv_expression
28{ bool or;
29 bool not;
30 bool simple_expression;
31 union
32 { lttv_expression *e;
33 lttv_field_relation *se;
34 } e;
35} lttv_expression;
36
37read_token
38
39read_expression
40 ( read expr )
41 simple expr [ op expr ]
42
43read_simple_expression
44 read_field_path [ rel value ]
45
46read_field_path
47 read_field_component [. field path]
48
49read_field_component
50 name [ \[ value \] ]
51
52data struct:
53and/or(left/right)
54not(child)
55op(left/right)
56path(component...) -> field
57
58
This page took 0.026332 seconds and 4 git commands to generate.