Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Arnaud W.
Plusieurs possibilités, selon ce que tu veux faire :
1) Analyseur ultra simple (ne supportant pas toute la grammaire SQL) : http://lutinquery.labs.libre-entreprise.org/ (il a l'air ultra simple et pas très complet). OU : analyseur fait main avec java.util.StringTokenizer par exemple.
2) Analyseur générique complet : JavaCC (générateur de parseur lexicaux et syntaxiques) : https://javacc.dev.java.net/ Dans la liste des grammaires, il y en a une pour le PL/SQL : https://javacc.dev.java.net/servlets/ProjectDocumentList?folderID0 Tu obtiens alors un vrai parseur SQL complet. Par exemple, http://www.experlog.com/gibello/zql/ est généré avec JavaCC.
Mon avis perso : JavaCC est le mieux car il produit un parseur générique et complet. Tu peux ensuite parcourir l'arbre correspondant à ta requête en utilisant le design pattern "Visitor" (modèle de conception visiteur).
J'espère que cela t'aidera.
Arnaud W. http://awr.free.fr
Plusieurs possibilités, selon ce que tu veux faire :
1) Analyseur ultra simple (ne supportant pas toute la grammaire SQL) :
http://lutinquery.labs.libre-entreprise.org/
(il a l'air ultra simple et pas très complet).
OU : analyseur fait main avec java.util.StringTokenizer par exemple.
2) Analyseur générique complet : JavaCC (générateur de parseur
lexicaux et syntaxiques) :
https://javacc.dev.java.net/
Dans la liste des grammaires, il y en a une pour le PL/SQL :
https://javacc.dev.java.net/servlets/ProjectDocumentList?folderID=110
Tu obtiens alors un vrai parseur SQL complet.
Par exemple, http://www.experlog.com/gibello/zql/ est généré avec
JavaCC.
Mon avis perso : JavaCC est le mieux car il produit un parseur
générique et complet. Tu peux ensuite parcourir l'arbre correspondant
à ta requête en utilisant le design pattern "Visitor" (modèle de
conception visiteur).
Plusieurs possibilités, selon ce que tu veux faire :
1) Analyseur ultra simple (ne supportant pas toute la grammaire SQL) : http://lutinquery.labs.libre-entreprise.org/ (il a l'air ultra simple et pas très complet). OU : analyseur fait main avec java.util.StringTokenizer par exemple.
2) Analyseur générique complet : JavaCC (générateur de parseur lexicaux et syntaxiques) : https://javacc.dev.java.net/ Dans la liste des grammaires, il y en a une pour le PL/SQL : https://javacc.dev.java.net/servlets/ProjectDocumentList?folderID0 Tu obtiens alors un vrai parseur SQL complet. Par exemple, http://www.experlog.com/gibello/zql/ est généré avec JavaCC.
Mon avis perso : JavaCC est le mieux car il produit un parseur générique et complet. Tu peux ensuite parcourir l'arbre correspondant à ta requête en utilisant le design pattern "Visitor" (modèle de conception visiteur).