From a5b42a772991d9d80e64747e5f351bc6e386d206 Mon Sep 17 00:00:00 2001 From: "Brian T. Rice" Date: Tue, 1 Mar 2011 01:45:27 -0800 Subject: [PATCH] Some regex bug-fixes. --- src/lib/regex.slate | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/regex.slate b/src/lib/regex.slate index d17823a..2d1ccdf 100644 --- a/src/lib/regex.slate +++ b/src/lib/regex.slate @@ -246,7 +246,7 @@ p@(Regex Parser traits) parseRange "symbol ::= . | char | escape char" p@(Regex Parser traits) parseSymbol [ - p next caseOf: { + (next ::= p next) caseOf: { $^ -> [p Syntax BeginningMarker new]. $$ -> [p Syntax EndMarker new]. $. -> [p Syntax CharacterRange new `>> [start: $\x00. end: $\xFF. ]]. "fixme ascii" @@ -280,7 +280,7 @@ s@(String traits) regex r@(Regex Expression traits) matcher [ - r Matcher newOn: r + Regex Matcher newOn: r ]. m@(Regex Matcher traits) subexpressionAt: x @@ -299,7 +299,8 @@ m@(Regex Matcher traits) subexpressionMatches m@(Regex Matcher traits) subexpressionMatchesArray [ - matches ::= Array new &capacity: m subexpressions keys max + 1. + capacity ::= m subexpressions keys reduce: #max:`er ifEmpty: [0]. + matches ::= Array new &capacity: capacity + 1. m subexpressions keysDo: [| :key | matches at: key put: (m subexpressionAt: key)]. matches -- 2.11.4.GIT