Difference between revisions of "Morphology of Khalkha/АА vowel harmony issue"
Jump to navigation
Jump to search
Firespeaker (talk | contribs) |
Firespeaker (talk | contribs) |
||
Line 36: | Line 36: | ||
== Some assumptions == |
== Some assumptions == |
||
* By using <code>/[ :0 | :% ]</code>, I should have any number of <code>%>:0</code> interspersed in all locations in <code>[ :NonVow* :NonVow ]</code>, though this doesn't seem to be the case, since <code>[ :NonVow* %>: :NonVow ]</code> behaves differently from <code>[ :NonVow* :NonVow ]/[ :0 ]</code>. It doesn't seem to matter whether the things after <code>/</code> have <code>*</code> after them or not. |
* By using <code>/[ :0 | :% ]</code>, I should have any number of <code>%>:0</code> interspersed in all locations in <code>[ :NonVow* :NonVow ]</code>, though this doesn't seem to be the case, since <code>[ :NonVow* %>: :NonVow ]</code> behaves differently from <code>[ :NonVow* :NonVow ]/[ :0 ]</code>. It doesn't seem to matter whether the things after <code>/</code> have <code>*</code> after them or not. |
||
* The point of the rule is to change the second <code>{А}</code> (when there are two <code>{А}</code>s in a row) to a certain vowel based on the last vowel seen before the series of <code>{А}</code>s. That previous vowel, by the language's phonotactics, must occur with at least one non-vowel (up to 4 or so) intervening between the previous vowel and the <code>{А}</code>. However, when I make the rule as <code>%{А%}:Vy <=> :Vx [ :NonVow* :NonVow ]/[ [ :0 - %{А%}: ] | :% ] %{А%}:Vow _ ;</code>, I get conflicts like/including the following: |
|||
<pre> |
|||
There is a <=-rule conflict between "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ү Vy=э" and "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=э Vy=э". |
|||
E.g. in context {У}:ү г:г {I}: {А}:э г:г _ |
|||
There is a <=-rule conflict between "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ү Vy=э" and "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ө Vy=ө". |
|||
E.g. in context {У}:ү г:г {I}: {А}:ө г:г _ |
|||
</pre> |
|||
== Other potentially relevant rules == |
== Other potentially relevant rules == |
Revision as of 08:51, 22 December 2012
There is a rule (or set of rules?) that's acting up in the Khalkha transducer.
The main rule involved is that which turns the second {А}
archiphoneme in {А}{А}
to one of a series of vowels that isn't the default {А}
. There is another series of rules which then adjust the first {А}
based on the second {А}
and are sensitive to segments which may precede the {А}
s as well.
Expected behaviour
нүд
<n>
<abl>
→нүд>{Н}{А}{А}с
→нүднээс
- i.e.,
н:н ү:ү д:д >:0 {Н}:н {А}:э {А}:э с:с
By "the rule doesn't work", I mean that the transducer outputs the defaults of {А}
: нүднаас
.
The main rule
"{A} vowel harmony for second {А} in {А}{А}"
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* %>: :NonVow ]/[ %>: | :0* | :% ] [ %{А%}: - :0 ] _ ;
except
_ %{А%}: ; ! if {A}{A}, only do second {A}
where Vx in ( ү э ө о )
Vy in ( э э ө о )
matched ;
Variants of the crucial line
That work
Specifically with the example above.
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* %>: :NonVow ]/[ :0* | :% ] [ %{А%}: - :0 ] _ ;
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* %>:* :NonVow ]/[ %>: | :0* | :% ] [ %{А%}: - :0 ] _ ;
That don't work
Specifically with the example above.
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* :NonVow ]/[ %>: | :0* | :% ] [ %{А%}: - :0 ] _ ;
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* :NonVow ]/[ %>:* | :0* | :% ] [ %{А%}: - :0 ] _ ;
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* %>: :NonVow ]/[ :0 | :% ] [ %{А%}: - :0 ] _ ;
%{А%}:Vy <=> [ :Vx - %{А%}: ] [ :NonVow* :NonVow ]/[ [ :0 - %{А%}: ]* | :% ] [ %{А%}: - :0 ] _ ;
Some assumptions
- By using
/[ :0 | :% ]
, I should have any number of %>:0
interspersed in all locations in [ :NonVow* :NonVow ]
, though this doesn't seem to be the case, since [ :NonVow* %>: :NonVow ]
behaves differently from [ :NonVow* :NonVow ]/[ :0 ]
. It doesn't seem to matter whether the things after /
have *
after them or not.
- The point of the rule is to change the second
{А}
(when there are two {А}
s in a row) to a certain vowel based on the last vowel seen before the series of {А}
s. That previous vowel, by the language's phonotactics, must occur with at least one non-vowel (up to 4 or so) intervening between the previous vowel and the {А}
. However, when I make the rule as %{А%}:Vy <=> :Vx [ :NonVow* :NonVow ]/[ [ :0 - %{А%}: ] | :% ] %{А%}:Vow _ ;
, I get conflicts like/including the following:
There is a <=-rule conflict between "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ү Vy=э" and "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=э Vy=э".
E.g. in context {У}:ү г:г {I}: {А}:э г:г _
There is a <=-rule conflict between "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ү Vy=э" and "{A} vowel harmony for second {А} in {А}{А} SUBCASE: Vx=ө Vy=ө".
E.g. in context {У}:ү г:г {I}: {А}:ө г:г _
Other potentially relevant rules
"{А} vowel harmony for first {А} in {A}{A}"
%{А%}:Vy <=> _ %{А%}:Vx ;
except
ь:/:0 _ %{А%}: ;
:и/:0 _ %{А%}: ;
where Vx in ( э ө о )
Vy in ( э ө о )
matched ;
!! ёс>{А}{А}c:ёсоос, жил>{А}{А}c:жилээс
"{А} vowel harmony for Y ''vowels''"
%{А%}:Vy <=> .#. (:NonVow) [ :Vx - %{А%}: ] [ [ :NonVow - Y: ] ( [ :NonVow - Y: ]*) ]/[ :0 | :% ] %{А%}: _ ;
except
_ %{А%}: ; ! if {A}{A}, only do second {A}
where Vx in ( е ё и )
Vy in ( э о э )
matched ;
!! анги>{А}{А}с:ангиас, морь>{А}{А}с:мориос
"first {А} deletes after и or ь:и"
%{А%}:0 <=> [ :и | ь:и ]/:0 _ %{А%}: ;
Some defaults
%{ң%}:н %{В%}:в %{Т%}:т %{Д%}:д %{Н%}:н ! consonants
%{г%}:0 %{й%}:0 %{а%}:0 %{ь%}:0 %{н%}:0 ! disappearing stuff
%{ъ%}:0 ! "
%{А%}:а %{I%}:ы %{У%}:у ! Vowels
° %% %, %. %- %>:0 %
NonVow = Б В Г Д Е Ж З Й К Л М Н П Р С Т Ф Х Ц Ч Ш Ь Ъ Я
б в г д е ж з й к л м н п р с т ф х ц ч ш ь ъ я ;
Y = е я ё ;