[squeak-dev] The Inbox: Regex-Core-ul.57.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Sat Apr 11 23:43:38 UTC 2020


Great idea! Are there any visible performance improvements? In any case, this change makes it more easy to explore and debug the matching process!


FYI, you left three return carets in this method. :-)

<http://www.hpi.de/>

Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Samstag, 11. April 2020 22:05:05
An: squeak-dev at lists.squeakfoundation.org
Betreff: [squeak-dev] The Inbox: Regex-Core-ul.57.mcz

Levente Uzonyi uploaded a new version of Regex-Core to project The Inbox:
http://source.squeak.org/inbox/Regex-Core-ul.57.mcz

==================== Summary ====================

Name: Regex-Core-ul.57
Author: ul
Time: 11 April 2020, 9:42:43.405809 pm
UUID: 3cda3ad5-49f2-41f1-ab9d-2f6fc242ae9d
Ancestors: Regex-Core-ct.56

- avoid generating RxmBranch nodes when there's no real branch. e.g. 'abc' asRegex

=============== Diff against Regex-Core-ct.56 ===============

Item was changed:
  ----- Method: RxMatcher>>hookBranchOf:onto: (in category 'private') -----
  hookBranchOf: regexNode onto: endMarker
         "Private - Recurse down the chain of regexes starting at
         regexNode, compiling their branches and hooking their tails
         to the endMarker node."

+        ^regexNode regex
+                ifNil: [ "Avoid creating a branch without an alternative."
+                        ^(regexNode branch dispatchTo: self)
+                                pointTailTo: endMarker;
+                                yourself ]
+                ifNotNil: [ :regex |
+                        | rest |
+                        rest := self hookBranchOf: regex onto: endMarker.
+                        ^RxmBranch new
+                                next: ((regexNode branch dispatchTo: self)
-        | rest |
-        rest := regexNode regex ifNotNil: [ :regex |
-                self hookBranchOf: regex onto: endMarker ].
-        ^RxmBranch new
-                next: ((regexNode branch dispatchTo: self)
                                         pointTailTo: endMarker;
                                         yourself);
+                                alternative: rest;
+                                yourself ]
+ !
-                alternative: rest;
-                yourself!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200411/bdd44266/attachment.html>


More information about the Squeak-dev mailing list