演算子の優先順位は生成規則で

だいぶ、SQLの一番ややこしいところ、すなわち、WHERE区のコンディション関連ができた。
SQLコンパイラ作成で一番厄介なのがこの部分だ。


ANDとかORの論理演算もあるし、優先順位もあるし。NOTとかもあるし、結構いろいろとやることがある。

演算子の優先順位は、JavaCCの右結合とか左結合みたいな結合ルールは使わずに、文法の生成規則だけでやっている。
演算の優先順位が低いものから順に生成していくようにしていけばOKだ。

しかし、思った以上にソースコードが大きくなっていく。
いやあ、結構、自分的に大作になりそうな予感。