macro_rules! query {
(.. $lhs : tt && $($rest : tt) +) => { ... };
(.. $lhs : expr ; && $($rest : tt) +) => { ... };
(.. $lhs : tt || $($rest : tt) +) => { ... };
(.. $lhs : expr ; || $($rest : tt) +) => { ... };
($key : tt in [$($e : expr), *]) => { ... };
($key : tt contains $value : tt) => { ... };
($key : tt contains $value : expr ;) => { ... };
($key : tt == $value : tt) => { ... };
($key : tt == $value : expr ;) => { ... };
($key : tt != $value : tt) => { ... };
($key : tt != $value : expr ;) => { ... };
($key : tt > $value : tt) => { ... };
($key : tt > $value : expr ;) => { ... };
($key : tt >= $value : tt) => { ... };
($key : tt >= $value : expr ;) => { ... };
($key : tt < $value : tt) => { ... };
($key : tt < $value : expr ;) => { ... };
($key : tt >= $value : tt) => { ... };
($key : tt >= $value : expr ;) => { ... };
($key : tt % % $value : tt) => { ... };
($key : tt % % $value : expr ;) => { ... };
($key : tt $op : tt $value : tt && cond($condition : expr) $($rest : tt) +) => { ... };
($key : tt $op : tt $value : expr ; && cond($condition : expr) $($rest : tt)
+) => { ... };
($key : tt $op : tt $value : tt || cond($condition : expr) $($rest : tt) +) => { ... };
($key : tt $op : tt $value : expr ; || cond($condition : expr) $($rest : tt)
+) => { ... };
($key : tt $op : tt $value : tt && $($rest : tt) +) => { ... };
($key : tt $op : tt $value : expr ; && $($rest : tt) +) => { ... };
($key : tt $op : tt $value : tt || $($rest : tt) +) => { ... };
($key : tt $op : tt $value : expr ; || $($rest : tt) +) => { ... };
(($($lhs : tt) +) && cond($condition : expr) $($rhs : tt) +) => { ... };
(($($lhs : tt) +) || cond($condition : expr) $($rhs : tt) +) => { ... };
($($lhs : tt) + && cond($condition : expr) ($($rhs : tt) +)) => { ... };
($($lhs : tt) + || cond($condition : expr) ($($rhs : tt) +)) => { ... };
(($($lhs : tt) +) && $($rhs : tt) +) => { ... };
(($($lhs : tt) +) || $($rhs : tt) +) => { ... };
($($lhs : tt) + && ($($rhs : tt) +)) => { ... };
($($lhs : tt) + || ($($rhs : tt) +)) => { ... };
(($($qq : tt) +)) => { ... };
}