macro_rules! _opion_grid {
(+,$($t:tt)+) => { ... };
(-,$($t:tt)+) => { ... };
(*,$($t:tt)+) => { ... };
(/,$($t:tt)+) => { ... };
(&,$($t:tt)+) => { ... };
(|,$($t:tt)+) => { ... };
(^,$($t:tt)+) => { ... };
(%,$($t:tt)+) => { ... };
(<<,$($t:tt)+) => { ... };
(>>,$($t:tt)+) => { ... };
(add,$($t:tt)+) => { ... };
(sub,$($t:tt)+) => { ... };
(mul,$($t:tt)+) => { ... };
(div,$($t:tt)+) => { ... };
(bitand,$($t:tt)+) => { ... };
(bitor,$($t:tt)+) => { ... };
(bitxor,$($t:tt)+) => { ... };
(rem,$($t:tt)+) => { ... };
(shl,$($t:tt)+) => { ... };
(shr,$($t:tt)+) => { ... };
}