[Mono-bugs] [Bug 52605][Wis] Changed - Compiling regexes to IL

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 15 May 2004 14:12:56 -0400 (EDT)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by beauche@softhome.net.


--- shadow/52605	2004-05-14 18:05:11.000000000 -0400
+++ shadow/52605.tmp.20309	2004-05-15 14:12:56.000000000 -0400
@@ -22,6 +22,47 @@
 ------- Additional Comments From beauche@softhome.net  2004-02-02 09:57 -------
 See http://aeglos.dyndns.org/tip-mono/
 ------- Additional Comments From jackson@ximian.com  2004-05-14 18:05 -------
 Could you post an update of your status, so we know whether or not
 this bug can be closed?
+------- Additional Comments From beauche@softhome.net  2004-05-15 14:12 -------
+We had posted it on the mailing list.Here is the mail : 
+Since we are a little bit short of time, we want to publish a first
+release of the CILCompiler.  It's not perfect, it's not feature
+complete, but no mutch less than the interpreter.
+We are actually blocked with some case of imbricated regex and it
+won't be possible to finish before the deadline.
+Some things who where recursive in the interpreter are very difficult
+to render in an iterative fashion.
+So, the compiler actually do Well :
+- Litteral matching
+- Capturing group
+- Character class
+- Back references
+- Any anchor (Zero width assetion)
+- Alternation with simple nested regex ( no repetition )
+- Repetition of simple regex
+Here is the list of known bug :
+- some case of alternation nested with repetitions
+- RightToLeft in compiled mode still have some mismatch
+- All commented test cases in CILRegexTrials.cs...
+What's not implemented :
+- Balancing groups
+- Lookahead / Lookbehind
+- Nonbactracking group
+- Conditionnal alternation
+So, if anyone want to give it a try, here are the patches.
+Note that System.dll must be compiled with --unsafe in orther to
+compile the Compiler.
+Before applying any patch, it is necessary to do a "dos2unix -U *" in
+System.Text.RegularExpressions and Test/System.Text.RegularExpressions.
+All patch are made from mcs/class/System