tomassetti - antlr4 tutorial español
antlr4 sql grammar (4)
¿ANTLR4 tiene una gramática de sql disponible? Si es así, ¿dónde puedo encontrarlo?
Hay un enlace desde la wiki de ANTLR, pero el enlace está roto: lista de gramática
A partir del 6 de febrero de 2017, hay un archivo ANTLR4 para t-sql, pero se mantiene en la comunidad, y no está completo, encontré muchas declaraciones SQL válidas para SQLServer pero no puedo analizarlas con esta gramática.
Actualmente, hay un montón de gramáticas sql para v4 también:
- https://github.com/antlr/grammars-v4/tree/master/mysql
- PL/SQL
- T-SQL (Microsoft SQL Server) por KvanTTT
Como lo mencionaron los otros usuarios, hay gramáticas SQL disponibles en línea, pero no están completas. Yo sugeriría que la mejor manera sería utilizar la gramática incompleta y agregar la gramática que no está presente en la parte superior de la misma cuando sea necesario. Por ejemplo, si necesita traducción para la cláusula de unión y no está presente, simplemente agréguela en la parte superior. Solo asegúrate de que la gramática que escribes no rompa ninguna gramática existente
Esto es lo que hice en mi pasantía, donde tuve que hacer una herramienta para convertir scripts SAS a python. Como SAS es propietario, su gramática no estaba disponible. Así que construimos todo desde cero.
No, en el momento de escribir este artículo, no hay una gramática SQL v4.
Toda la gramática v4 se colocará en el siguiente repositorio de Github (que yo recuerde de la lista de correo de ANTLR): https://github.com/antlr/grammars-v4
Las gramáticas v3 aquí ahora: http://antlr3.org/grammar/list.html
EDITAR - abril de 2018
Ahora hay una gramática MySQL contribuida por el usuario aquí: https://github.com/antlr/grammars-v4/tree/master/mysql