antlrantlr3antlrworkssql-parser

ANTLR making a grammar for parsing insert/update/delete SQL query


I am new to ANTLR & grammar writing. My requirement is to parse insert/update/delete SQL queries to get details like which table is being update/inserted/deleting a row, list of columns & their values etc. Yes there is a good documentation of ANTLR, but if anyone can help me with specific grammar for query parsing then it would be great help.


Solution

  • There are various SQL grammars on the Wiki: http://www.antlr.org/grammar/list

    Beware though: they are contributed by ANTLR-users, chances are that they've not been properly tested and/or contain bugs.

    But why generate an SQL parser yourself? It would probably be easier to use some exiting SQL parser. Just do a search on "SQL parser Java" (assuming you're working with Java), and you're bound to get dozens of hits.