こう出力されるつもりです。 単純なWebアプリは大抵はSQLとの戦いだと思うので、このプログラムを用いて開発効率アップしようぜーみたいな発想からやろうと思いました。 (※とりあえず、MySQLのSELECTのみ対応します。) まずはSQLを構文解析して、扱いやすくします。 これにはRuby製のパーサジェネレータ、Raccを使います。 Raccや構文解析についてはそれだけで本が出ているほどなので、僕が詳しくは説明しません。というかできません。。。 Raccに至っては構文解析がいい感じにできる、くらいしか語れません。。。 ただこれを使うと、Rubyの上で動くプログラミング言語も作れてしまうので、一度触って損はないのでは、と思います。 今回プログラムの全体構造は以下のような感じになります。 class SQLFormatter rule # 構文解析を行うところ。BNFで記述する。 end --