іменників bool Verb_paradigm (char * str) Формування парадигм дієслів bool Adj_paradigm (char * str) Формування парадигм прикметників
Клас CTable2 належить бібліотеці РДМА_ІПІІ, розробленої відділом розпізнавання мови ІПШІ. У таблиці 4.6 наведені функції очищення, завантаження, модифікації та збереження словникової бази, реалізовані в цьому класі.
Таблиця 4.6 - Список основних методів класу CTable2
МетодОпісаніеФункціі очищення, завантаження і збереження словникової бази (у разі успішного завершення повертають нульове значення) void Release () очищає словникову базуUINT LoadMem (char * Path) .загружает в пам'ять дерево рядків, скорочену таблицю парадигм, таблицю зв'язку дерева та скороченої таблиці парадигм, а також індекси до німUINT LoadDisk (char * Path) завантажує таблицю зв'язку дерева та скороченої таблиці парадигм, а також індекси в пам'ять і встановлює прапорець, який вказує на те, що інші дані читаються з диска. При цьому змінна Path вказує шлях до папки, що зберігає файли словникової бази: tab.dat, tree.dat, connect.dat.UINT SaveMem (char * Path) - функція зберігає в папку по зазначеному шляху Path дані словникової бази, збережені в пам'яті. UINT SaveDisk (char * Path) зберігає в папку по зазначеному шляху Path дані словникової бази, частково збережені в пам'яті, а частково на діскеФункціі модифікації словникової базиUINT InsertRows (MyChar * wrdBud, MyChar * wrdUd, UINT LemmaNum, UINT MI, BOOL InsertRows); функція додавання словоформи в словникову базу. Параметри: wrdBud - рядок написання словоформи без наголосу, wrdUd - рядок написання словоформи з урахуванням наголоси, LemmaNum - номер у словниковій базі леми даної словоформи, MI - число, в якому за допомогою набору бітових полів закодована морфологічна інформація про словоформе. При додаванні словоформи, яка є власною леммой, в поле LemmaNum повинен фігурувати номер запису в таблиці словоформ, в яку буде поміщена ця добавляемая словоформа. Для отримання цього значення викликають допоміжну функцію UINT GetNextLemNum (). МетодОпісаніеUINT DeleteRow (UINT Index, BOOL f) функція видаляє словоформи з словникової бази. Параметри: Index - номер словоформи в базе.Функціі отримання інформації про словоформах UINT FindLemma (MyChar * word, CStringArray amp; Lemma, CUIntArray amp; ResLemm, CUIntArray amp; MI) Знаходить леми для рядка word. Результати виконання функції: Lemma - масив написань леми для словоформ, чиє написання збігається з рядком word, ResLemm - масив номерів лем в словниковій базі (необхідний для встановлення належності словоформи конкретної парадигмі), MI - масив значень морфологічної інформації словоформ із зазначеним напісаніем.void TranslateMI (UINT Mi, char * str) записує в рядку str текстову розшифровку числового значення морфологічної інформаціі.UINT FindParadigm (MyChar * word, CStringArray amp; ParadigmBud, CStringArray amp; ParadigmUd, CUIntArray amp; MI, CUIntArray amp; TabNums, CUIntArray amp; LemmNums) знаходить парадигми, що містять словоформи з написанням word. Результати виконання функції: ParadigmBud (ParadigmUd) - масив написань словоформ знайдених парадигм без урахування наголоси (з урахуванням наголоси), MI - масив значень морфологічної інформації цих словоформ, LemmNums - масив номерів лем в словниковій базі (необхідний для установления приналежності словоформи конкретної парадигмі) .UINT GetWordNum (char * word) повертає унікальний номер написання словоформи в базі. Яке значення - 0, якщо база не містить словоформи з написанням word, або позитивне число - ідентифікатор рядки word в базе.UINT GetWord (UINT treeNum, char * str, int amp; buff_Size) повертає написання словоформи, яке має в базі ідентифікатор treeNum. Передані параметри: treeNum - ідентифікатор шуканої рядка; str - буффер для шуканої рядка; buff_Size - розмір буфера для шуканої рядка. Що повертається: 0 - при успішному завершенні функції, при цьому str - містить шуканий рядок; позитивне число - у разі помилки, коли параметр treeNum перевищує значення найбільшого ідентифікатора рядка в базі;- 1 - у разі помилки, коли розмір буфера buff_Size менше або дорівнює довжині шуканого рядка, при цьому в параметр buff_Size функція записує потрібний розмір буфера;- 2 - у разі помилки, коли база не містить жодної строкі.МетодОпісаніеФункціі отримання інформації про словникової базеUINT GetTreeSize () дозволяє визначити кількість строкових величин, що зберігаються в дереві строк.UINT GetRowsCount () повертає кількість словоформ в словникової базе.void Evaluate (char * FilePath) функція зберігає у файл по зазначеному шляху інформацію про витрати пам'яті на зберігання різних структур даних словникової бази.Служебние функцііReleasestringArr (vector lt; string gt; * amp; ParadigmUd) використовуються для очищення заповнюваних функціями бібліотеки змінних-вказівників на vector lt; string gt; і vector lt; unsigned int gt ;, соответственно.ReleaseCUIntArr...