rules を protocol にする。
(x y) を空白という中置演算子と見なしてパースできる