Queries are passed to the command line, using the keywords OR and NOT. Grouping is done using [ and ] (these are not reserved by the shell). Two tildes (`~~`) at the beginning of a string denote a glob match on tags. A tilde and a dash (`~-`) denote a glob match on titles. The grammar is implemented as a recursive descent parser. ``` e1 ::= e2 ("OR" e2)*; e2 ::= e3*; e3 ::= "NOT"? e4; e4 ::= TAG | "[" e1 "]"; ```