@@ -490,13 +490,17 @@ Compound::Type BracketNest::getCompoundType(){
490490 compound = cp1;
491491 }
492492 }
493- else if ( tag1 == CLEX::V
494- && st1 != Status::PARTICLE
495- && st1 != Status::PARTICIPLE ){
496- if ( st1 == Status::DERIVATIONAL ){
497- compound = cp2;
493+ else if ( tag1 == CLEX::V ){
494+ if ( st1 != Status::PARTICLE
495+ && st1 != Status::PARTICIPLE ){
496+ if ( st1 == Status::DERIVATIONAL ){
497+ compound = cp2;
498+ }
499+ else if ( st2 == Status::STEM ){
500+ compound = construct ( tag1, tag2 );
501+ }
498502 }
499- else if ( st2 == Status::STEM ) {
503+ else if ( st2 == Status::COMPLEX ) {
500504 compound = construct ( tag1, tag2 );
501505 }
502506 }
@@ -540,14 +544,15 @@ Compound::Type BracketNest::getCompoundType(){
540544 else if ( st2 == Status::DERIVATIONAL && tag3 == CLEX::NEUTRAL ){
541545 compound = cp1;
542546 }
547+ else if ( st2 == Status::INFLECTION && tag3 == CLEX::NEUTRAL ){
548+ compound = cp1;
549+ }
543550 else if ( st2 == Status::DERIVATIONAL && tag3 == CLEX::N ){
544551 compound = Compound::Type::NN;
545552 }
546553 }
547- else {
548- if ( tag2 == CLEX::N && tag3 == CLEX::N ){
549- compound = Compound::Type::NN;
550- }
554+ else if ( tag2 == CLEX::N && tag3 == CLEX::N ){
555+ compound = Compound::Type::NN;
551556 }
552557 }
553558 else if ( tag1 == CLEX::A ){
@@ -582,7 +587,8 @@ Compound::Type BracketNest::getCompoundType(){
582587 }
583588 }
584589 else if ( tag1 == CLEX::B && st1 == Status::STEM ){
585- if ( st2 == Status::STEM &&
590+ if ( (st2 == Status::STEM || st2 == Status::COMPLEX)
591+ &&
586592 ( st3 == Status::INFLECTION || tag3 == CLEX::NEUTRAL ) ){
587593 compound = construct ( tag1, tag2 );
588594 }
0 commit comments