SQL整形
今は字句解析の作りかけ状態。
汎用的なものを考えているので、Stringを入力し、Stringを出力します。実際に使う場合は、テキストファイルやXMLファイルのタグ、リダイレクトやJTextAreaなど色々考えられるけれど、Stringにしておけば様々な場合に対応できるでしょう。WindowsやUnixなどで使うことが想定されますが、Stringなので、文字コードは呼び出し側で変換済みとします。
今の戦略は・・・
SQL文の文字列を、
KEYWORD "insert" SPACE " " KEYWORD "into" NAME "user" SPACE "values"
という具合に、整数と文字列のリストにします。
そのあと、
- キーワードは大文字にする/小文字にする
- (のあとは、改行を入れる。(の前に改行を入れる。
- 名前は大文字/小文字/先頭のみ大文字にする。
- SELECT,UPDATE,DELETE,INTOの後は改行し、indentを+2する。
などのルールを適応し、整形させます。
最後に、文字列にして出力する。
という感じです。
これでいけるかな???