Closed Mardikhouran closed 2 years ago
Feature (syllable) Tone(*neutral, low, high) Feature (syllable) +stress Diacritic L [low] Diacritic H [high] Diacritic ' (before) [+stress] Syllables: b a tone-assignment: <syl> => [high] / $ _ [] => [low] stress-assignment: <syl> => [+stress] / _ $ romanizer-initial: unchanged
Results:
baba => baH.'baL bababa => baH.baL.'baL
stress-retraction: <syl>&[high] <syl>&[low] => [+stress] [-stress] / _ $
baba => 'baH.ba bababa => baH.baL.'baL
The syllable that lost its feature +stress also lost its low tone.
+stress
Even when the affected feature gets mentioned in the result side:
stress-retraction: <syl>&[high] <syl>&[low] => [+stress] [-stress low] / _ $
It still doesn't carry over.
stress-deletion: <syl>&[low] => [-stress] / _ $
baba => baH.baL bababa => baH.baL.baL
pretonic-deletion: <syl>&[high] <syl>&[low] => * [-stress] / _ $
baba => baL bababa => baH.baL.'baL
tone-deletion: <syl>&[-stress] <syl>&[+stress] => [] [neutral] / _ $
baba => baH.'baL => baH.'ba bababa => baH.baL.'baL => baH.baL.'ba
This is fixed in commit 8c71558c1252296ac794dc8865e1eed90a59f38c.
Thanks again for reporting these bugs. Handling syllables is complex, so the more situations I can test, the more robust it'll be.
Initial situation
Results:
The problematic rule
Results:
The syllable that lost its feature
+stress
also lost its low tone.Unsuccessful patch
Even when the affected feature gets mentioned in the result side:
It still doesn't carry over.
Similar rules where everything works as expected
Only one syllable change
Results:
The previous syllable gets deleted
Results:
The multivalent feature goes to default value
Results: