Difference between revisions of "Kymorph/Remaining transducer issues/п deletion and voicing conflict"

From Apertium
Jump to navigation Jump to search
(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…')
 
Line 21: Line 21:


=== How to do it ===
=== 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.
It might be possible with what's suggested in the twolc book on pp. 49-54.

=== How not to do it ===
* Using <= and => instead of <=> does not seem to be a possible solution.
* Subtracting the more restrictive rule's left (x) and right (y) environments from the more general rule's left (a) and right (b) environments (respectively, resulting in [ a - x ] _ [ b - y ]) doesn't work, because then it fails to apply the more general rule after e.g., any x environment, not just when any y follows.

Revision as of 20:21, 24 July 2011

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

It might be possible with what's suggested in the twolc book on pp. 49-54.

How not to do it

  • Using <= and => instead of <=> does not seem to be a possible solution.
  • Subtracting the more restrictive rule's left (x) and right (y) environments from the more general rule's left (a) and right (b) environments (respectively, resulting in [ a - x ] _ [ b - y ]) doesn't work, because then it fails to apply the more general rule after e.g., any x environment, not just when any y follows.