emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Case mapping of sharp s


From: Stefan Monnier
Subject: Re: Case mapping of sharp s
Date: Wed, 18 Nov 2009 09:44:31 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

>> My idea was to use the same technique to fold the text as you search
>> through it.  You could, for example, fold one character at a time, so
>> that instead of comparing against X you compare against fold(X).

> BM-search already does it.  The problem is that the current
> `fold' function can be applicable only to the last byte of a
> character.

We'd need to use a variant of BM that can search a set of strings rather
than a single string.  Given the fact that all the strings in the set
are very similar, it should be possible to come up with an efficient
algorithm for it.  The basic idea I'd try is to build the BM table for
each of the alternative strings and then merge them into a single table
that takes for each entry the smallest shift distance of each table.
There's a lot more to it, I'm sure, but it should be workable.
Would make a nice project for a student.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]