5

I'm currently working on a testing framework for regular expressions, and I need to be able to parse Java regular expressions into ASTs to be able to generate sample strings which match the given regex.

I looked at the implementation of java.util.regex.Pattern but the code looks quite unwieldy (the emphasis was on speed over readability I would imagine), so I decided to use ANTLR to write a regex parser from scratch.

I'm wondering if anyone knows of a ready ANTLR grammar for regex, before I start bashing one out myself.

Il-Bhima
  • 10,744
  • 1
  • 47
  • 51

1 Answers1

3

There's a similar question here:

Regex Grammar

The answers contain links to assorted grammars, none of them ANTLR ones. I suspect that if you translated the BNF one to ANTLR, you'd be plagued by left-recursion headaches but it's worth a try, you might get lucky.

Community
  • 1
  • 1
izb
  • 50,101
  • 39
  • 117
  • 168
  • To deal with left recursion, see http://javadude.com/articles/lalrtoll.html - also, I believe some of the ANTLR 3 tools can help eliminate left recursion. – Scott Stanchfield Apr 07 '09 at 13:20
  • Unfortunately the ones provided in the question are not really suited to my needs. I decided to implement the ANTLR grammar from scratch and its looking good. Still, the examples were a good starting point so thanks. – Il-Bhima Apr 13 '09 at 07:41