2009-04-07 12 views
3

Je travaille actuellement sur un framework de test pour les expressions régulières, et je dois pouvoir analyser les expressions régulières Java en AST pour pouvoir générer des exemples de chaînes qui correspondent à la regex donnée.ANTLR Grammaire pour syntaxe Java Expression régulière

J'ai regardé la mise en œuvre de java.util.regex.Pattern mais le code semble assez lourd (l'accent était mis sur la vitesse sur la lisibilité j'imagine), j'ai donc décidé d'utiliser ANTLR pour écrire un analyseur regex à partir de zéro. Je me demande si quelqu'un connaît une grammaire ANTLR prête pour regex, avant de commencer à en dénigrer moi-même.

Répondre

3

Il y a une question similaire ici:

Regex Grammar

Les réponses contiennent des liens vers divers, grammaires aucun d'entre eux ones ANTLR. Je soupçonne que si vous traduisiez le BNF à ANTLR, vous seriez en proie à des maux de tête de récursion gauche mais ça vaut le coup d'essayer, vous pourriez avoir de la chance.

+0

Pour faire face à la récursion de gauche, voir http://javadude.com/articles/lalrtoll.html - aussi, je crois que certains des outils ANTLR 3 peuvent aider à éliminer la récursivité gauche. –

+0

Malheureusement, ceux fournis dans la question ne sont pas vraiment adaptés à mes besoins. J'ai décidé de mettre en œuvre la grammaire ANTLR à partir de zéro et son aspect bien. Pourtant, les exemples étaient un bon point de départ alors merci. –

Questions connexes