このリポジトリは、SQL Formatter を作るためのプロジェクトです。 現在は SQL パーサー に加えて、フォーマッターの実装も進行中です。
- 最終目標: SQL を整形するフォーマッタの実装
- 現状: SQL パーサー + フォーマッターの両方を実装中
spec/apache-calcite-Parser.js: パーサー本体(lexer + parser)spec/apache-calcite-Parser-test.js: 回帰/異常系テストspec/apache-calcite-Parser.md: 仕様(EBNFベース)spec/apache-calcite-Parser.jj: 参照文法AST.md: AST 仕様(暫定)FORMATTER_RULES.md: SQL Formatter の出力ルールindex-parser.html: SQL → AST 出力の簡易デモindex.html: SQL Formatter の UIsql-formatter.js: SQL フォーマッター本体sql-formatter-test.js: フォーマッターテスト
テストを実行してパーサーの動作確認ができます。
node spec/apache-calcite-Parser-test.js- index-parser.html: SQL → AST を出力する簡易デモ(実装済み)
- index.html: SQL Formatter の UI(実装中)
- フォーマッターの対応範囲拡張(DML/DDL など)
- AST 仕様の整理と固定化
- 構文の厳密化(句の順序/排他の追加チェック)
spec/apache-calcite-Parser.jjの文法を元にspec/apache-calcite-Parser.md(EBNF仕様)を作成spec/apache-calcite-Parser.mdを元にspec/apache-calcite-Parser.js(実装)を生成
- AST の JSON 出力
- トークン一覧の表示
- エラートークンのハイライト表示
LICENSE を参照してください。
