Re: *mumble* *grumble* sound changes *mutter* (longish)
|From:||Henrik Theiling <theiling@...>|
|Date:||Friday, April 28, 2006, 14:06|
Benct Philip Jonsson <bpj@...> writes:
> I think one useful thing to do, and hopefully easy to
> program(?), would be to make it possible to define a macro
> group the members of which will be ignored unless explicitly
> invoked in the match or context, and into which one could
> throw stressmarks, lengthmarks, aspiration marks and other
> character/character sequences that have a
> "diacritic"/modifier function. That way one can write a
> rule like
> g > j / _ '? (i,e)
My plan is to be able to define and assign abstract properties to
syllables (or other subdivisions) that the resulting library would
automatically propagate, i.e., you'd not need to assign diacritics
(but maybe you'd be allowed to do so), but you could use a property
name directly. This is a bit of work, but it's generic, and that's
usually what I like best.
Indeed, the handling of a lengthening mark is also something that is a
bit ugly, and I had to use :? after vowels quite often myself. OTOH,
most of the time, the sound changes were sensitive to vowel length, so
I wasn't annoyed enough to think about an elegant solution.
> BTW your subrule precedence principle is great!
> I could write the Swedish vowel shift in the order
> things actually happened:
> a: > o: -- a: isrounded and raised
> o (C,V) > _ -- short o is not affected
> o: > u: -- long o: is raised
> u > ü -- old u, long or short, is fronted.
> Without subrule 1 feeding subrule 3, which in turn
> does not feed subrule 4! Yeah!
Thanks! :-) This is one major reason I wanted to use something
different than plain Perl regexps, since such parallel changes often
occur in natlangs. It is also one reason why the resulting code
is so slow -- I neglected any code optimisation on purpose so far
to not distract myself from the primary goal of having something
I could use. So code optimisations are also on my TODO list.