#! /usr/bin/perl

###############      Lingu.pm   ###################################
#                                                                 #
# Project Acronym:     PaGAL                                      #
# Document ID:                                                    #
# Date:                17/11/01                                   #
# Author:              Jutta Jäger, Meike Griese                  #
# WP/Task              T                                          #
# Abstract:            linguistische Bearbeitung: Erkennen der    #
#                      moeglichen Deklinations-Endungen           #
# Distribution:        public                                     #
###################################################################
# Version      Date      Author     Bemerkung                     #
# 02           07/12/01  G, J       Fugen-s nach best. Suffixen   #
#                                   wird erkannt.                 #
###################################################################

###################################################################
# Lingu.pm bekommt den von anderen Modulen gematschten Teil der   #
# Langform, den hinteren Rest und die komplette gefundene         #
# Langform uebergeben. Es ueberprueft, ob es sich beim hinteren   #
# Rest um eine Flektionsendung handelt und die komplette Langform #
# ein Fugen-s enthaelt. Flektionsendung und Fugen-s werden        #
# geloescht und $hinten wieder an die Hauptfunktion uebergeben:   #
# entweder ist diese leer oder enthaelt den hinteren Teil der     #
# Langform ohne das Fugenmorphem s.                               #
###################################################################

sub flekab
  {
my $fugenzwang = "ung|ion|heit|keit|schaft|it&auml;t|ling|tum";

                # Substantivendungen, nach denen im Kompositum ein s als Fugenmorphem steht

my ($lang, $hinten, $lf) = @_;

    if ($hinten){

	if ($hinten eq "s"||$hinten eq "es"||$hinten eq "er"||$hinten eq "en"||$hinten eq "n"||$hinten  eq "e"||$hinten  eq "in")

	        #Abfrage, ob es sich um eine Flektionsendung handeln kann
	{

	  $hinten = "";                #Flektionsendung wird geloescht

      } elsif (($hinten =~ /^s/) && ($lang =~ /.+$fugenzwang$/)){

	  $hinten =~ s/^s//;           # Fugen-s wird geloescht
      }
      if ($lf =~/^&?[A-Z]/){  

	     # Abfrage, ob die komplette Langform mit einem Grossbuchstaben beginnt
	     
	    if ($hinten =~ s/^([a-z])//)
	      {
		$erster=$1;
		
		#der erste Buchstabe des Rests
	
		$erster=~ tr/[a-z]/[A-Z]/;   # wird in Grossbuchstaben umgewandelt

		$hinten = "-".$erster.$hinten; # der Rest verbunden mit Bindestrich
	      }
	}
  }
    return $hinten;
  
  }
return 1;
