Class Analyse

java.lang.Object
  extended byAnalyse

public final class Analyse
extends java.lang.Object

The class Analyse is responisble for the analysation of the highgerman input. Every method - except Analyse.that - is declared as private. So the analysation process is started with Analyse.that. After the lookup in the KoelnDic, analysation is needed for certain tags (e.g. nomen, pronomina, verbs, etc). By this, the programm saves all the grammar information it can get (person, kausu, genus, tempus, info) in Word.Grammar.

Author:
Arthur Laub Arthur.Laub@urz.uni-hd.de Project: Kölschifier

Field Summary
private static java.util.ListIterator LiIterator
           
 
Constructor Summary
Analyse()
           
 
Method Summary
private static boolean adjective(Word word)
          adjective analyses a Highgerman adjective.
private static boolean artikel_bestimmt(Word word)
          artikel_bestimmt analyses a defining Highgerman artikle (the [man]).
private static boolean artikel_unbestimmt(Word word)
          artikel_unbestimmt analyses a non-defining Highgerman artikle (a [man]).
private static boolean artikel(Word word)
          artikel analyses a Highgerman artikle.
private static boolean card(Word word)
          Written cardinals are analysed here.
private static Word.Grammar lookAhead(int search_tag)
          lookAhead analyses a certain tag ahead of the one just analysed.
private static Word.Grammar lookBack(int search_tag)
          lookBack analyses a certain tag before of the one just analysed.
private static boolean nn_ne(Word word)
          NomenAnalyse analyses a German nomen.
private static boolean pdat(Word word)
           
private static boolean pper(Word word)
          pper analyses an irreflexible Highgerman personal pronomina PPER Irreflexives PersonalP are: (ich, mich, mir, du, er, ihr, es, ihm, mich, dir, uns) Im Hochdeutschen: N (G) D A 1P, sg ich (meiner) mir mich 2P, sg du (deiner) dir dich 3P, sg er, (seiner) ihm ihn sie, (ihrer) ihr sie es (seiner) ihm es 1P, pl wir (unser) uns uns 2P, pl ihr (euer) euch euch 3P, pl sie (ihrer) ihnen sie Difficulties arrise when dealing with homonyms: 1P,pl,D - 1P,pl,A = "uns" 2P,pl,D - 2P,pl,A = "euch" 3P,pl,N - 3P,pl,A - 3P,sg, N = "sie" TODO: recheck these forms with the corresponding verb
private static boolean pposs_pposat(Word word)
          pposs_pposat analyses a highgerman possessive pronoun.
private static boolean prels(Word word)
          prels analyses a highgerman relativ pronomina.
static boolean that(java.util.ListIterator li)
          The process of analysing is started by calling this method.
static boolean thatWord(Word word)
          The analysation is a word by word analysation.
private static boolean vmfin(Word word)
          vmfin analyses a highgerman modal verb (like sollen, wollen, ...)
private static boolean vvfin(Word word)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LiIterator

private static java.util.ListIterator LiIterator
Constructor Detail

Analyse

public Analyse()
Method Detail

adjective

private static final boolean adjective(Word word)
adjective analyses a Highgerman adjective. For a translation into cologne, only the komparativ and superlativ are of interest. The information is saved in word.info.

Parameters:
word -
Returns:
true, when a translation is found

artikel

private static final boolean artikel(Word word)
artikel analyses a Highgerman artikle. A Highgeman artikle supplies a lot of grammatical information, i.e. person, kasus, genus. Here a division into defining (bestimmt - "the [man]") and non-defining (unbestimmt "a [man]") is made. the corresponding method is called (artikel_bestimmt or artikel_unbestimmt)

Parameters:
word -
Returns:
true, when a translation of the called method (artikel_bestimmt or artikel_unbestimmt) is found

artikel_bestimmt

private static final boolean artikel_bestimmt(Word word)
artikel_bestimmt analyses a defining Highgerman artikle (the [man]). A Highgeman artikle supplies a lot of grammatical information, i.e. person, kasus, genus. To get a better disambiguation, the grammar information of the following nomen is used (ahead_grammar) in some cases. To get this information, the lookAhead method is called.

Parameters:
word -
Returns:
true, when a translation is found

artikel_unbestimmt

private static final boolean artikel_unbestimmt(Word word)
artikel_unbestimmt analyses a non-defining Highgerman artikle (a [man]). A Highgeman artikle supplies a lot of grammatical information, i.e. person, kasus, genus. To get a better disambiguation, the grammar information of the following nomen is used (ahead_grammar) in some cases. To get this information, the lookAhead method is called.

Parameters:
word -
Returns:
true, when a translation is found

card

private static final boolean card(Word word)
Written cardinals are analysed here. The highgerman input is searched in the Cons.HG_CARD array. If the search is successful, the corresponding cologne translation is set in the class word.

Parameters:
word -
Returns:
true or false

lookAhead

private static final Word.Grammar lookAhead(int search_tag)
lookAhead analyses a certain tag ahead of the one just analysed. The ListIterator LiIterator of this class is used to search through the ArrayList of words. The analysation stops when a fullstop or the end of the ArrayList is reached. It also stops, when the tag searched for is found. The LiIterator is set back to ist initial position.

Parameters:
search_tag -
Returns:
the grammar information (Word.Grammar) of the given search_tag or a new Word.Grammar variable (with empty values)

lookBack

private static final Word.Grammar lookBack(int search_tag)
lookBack analyses a certain tag before of the one just analysed. The ListIterator LiIterator of this class is used to search through the ArrayList of words. The analysation stops when a fullstop or the beginning of the ArrayList is reached. It also stops, when the tag searched for is found. The LiIterator is set back to ist initial position.

Parameters:
search_tag -
Returns:
the grammar information (Word.Grammar) of the given search_tag or a new Word.Grammar variable (with empty values)

nn_ne

private static final boolean nn_ne(Word word)
NomenAnalyse analyses a German nomen. It checks wheter a nomen is singular or plural. The kasus of a nomen is analysed, too. Furthermore a diminutiv-form ("Freundchen") and the feminin form of a nomen (Freund-Freundin) can be recognized. The result is saved in word and is needed for further generation. The grammatical informations are found by analysing the morphology structure of a word. The suffix, the ending and the phaenomen of umlautung are the basic information needed for further analysation. typical suffixes in Highgerman are: Genitiv Sg: -s -es Plural: -UML (+(e)r) -(e)r -(e)n -s (PROBLEM! See Genitiv.) -se (wirth certain stems [e.g. -nis# 'Bekenntnis']) -in Dativ Pl: -n (PROBLEM! See Plural.) This list is not complete.

Parameters:
word -
Returns:
true, when a translation is found

pdat

private static final boolean pdat(Word word)

pper

private static final boolean pper(Word word)
pper analyses an irreflexible Highgerman personal pronomina PPER Irreflexives PersonalP are: (ich, mich, mir, du, er, ihr, es, ihm, mich, dir, uns) Im Hochdeutschen: N (G) D A 1P, sg ich (meiner) mir mich 2P, sg du (deiner) dir dich 3P, sg er, (seiner) ihm ihn sie, (ihrer) ihr sie es (seiner) ihm es 1P, pl wir (unser) uns uns 2P, pl ihr (euer) euch euch 3P, pl sie (ihrer) ihnen sie Difficulties arrise when dealing with homonyms: 1P,pl,D - 1P,pl,A = "uns" 2P,pl,D - 2P,pl,A = "euch" 3P,pl,N - 3P,pl,A - 3P,sg, N = "sie" TODO: recheck these forms with the corresponding verb


pposs_pposat

private static final boolean pposs_pposat(Word word)
pposs_pposat analyses a highgerman possessive pronoun. The translation is already done here (therefore no generation needed).

Parameters:
word -
Returns:
true, when a translation is found

prels

private static final boolean prels(Word word)
prels analyses a highgerman relativ pronomina. There are only a few pronomina (see list below) - each containing grammatical information. (e.g. "den" --> kasus = A / genus = PLURAL The translation is already done here (therefore no generation needed). substituierenden Relativpronomen Hochdeutsch Kölsch N G D A N G D A m der dessen dem den dä da sing(e) däm dä f die deren der die die dä ehr(e) dä die n das dessen dem das dat däm sing(e) däm dat PL die derer denen die die denne ehr(e)denne die

Parameters:
word -
Returns:
true, when a translation is found

that

public static final boolean that(java.util.ListIterator li)
The process of analysing is started by calling this method. An ArrayList of words is searched through and analysed when necessary.

Parameters:
li - (ListIterator of the word - ArrayList)
Returns:
true (in every case)

thatWord

public static final boolean thatWord(Word word)
The analysation is a word by word analysation. The words are analysed due to their tags. Therefore some words need no analysation (like punctuation, numbers, etc), others do (verbs, nomen). The actual analysation differs for every tag - so a certain method according to the tag has to be called.

Parameters:
word -
Returns:
true - if analysation was successfull. false - if analysation failed.

vmfin

private static final boolean vmfin(Word word)
vmfin analyses a highgerman modal verb (like sollen, wollen, ...) The verbs are ckecked in the Array Cons.HG_VMFIN. The structure is organised as follows: Entry 1: (ich, er) will --> person: SG1P or SG3P / tempus: present Entry 2: (du) willst --> person: SG2P / tempus: present Entry 3: (wir, sie) wollen --> person: PL1P or PL2P / tempus: present Entry 4: (ihr) wollt --> person: PL2P / tempus present Entry 5: (ich, er) wollte --> person: SG1P or SG3P / tempus: past Entry 6: (du) wolltest--> person: SG2P / tempus: past Entry 7: (wir, sie) wollten --> person: PL1P or PL2P / tempus: past Entry 8: (ihr) wolltet --> person: PL2P / tempus past The grammatical information and the "entry-"number is saved in word.

Parameters:
word -
Returns:
true, when a translation is found

vvfin

private static final boolean vvfin(Word word)