<div dir="ltr">Here is the Oberon--7 version of the Match routine, it needs an Out module. A rough draft is added.<div><br></div><div>I did not test it at all, just used what I needed. :)</div><div><br></div><div>j.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 2, 2015 at 2:47 PM, Jan de Kruyf <span dir="ltr"><<a href="mailto:jan.de.kruyf@gmail.com" target="_blank">jan.de.kruyf@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Here is the final version (I hope) of the Match routine.<div>I ran some rough timing tests. Joergs version was a bit (7%) slow. Also the compiled size was slightly up.</div><div>Between Peters version and my new version it is difficult to measure the difference without a bare-metal system.</div><div>(and probably one needs to switch off the gc)</div><div><br></div><div>I made a similar Oberon-7 version and used the same style of programming in the Oberon-2 version, just to get my head around the Dijkstra WHILE in O-7.</div><div><br></div><div>It took a bit of head-bending: I now had to decide "what needs doing" in the loop, in stead of "when to get out". But the result is a cleaner program, also the O-2 version benefited.</div><div><br></div><div>Here is the test module and a patched FileDir module.</div><div><br></div><div>Once it is approved, also FATFiles and AOS Strings need to be updated. Does anyone know who does the maintenance for those?</div><div><br></div><div>Joerg: thanks for your test patterns :)  It was most appreciated.</div><div>I have added two, since believe it or not, I managed to write a program that passed all your tests, but not one of those 2.</div><div><br></div><div>cheers,</div><div><br></div><div>j.</div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 31, 2015 at 9:38 AM, Jan de Kruyf <span dir="ltr"><<a href="mailto:jan.de.kruyf@gmail.com" target="_blank">jan.de.kruyf@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Peter please do not.<div><br></div><div>Joerg pointed out that it is not complete: It does not do backtracking.</div><div><br></div><div><div>Otherwise: I did the tests, Joerg designed, on your invention and it passed all except one where there is a * in the filename.</div><div>This is obviously of no importance in Oberon.</div></div><div><br></div><div>There are 2 designs on the table at the moment. Of which mine is not complete yet. Joerg has a complete design that works, but it is a bit difficult to follow the program flow. And I still want to do one more test on it.</div><div>So I will finish this work first before I commit myself.</div><div><br></div><div>cheers,</div><div><br></div><div>j.</div><div><br></div><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 30, 2015 at 11:03 PM, Peter Matthias <span dir="ltr"><<a href="mailto:PeterMatthias@web.de" target="_blank">PeterMatthias@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Jan,<br>
<br>
all tests I did passed. So I will use it for next version.<br>
<br>
Thanks.<br>
        Peter<div><div><br>
<br>
Am 29.10.2015 um 10:22 schrieb Jan de Kruyf:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
Good morning all,<br>
<br>
I finally found the time to sort out the misbehaving Match routine:<br>
<br>
 > To be clear: You get the right result with the code snipped I sent<br>
and repeat below?<br>
<br>
 > mask:="*.Mod"<br>
 > name:="ABCD.Mod"<br>
 > name:="123";<br>
 > IF Match(mask, name) THEN ...<br>
<br>
You were quite right Peter, I did not. And when I did I saw.<br>
<br>
So now I fixed it, mainly since the same broken routine is used in<br>
FATFiles.Mod and in AOS Strings.Match. So once everybody approves, the<br>
fix should go there also.<br>
<br>
I have attached a test module for the match procedure as such, with<br>
Peters test hard coded.<br>
And I have attached a modified FileDir.Mod that you can compile and test<br>
in your own system.<br>
<br>
Please let me know.<br>
<br>
Then I will now pay attention to the trap problems I saw, or thought I saw.<br>
<br>
Cheers,<br>
<br>
j.<br>
<br>
<br>
<br></div></div>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
<br>
</blockquote>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>