Ich arbeite derzeit an einem Test-Framework für reguläre Ausdrücke, und ich muss in der Lage sein, Java-reguläre Ausdrücke in ASTs zu analysieren, um Beispielstrings zu erzeugen, die der gegebenen Regex entsprechen.ANTLR-Grammatik für Java Regular Expression-Syntax
Ich schaute auf die Implementierung von java.util.regex.Pattern
, aber der Code sieht ziemlich sperrig (der Schwerpunkt lag auf Geschwindigkeit über Lesbarkeit, die ich mir vorstellen würde), so entschied ich mich, ANTLR verwenden, um einen Regex-Parser von Grund auf zu schreiben.
Ich frage mich, ob jemand eine fertige ANTLR-Grammatik für Regex kennt, bevor ich anfange, mich selbst zu verprügeln.
Um mit der linken Rekursion umzugehen, siehe http://javadude.com/articles/lalrtoll.html - auch glaube ich, dass einige der ANTLR 3-Tools dabei helfen können, die linke Rekursion zu eliminieren. –
Leider sind die in der Frage angegebenen nicht wirklich für meine Bedürfnisse geeignet. Ich beschloss, die ANTLR-Grammatik von Grund auf neu zu implementieren und sie sieht gut aus. Trotzdem waren die Beispiele ein guter Ausgangspunkt, danke. –