はじめに 実案件などで重複する文字列を作成しなければならないことは、よくあるかと思います。多くの場合はエディタを駆使して行うかと思いますが、これが仕様変更等が入る可能性が高いものだったらどうでしょう?プログラマとしては出来るだけ重複した記述は避けたいとは思わないでしょうか? 例えばバッチ処理でのSQLを文字列と捉えると、言語の性質的に共通化が難しく(※1)重複した記述が多くなりがちだと思います。ということでSQLを対象として、重複した記述は出来るだけ避ける為のDSLを定義してみました。 ※1 ストアドプロシージャなどは除きます 今回作成したDSLのサンプル 以下、最終的に出力したいSQLと、これを生成するためのSQLです。 出力したいSQL sample.sql --SQL① a,b,c,dでグループ化 SELECT col_a ,col_b ,col_c ,col_d ,SUM(col