Kymorph/Remaining transducer issues/п deletion and voicing conflict

From Apertium
< Kymorph‎ | Remaining transducer issues
Revision as of 22:40, 23 July 2011 by Firespeaker (talk | contribs) (Created page with '== The problem == * п should delete between a low vowel and a morpheme boundary followed by {I}п ** e.g., тап>{I}п : таап, теп>{I}п : тээп (everything else need…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The problem

  • п should delete between a low vowel and a morpheme boundary followed by {I}п
    • e.g., тап>{I}п : таап, теп>{I}п : тээп (everything else needed for these rules works)
  • п should voice (to б) in all other intervocalic positions

The basic rules

"Intervocalic voicing of п"
п:б <=> :SurVow (:0) _ %>: (:0) :SurVow ;
"Deletion of п at end of verb stem in <cv_perf>"
п:0 <=> :LowVow _ %>: %{I%}: п ;

The conflict

There is a <=-rule conflict between "Intervocalic voicing of п everywhere except in <cv_perf>" and "Deletion of п at end of verb stem in <cv_perf>".
E.g. in context {I}:и >: ё:ё _ >: {I}:и п:п
WARNING! The conflict is unresolvable.

What needs to be done

Somehow, the voicing rule needs to exclude the entire environment of the deletion rule.

How to do it

Using <= and => instead of <=> does not seem to be a possible solution. Instead, it might be possible with what's suggested in the twolc book on pp. 49-54.