Something went wrong. Try again.
Something went wrong. Try again.
12345678910111213141516171819202122%token <string> FLAG%token LPAREN RPAREN%token OR AND%token NOT%token EOF%left OR%left AND%nonassoc NOT
%start <Filter.t> filter%%
filter: | f = expr; EOF { f }
expr: | f = FLAG { Filter.Flag (Config.of_string f) } | LPAREN; e = expr; RPAREN { e } | e1 = expr; AND; e2 = expr { Filter.And (e1, e2) } | e1 = expr; OR; e2 = expr { Filter.Or (e1, e2) } | NOT; e = expr { Filter.Not e }