Re: Reversible sound change applier
From: | Alex Fink <a4pq1injbok_0@...> |
Date: | Thursday, May 11, 2006, 2:55 |
On Thu, 11 May 2006 00:33:24 +0200, Henrik Theiling <theiling@...> wrote:
>Hi!
>
>Aidan Grey writes:
>> Actually, check out IPAZounds, by Jamie Norrish. Not only does it do
>> reverse application, but it also uses IPA or XSAMPA, can group rules
>> (you write the rule for nasalization once, and then simply refer to
>> Nasalization whenever you need it again), can associate dates to
>> rules (these rules all happen before date 4, which = Middle Bobbic
>> era), can associate dialects too, and will shortly be able to do
>> reverse by date and dialect as well.
>
>Seems like everyone is privately reinventing the wheel to make it
>exactly the way they need it. :-) Me included, of course. :-)
>
>My Perl approach was mainly because I wanted Perl, not C (especially
>for easy Web integration) and I wanted a nice syntax. Now I see that
>the other applications' syntaxes are very similar. Well, by my
>nature, I tend to start programming before using Google...
I know what you mean...
>Dialects, dates, and persistent rules are available in schcompile,
>too, (dialects can be implemented in several ways, one of them (global
>options) very similar to IPAZounds), but rule reference and reverse
>application are not.
>
>OTOH, RSCA can do reverse application and I particularly like its
>group-based multi-value mapping, which schcompile currently lacks
>(i.e., 'convert a [plosive] into a [fricative]'). And I'm sure that a
>C implementation with finite state transducers is a bit faster(tm)
>than my totally unoptimised Perl modules...
Faster? Perhaps; I haven't devoted any effort to optimization either,
though, and use the C++ STL too much for it to be really as efficient as it
might.
I'm tempted to go and add dates and persistent rules and dialects to rsca
right now; none of them seem like a big addition.
[...]
>Does it support user-defined syllable structure and/or syllable
>constraints? Regular expression syntax? Global and local boolean
>flags? If not, these might be unique to schcompile (some directly
>inherited from Perl).
Regular expressions, no. rsca has basic regular expression support (none of
these crazy backreferences or x{2,5} things or...); and Geoff's applier
http://www.cix.co.uk/~morven/lang/sc.html
inherits them from Python.
The thorough treatment of syllables, OTOH, is one of my favorite features of
schcompile.
Alex