SQL の MySQL 方言の ANTLR パーサーを実装するために必要なスケジュールを定義し、必要な労力を見積もろうとしています。基本的には、YACC パーサー文法を MySQL リリース ( sql_yacc.yy
) から ANTRL 文法に変換することになります。
それはとても簡単に見えるだけですか?言語構文の一部の領域では、さらに開発とテストが必要になる場合があることがわかりました。
- ANTLR は左再帰を受け入れません
- 数値リテラルでは、値に基づいて型をキャストするカスタム Java コードが必要になります。
- ...
あなたが知っている、遭遇した、または予想するその他の課題はありますか?