author | Tony Garnock-Jones <tonygarnockjones@gmail.com> |
Tue, 25 May 2010 08:09:57 +1200 | |
changeset 285 | 034958cf32d9 |
parent 11 | 089a57807585 |
permissions | -rw-r--r-- |
11
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
1 |
May 2, 2005 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
2 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
3 |
PLT bug 7220 from Toni Wuersch: ^ and $ match the ends of the substring |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
4 |
identified by pregexp-match-positions's optional args. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
5 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
6 |
Apr 25, 2005 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
7 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
8 |
Allowing a greedy quantifier's operand to be empty can lead to infinite |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
9 |
loops, e.g., (pregexp-match "(|)*" ""). Signal error when matching against |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
10 |
such regexps. Bug report from Dave Herman. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
11 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
12 |
Signal error for non-existing backrefs _when matching_. However, (pregexp |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
13 |
"\\133") won't signal error. Situation mentioned by Eli Barzilay. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
14 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
15 |
PLT bug 6114 (?): (pregexp "[") should give better error message. The bug |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
16 |
report from Brent Fulgham embeds \133 in the regexp, which MzScheme reads |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
17 |
as [, and correctly triggers error. Chicken, on the other hand, treats |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
18 |
"\133" as "133". |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
19 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
20 |
Apr 24, 2005 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
21 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
22 |
*PLT bug 6114: Fails as described in MzScheme, but is OK in Chicken. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
23 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
24 |
*PLT bug 6116: Couldn't duplicate. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
25 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
26 |
*PLT bug 7220: I don't think it's a bug (and I like existing behavior). |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
27 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
28 |
PLT bug 6478 from John Clements: Give a less lame error message |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
29 |
for (pregexp-split #\: "foo:bar"). |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
30 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
31 |
PLT bug 7232 from Neil Van Dyke: Accept `-' as last character in character |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
32 |
class. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
33 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
34 |
PLT bug 7233 from Edi Weitz: The 6442 bugfix solves this too. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
35 |
(pregexp-match "(a)|(b)" "b") should return two, not one, submatches. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
36 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
37 |
PLT bug 6442 from David T. Pierson: pregexp-match-positions should show |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
38 |
submatch of #f for each subpattern, even if this subpattern is part of |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
39 |
another subpattern that failed. This required rewriting |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
40 |
pregexp-match-positions[-aux]. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
41 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
42 |
PLT bug 6095 from Neil W. Van Dyke: Accept `-' as first character in |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
43 |
character class. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
44 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
45 |
Dec 4, 2003 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
46 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
47 |
pregexp-quote should quote ^ and $. Bug report by John Gerard Malecki. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
48 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
49 |
June 3, 2003 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
50 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
51 |
Add Gauche module version. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
52 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
53 |
1e9 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
54 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
55 |
Feb 5, 2003 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
56 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
57 |
(pregexp-replace* "^(.*)$" "foo" "abc\\1") shdn't loop |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
58 |
forever but return "abcfoo" -- bug report relayed by John |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
59 |
Malecki |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
60 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
61 |
|||ly, (pregexp-replace* "(.*)$" "foo" "abc\\1" shdn't |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
62 |
loop either. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
63 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
64 |
Dec 10, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
65 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
66 |
PLT, Scsh, Guile ports cleanup |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
67 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
68 |
1e8 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
69 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
70 |
Nov 30, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
71 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
72 |
pregexp-replace*, like pregexp-replace, should return |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
73 |
original string if there was nothing to replace. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
74 |
Suggestion by John Gerard Malecki (johnm at artisan dot |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
75 |
com). |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
76 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
77 |
1e7 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
78 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
79 |
Nov 28, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
80 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
81 |
Added pregexp-quote at suggestion of Neil Van Dyke, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
82 |
(neil at neilvandyke dot org). |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
83 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
84 |
Nov 26, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
85 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
86 |
Added bugs/ subdirectory. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
87 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
88 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
89 |
1e6a |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
90 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
91 |
Nov 21, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
92 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
93 |
Simplified scmxlate config. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
94 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
95 |
Nov 17, 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
96 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
97 |
Added makefile for my own use. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
98 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
99 |
23 Mar 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
100 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
101 |
Modules shd export *pregexp-comment-char* |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
102 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
103 |
20 Mar 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
104 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
105 |
Toss all the module-making scripts in favor of |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
106 |
scmxlate |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
107 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
108 |
2 Feb 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
109 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
110 |
Reorganize doc to be excerptable into the MzLib |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
111 |
manual |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
112 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
113 |
26 Jan 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
114 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
115 |
Make pregexp.scm loadable in Scsh. Previously, code |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
116 |
had assumed (char->integer #\nul) = 0, whereas it |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
117 |
is 1000 for Scsh. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
118 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
119 |
Added script make-pregexp-module-for-scsh. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
120 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
121 |
21 Jan 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
122 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
123 |
Added scripts make-pregexp-module-for-plt and |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
124 |
make-pregexp-module-for-guile, which provide a possibly |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
125 |
cleaner access (no namespace pollution) to |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
126 |
pregexp functionality for the Scheme dialects PLT and |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
127 |
Guile. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
128 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
129 |
pregexp-split with first arg of " *" shouldn't |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
130 |
return empty substrings -- pointed out by Rob Warnock. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
131 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
132 |
pregexp-split, note 1: If the text string starts |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
133 |
with a non-empty delimiter, the first substring is |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
134 |
considered to be an empty substring. If the text |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
135 |
string ends in a delimiter, the last substring is the |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
136 |
one before it, not the empty substring after it. This |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
137 |
is probably arguable. Anyway, it is Perl-like. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
138 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
139 |
Note 2: If the textstring has nonzero leading |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
140 |
space, and the delimiter matches just this space, then |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
141 |
Perl doesn't consider the first substring to be the |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
142 |
empty substring before the delimiter. pregexp does. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
143 |
Perl's decision here seems too special-cased for space |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
144 |
(since it doesn't hold for any other type of |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
145 |
delimiter), so I haven't implemented it. If you really |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
146 |
want to prune leading space, it is easy to do so |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
147 |
specifically by other means. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
148 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
149 |
v 1e6 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
150 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
151 |
20 Jan 2002 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
152 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
153 |
Treat (pregexp "") correctly. Ie, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
154 |
(pregexp-match-positions "" "anything") should give ((0 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
155 |
. 0)), not #f. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
156 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
157 |
Added pregexp-split procedure. Given pat and str, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
158 |
returns the substrings of str that are separated by |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
159 |
pat. Special case (as in Perl): If pat is "", |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
160 |
return all single-char substrings. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
161 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
162 |
v 1e5 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
163 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
164 |
9 Dec 2001 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
165 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
166 |
Use pregexp internal error message when |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
167 |
incomplete character-class is supplied instead |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
168 |
of bombing on a bad string-ref. Suggested |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
169 |
by Manuel Serrano (Bigloo). |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
170 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
171 |
Added pregexp-error procedure to accommodate |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
172 |
above. Unfortunately, there is no R5RS error |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
173 |
procedure. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
174 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
175 |
v 1e4 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
176 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
177 |
14 Oct 2001 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
178 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
179 |
[] is not an empty character class! It is an |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
180 |
unfinished character class (ie, still waiting |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
181 |
for a closing right-bracket) that contains |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
182 |
left-bracket. Bug report from Matthew Riben |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
183 |
(Matthew.Riben@SpirentCom.COM) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
184 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
185 |
v 1e3 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
186 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
187 |
17 Dec 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
188 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
189 |
Tackle case/colon problem of string<->symbol |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
190 |
conversion in the scm2cl translator instead |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
191 |
of holding the Scheme code hostage to it |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
192 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
193 |
v 1e2 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
194 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
195 |
16 Dec 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
196 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
197 |
These are bugfixes that are CL-specific only. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
198 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
199 |
Reading [:alpha:] as ':alpha is made more |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
200 |
explicit since CL can't do string<->symbol conversion |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
201 |
as cleanly as Scheme (both because of case and |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
202 |
because of the colon) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
203 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
204 |
Also the scm2cl translator needed a fix for |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
205 |
string->number. string->number's translation uses |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
206 |
read-from-string, which was erroring on "", so |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
207 |
(string->number "") was erroring instead of returning |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
208 |
#f. Fix: Use opt arg that makes read-from-string |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
209 |
return nil on eof. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
210 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
211 |
Included pregexp-test.cl, CL version of test |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
212 |
suite. Using scm2cl on pregexp-test.scm showed |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
213 |
up another scm2cl error. It was bombing on explicitly |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
214 |
dotted pairs in the Scheme source. (pregexp is proving |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
215 |
to be a great test for scm2cl.) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
216 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
217 |
v 1e1 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
218 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
219 |
14 Dec 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
220 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
221 |
Choose alternate that causes overall match. As before, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
222 |
leftmost alternate will match even if it causes shorter |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
223 |
match, but an overall match is always preferred over an |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
224 |
overall nonmatch. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
225 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
226 |
13 Dec 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
227 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
228 |
#\tab not R5RS; replaced by *pregexp-tab-char* = |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
229 |
(integer->char 9) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
230 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
231 |
v 1e |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
232 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
233 |
9 Dec 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
234 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
235 |
(?>...) -- disabling backtracking |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
236 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
237 |
matcher should use optarg start |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
238 |
for beginning-of-string rather than simply 0 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
239 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
240 |
. does not match newline |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
241 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
242 |
v 1d1 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
243 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
244 |
Dec 3, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
245 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
246 |
Added \b and \B -- assertions that a word boundary |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
247 |
resply exists, doesn't exist. (\b may give false |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
248 |
positive inside a lookbehind assertion at the breakoff |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
249 |
point... very very rare scenario but still...) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
250 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
251 |
v 1d |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
252 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
253 |
Dec 3, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
254 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
255 |
Posix character classes added. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
256 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
257 |
v 1c3 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
258 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
259 |
Dec 2, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
260 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
261 |
lookahead should be control-delimited too |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
262 |
(just like lookbehind) -- regardless of |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
263 |
what I thought at first. The dotted-quad |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
264 |
example from Friedl shows this up |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
265 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
266 |
v 1c2 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
267 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
268 |
Dec 2, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
269 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
270 |
*pregexp-comment-char* (initially should be |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
271 |
#\; or #\# ?) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
272 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
273 |
Doc cleanup |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
274 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
275 |
v 1c1 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
276 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
277 |
Dec 2, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
278 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
279 |
Allow comments in space-insensitive clusters. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
280 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
281 |
v 1c |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
282 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
283 |
Dec 1, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
284 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
285 |
Lookbehind -- positive (?<=...) and negative (?<!...) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
286 |
a la latest Perl |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
287 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
288 |
?: can enclose i, -i, x, -x in any sequence. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
289 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
290 |
i = case-insensitive |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
291 |
-i = case-sensitive |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
292 |
x = space-insensitive |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
293 |
-x = space-sensitive |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
294 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
295 |
By default, regexps are case- and space-sensitive. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
296 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
297 |
Doing length and list-ref separately is less efficient |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
298 |
in compiled code, Brad Lucier says with stats from |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
299 |
Gambit. Combined the two so list is traversed |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
300 |
only once. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
301 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
302 |
v 1b2 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
303 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
304 |
Dec 1, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
305 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
306 |
Included pregexp-test.scm as a test suite. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
307 |
(Rather paltry though.) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
308 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
309 |
Check that backref is within bounds in |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
310 |
regexp-replace-aux -- latent bug pointed out by Brad |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
311 |
Lucier. (Out-of-bounds backrefs are empty strings now. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
312 |
Should they instead error?) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
313 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
314 |
v 1b1 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
315 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
316 |
Nov 30, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
317 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
318 |
Metaseqs for the chars: \n \r \t |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
319 |
Metaseqs for std char classes: |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
320 |
\d \D \s \S \w \W |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
321 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
322 |
typo in var name pointed out |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
323 |
by Brad Lucier (lucier@math.purdue.com) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
324 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
325 |
v 1b |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
326 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
327 |
Nov 30, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
328 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
329 |
Backreferences (\1, ...) can occur in the regexp |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
330 |
pattern (the same syntax is used to interpolate |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
331 |
submatches in a replacement string, where \0 [for full |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
332 |
match] also makes sense) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
333 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
334 |
Fixed nasty (stack-blowing) character-class bug caused |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
335 |
by index moving past text string end with no |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
336 |
check. Example furnished by Glauber Ribeiro |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
337 |
(theglauber@my-deja.com) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
338 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
339 |
v 1a |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
340 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
341 |
Nov 29, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
342 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
343 |
Non-capturing grouping (?:...), lookahead (?=...), |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
344 |
negative lookahead (?!...) a la Perl. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
345 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
346 |
Made analogs of all the MzScheme regexp procs except |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
347 |
regexp? which is useless, viz, pregexp, pregexp-match, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
348 |
pregexp-match-positions, pregexp-replace, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
349 |
pregexp-replace*. pregexp procedures have prefix |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
350 |
'pregexp' where MzScheme has 'regexp'. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
351 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
352 |
v. 0f |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
353 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
354 |
Nov 26, 2000 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
355 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
356 |
Don't use escape (\) for non-alphabetic |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
357 |
metacharacters. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
358 |
Non-greedy versions of quantifiers. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
359 |
Alternation (...|...) |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
360 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
361 |
Oct 22, 1999 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
362 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
363 |
\{...\} corrected |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
364 |
\{\} = 0 or more matches |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
365 |
\{m\} = exactly m matches |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
366 |
\{m,\} = m or more matches |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
367 |
\{m,n\} = at least m and at most n matches |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
368 |
\{,n\} = at most n matches |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
369 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
370 |
v. 0e |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
371 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
372 |
Oct 9, 1999 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
373 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
374 |
Subpattern index pairs are now canonical. I.e., a |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
375 |
subpattern within a multiplier only returns the index |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
376 |
pair within the last matching substring. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
377 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
378 |
v. 0d |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
379 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
380 |
Oct 7, 1999 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
381 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
382 |
Cleaned up submatch return value somewhat. Still not |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
383 |
canonical though. \(...\) followed by multiplier returns |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
384 |
an index pair for each of the consecutive substrings it |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
385 |
matched. Canonically, it should return the index pair |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
386 |
of only the _last_ match. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
387 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
388 |
v. 0c |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
389 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
390 |
Oct 5, 1999 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
391 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
392 |
Fixed bug wherein multipliers (* + ? \{\}) were too |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
393 |
greedy. I.e., (pregexp-match "c.*r" "car") returned #f |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
394 |
because ".*" swallowed "ar" instead of being satisfied |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
395 |
with "a". Bug reported by Lars Thomas Hansen, |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
396 |
lth@ccs.neu.edu. |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
397 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
398 |
v. 0b |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
399 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
400 |
Oct 4, 1999 |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
401 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
402 |
\{m,n\} |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
403 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
404 |
v. 0a |
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
405 |
|
089a57807585
Dorai Sitaram's Portable Regular Expression matcher
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
diff
changeset
|
406 |
Oct 2, 1999 |