ULAPI
8.0
|
A ULDissector is a worker that performs morphological analysis of words in a particular language. Each ULDissector contains a pointer to a language data source and a dictionary data source. The language data source provides information about the general morphological structure of the language in question, while the dictionary data source provides a list of words in the language along with their parts of speech. More...
#include <uldissector.h>
A ULDissector is a worker that performs morphological analysis of words in a particular language. Each ULDissector contains a pointer to a language data source and a dictionary data source. The language data source provides information about the general morphological structure of the language in question, while the dictionary data source provides a list of words in the language along with their parts of speech.
ULDissector::ULDissector | ( | ) |
Default constructor.
ULDissector::ULDissector | ( | const ULDissector & | other | ) |
Copy constructor.
|
virtual |
Destructor.
void ULDissector::clear | ( | ) |
Sets this dissector to its default state.
ULError ULDissector::dissect | ( | const ULString & | surfaceForm, |
ULList< ULDerivation > & | dissectionList | ||
) |
Performs a morphological analysis of the specified surface form.
[in] | surfaceForm | The word to be analyzed. |
[out] | dissectionList | The list of separate analyses of the surface form. For example, if surfaceForm is "rakes" and the language is English, then dissectionList will include one ULDerivation representing the plural of the noun "rake", and another ULDerivation representing the third person singular present tense of the verb "to rake". |
ULError ULDissector::dissect | ( | const ULString & | surfaceForm, |
const ULPartOfSpeechCategory & | category, | ||
ULList< ULDerivation > & | dissectionList | ||
) |
ULError ULDissector::dissect | ( | const ULString & | surfaceForm, |
uluint32 | maxDerivationLength, | ||
ULList< ULDerivation > & | derivationList | ||
) |
Performs a morphological analysis of the specified surface form.
[in] | surfaceForm | The word to be analyzed. |
[in] | maxDerivationLength | the longest rule sequence we're willing to allow in a derivation. |
[out] | derivationList | The list of separate analyses of the surface form. For example, if surfaceForm is "rakes" and the language is English, then derivationList will include one ULDerivation representing the plural of the noun "rake", and another ULDerivation representing the third person singular present tense of the verb "to rake". |
ULError ULDissector::dissect | ( | const ULString & | surfaceForm, |
const ULPartOfSpeechCategory & | category, | ||
uluint32 | maxDerivationLength, | ||
ULList< ULDerivation > & | derivationList | ||
) |
Performs a morphological analysis of the specified surface form under the assumption that the surface form has the specified part of speech.
[in] | surfaceForm | The word to be analyzed. |
[in] | category | The word to be analyzed. |
[in] | maxDerivationLength | the longest rule sequence we're willing to allow in a derivation. |
[out] | derivationList | The list of separate analyses of the surface form. |
|
virtual |
ULDictionaryDataSource * ULDissector::getDictionaryDataSource | ( | ) |
ULInflector * ULDissector::getInflector | ( | ) |
const ULLanguage & ULDissector::getLanguage | ( | ) | const |
ULLanguageDataSource * ULDissector::getLanguageDataSource | ( | ) |
|
virtual |
ULDissector & ULDissector::operator= | ( | const ULDissector & | other | ) |
Assignment operator.
void ULDissector::setDictionaryDataSource | ( | ULDictionaryDataSource * | dataSource | ) |
Assigns the dictionary data source to be used by this dissector. The ULDissector does not take responsibility for deleting the data source. That will need to happen elsewhere (typically the ULFactory will take care of it if your application uses ULFactory to instantiate data sources and workers).
[in] | dataSource | A pointer to the desired dictionary data source. |
void ULDissector::setInflector | ( | ULInflector * | newInflector | ) |
Assigns the inflector to be used by this dissector. The ULDissector does not take responsibility for deleting the inflector. That will need to happen elsewhere (typically the ULFactory will take care of it if your application uses ULFactory to instantiate data sources and workers).
[in] | newInflector | A pointer to the desired inflector. |
void ULDissector::setLanguageDataSource | ( | ULLanguageDataSource * | dataSource | ) |
Assigns the language data source to be used by this dissector. The ULDissector does not take responsibility for deleting the data source. That will need to happen elsewhere (typically the ULFactory will take care of it if your application uses ULFactory to instantiate data sources and workers).
[in] | dataSource | A pointer to the desired language data source. |