Class Analyse
java.lang.Object
Analyse
- 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
|
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 |
LiIterator
private static java.util.ListIterator LiIterator
Analyse
public Analyse()
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)