ULAPI
8.0
Main Page
Classes
source
workers
ulconjugator.h
1
7
#ifndef ULCONJUGATOR_H
8
#define ULCONJUGATOR_H
9
10
#include "ulworker.h"
11
#include "ulinflector.h"
12
#include "uldissector.h"
13
20
class
ULConjugator
:
public
ULWorker
21
{
22
public
:
23
ULConjugator
();
24
ULConjugator
(
const
ULConjugator
& other);
25
virtual
~ULConjugator
();
26
27
ULConjugator
&
operator=
(
const
ULConjugator
& other);
28
void
clear
();
29
30
// Accessors
31
ULInflector
*
getInflector
();
32
void
setInflector
(
ULInflector
*inflector);
33
ULDissector
*
getDissector
();
34
void
setDissector
(
ULDissector
*dissector);
35
const
ULLanguage
&
getLanguage
()
const
;
36
37
// ULWorker interfaces.
38
virtual
bool
isServiceAvailable
(
const
ULServiceDescriptor
& service);
39
virtual
void
getAvailableServices
(
ULList<ULServiceDescriptor>
& services);
40
41
// The core services provided by the conjugator.
42
ULError
getVerbFromDictionaryIterator
(
const
ULDictionaryIterator
& dictionaryIterator,
ULDerivation
& verb);
43
44
ULError
getVerbsMatchingVerbForm
(
const
ULString
& verbForm,
ULList<ULDerivation>
& verbList);
45
46
ULError
getVerbsMatchingInfinitive
(
const
ULString
& infinitive,
ULList<ULDerivation>
& verbList);
47
48
ULError
getInfinitivesMatchingPrefix
(
const
ULString
& prefix, uluint32 maxMatches,
ULList<ULString>
& infinitiveList);
49
50
ULError
getInfinitivesMatchingPrefix
(
const
ULString
& prefix, uluint32 maxMatches,
ULList<ULDerivation>
& infinitiveList);
51
52
ULError
getTensesForVerb
(
const
ULDerivation
& verb,
ULList<ULTense>
& tenseList);
53
54
ULError
getPersonsForVerbAndTense
(
const
ULDerivation
& verb,
55
const
ULTense
& tense,
56
ULList<ULPerson>
& personList);
57
58
ULError
getConjugation
(
const
ULDerivation
& verb,
59
const
ULTense
& tense,
60
const
ULPerson
& person,
61
ULDerivation
& conjugation);
62
63
ULError
getConjugationsForTense
(
const
ULDerivation
& verb,
64
const
ULTense
& tense,
65
ULList<ULDerivation>
& conjugationList);
66
67
ULError
getAllConjugations
(
const
ULDerivation
& verb,
ULList<ULDerivation>
& conjugationList);
68
69
void
getPronouns
(
const
ULPerson
& person,
70
ULList<ULString>
& pronounList);
71
72
void
getPronouns
(
const
ULPerson
& person,
73
const
ULNumber
& number,
74
const
ULFormality
& formality,
75
ULList<ULString>
& pronounList);
76
77
void
getConjugationDisplayComponents
(
const
ULDerivation
& conjugation,
78
ULString
& pronounText,
79
ULString
& separatorText,
80
ULString
& conjugationText);
81
82
ULString
getConjugationDisplayText
(
const
ULDerivation
& conjugation);
83
84
private
:
85
ULInflector
*inflector;
86
ULDissector
*dissector;
87
88
ULError
getConjugatedForms(
const
ULDerivation
& verb,
89
const
ULTense
& tense,
90
const
ULPerson
& person,
91
ULList<ULString>
& conjugatedForms);
92
93
void
removeDerivationsUsedForStemmingOnly(
ULList<ULDerivation>
& derivationList);
94
95
static
int
derivationCmp(
ULDerivation
& a,
ULDerivation
& b,
void
*context);
96
static
bool
pospSatisfiesPOSP(
const
ULPartOfSpeech
& a,
const
ULPartOfSpeech
& b);
97
};
98
99
#endif
100
Generated on Sat Apr 13 2013 12:59:07 for ULAPI by
1.8.2