mirror of
https://github.com/house-of-vanity/mystem-rs.git
synced 2025-07-07 05:34:06 +00:00
Update documentation. Refactored grammems.rs
This commit is contained in:
217
src/grammems.rs
217
src/grammems.rs
@ -13,7 +13,7 @@ use crate::PerfectiveAspect::{Imperfective, Perfective};
|
|||||||
use crate::Plurality::{Plural, Singular};
|
use crate::Plurality::{Plural, Singular};
|
||||||
use crate::Tense::{Inpresent, Past, Present};
|
use crate::Tense::{Inpresent, Past, Present};
|
||||||
use crate::Transitivity::{Intransitive, Transitive};
|
use crate::Transitivity::{Intransitive, Transitive};
|
||||||
use crate::VerbPerson::{First, Second, Third};
|
use crate::Person::{First, Second, Third};
|
||||||
use crate::Voice::{Active, Passive};
|
use crate::Voice::{Active, Passive};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
@ -29,35 +29,36 @@ pub struct Grammem {
|
|||||||
pub facts_raw: Vec<String>,
|
pub facts_raw: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Часть речи
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum PartOfSpeech {
|
pub enum PartOfSpeech {
|
||||||
/// прилагательное
|
/// Прилагательное
|
||||||
Adjective,
|
Adjective,
|
||||||
/// наречие
|
/// Наречие
|
||||||
Adverb,
|
Adverb,
|
||||||
/// местоименное наречие
|
/// Местоименное наречие
|
||||||
AdverbPronominal,
|
AdverbPronominal,
|
||||||
/// числительное-прилагательное
|
/// Числительное-прилагательное
|
||||||
AdjectiveNumeral,
|
AdjectiveNumeral,
|
||||||
/// местоимение-прилагательное
|
/// Местоимение-прилагательное
|
||||||
AdjectivePronoun,
|
AdjectivePronoun,
|
||||||
/// часть композита - сложного слова
|
/// Часть композита - сложного слова
|
||||||
Composite,
|
Composite,
|
||||||
/// союз
|
/// Союз
|
||||||
Conjunction,
|
Conjunction,
|
||||||
/// междометие
|
/// Междометие
|
||||||
Interjection,
|
Interjection,
|
||||||
/// числительное
|
/// Числительное
|
||||||
Numeral,
|
Numeral,
|
||||||
/// частица
|
/// Частица
|
||||||
Particle,
|
Particle,
|
||||||
/// предлог
|
/// Предлог
|
||||||
Preposition,
|
Preposition,
|
||||||
/// существительное
|
/// Существительное
|
||||||
Noun,
|
Noun,
|
||||||
/// местоимение-существительное
|
/// Местоимение-существительное
|
||||||
AdjectiveNoun,
|
AdjectiveNoun,
|
||||||
/// глагол
|
/// Глагол
|
||||||
Verb,
|
Verb,
|
||||||
}
|
}
|
||||||
impl FromStr for PartOfSpeech {
|
impl FromStr for PartOfSpeech {
|
||||||
@ -90,18 +91,31 @@ impl fmt::Display for PartOfSpeech {
|
|||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Fact {
|
pub enum Fact {
|
||||||
|
/// Падеж
|
||||||
Case(Case),
|
Case(Case),
|
||||||
|
/// Время глаголов
|
||||||
Tense(Tense),
|
Tense(Tense),
|
||||||
|
/// Число
|
||||||
Plurality(Plurality),
|
Plurality(Plurality),
|
||||||
|
/// Наклонение глагола
|
||||||
Mood(Mood),
|
Mood(Mood),
|
||||||
|
/// Форма прилагательного
|
||||||
Adjective(Adjective),
|
Adjective(Adjective),
|
||||||
|
/// Степень сравнения
|
||||||
ComparativeDegree(ComparativeDegree),
|
ComparativeDegree(ComparativeDegree),
|
||||||
Person(VerbPerson),
|
/// Лицо глагола
|
||||||
|
Person(Person),
|
||||||
|
/// Род
|
||||||
Gender(Gender),
|
Gender(Gender),
|
||||||
|
/// Вид глагола
|
||||||
PerfectiveAspect(PerfectiveAspect),
|
PerfectiveAspect(PerfectiveAspect),
|
||||||
|
/// Залог
|
||||||
Voice(Voice),
|
Voice(Voice),
|
||||||
|
/// Одушевленность
|
||||||
Animacy(Animacy),
|
Animacy(Animacy),
|
||||||
|
/// Переходность
|
||||||
Transitivity(Transitivity),
|
Transitivity(Transitivity),
|
||||||
|
/// Прочие обозначения
|
||||||
Other(Other),
|
Other(Other),
|
||||||
}
|
}
|
||||||
impl fmt::Display for Fact {
|
impl fmt::Display for Fact {
|
||||||
@ -110,108 +124,173 @@ impl fmt::Display for Fact {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Падеж
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Case {
|
pub enum Case {
|
||||||
Nominative, //именительный
|
/// Именительный
|
||||||
Genitive, //родительный
|
Nominative,
|
||||||
Dative, //дательный
|
/// Родительный
|
||||||
Accusative, //винительный
|
Genitive,
|
||||||
Instrumental, //творительный
|
/// Дательный
|
||||||
Prepositional, //предложный
|
Dative,
|
||||||
Partitive, //партитив (второй родительный)
|
/// Винительный
|
||||||
Locative, //местный (второй предложный)
|
Accusative,
|
||||||
Vocative, //звательный
|
/// Творительный
|
||||||
|
Instrumental,
|
||||||
|
/// Предложный
|
||||||
|
Prepositional,
|
||||||
|
/// Партитив (второй родительный)
|
||||||
|
Partitive,
|
||||||
|
/// Местный (второй предложный)
|
||||||
|
Locative,
|
||||||
|
/// Звательный
|
||||||
|
Vocative,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Время глагола
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Tense {
|
pub enum Tense {
|
||||||
Present, //настоящее
|
/// Настоящее время
|
||||||
Inpresent, //непрошедшее
|
Present,
|
||||||
Past, //прошедшее
|
/// Непрошедшее время
|
||||||
|
Inpresent,
|
||||||
|
/// Прошедшее время
|
||||||
|
Past,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Число
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Plurality {
|
pub enum Plurality {
|
||||||
Plural, //настоящее
|
/// Множественное
|
||||||
Singular, //непрошедшее
|
Plural,
|
||||||
|
/// Единственное
|
||||||
|
Singular,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Наклонение глагола
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Mood {
|
pub enum Mood {
|
||||||
Gerunds, //деепричастие
|
/// Деепричастие
|
||||||
Infinitive, //инфинитив
|
Gerunds,
|
||||||
Participle, //причастие
|
/// Инфинитив
|
||||||
Indicative, //изьявительное наклонение
|
Infinitive,
|
||||||
Imperative, //повелительное наклонение
|
/// Причастие
|
||||||
|
Participle,
|
||||||
|
/// Изьявительное наклонение
|
||||||
|
Indicative,
|
||||||
|
/// Повелительное наклонение
|
||||||
|
Imperative,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Форма прилагательного
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Adjective {
|
pub enum Adjective {
|
||||||
Short, //Краткое
|
/// Краткое
|
||||||
Long, //Полное
|
Short,
|
||||||
Possessive, //притяжательное
|
/// Полное
|
||||||
|
Long,
|
||||||
|
/// Притяжательное
|
||||||
|
Possessive,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Степень сравнения
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum ComparativeDegree {
|
pub enum ComparativeDegree {
|
||||||
Superlative, //превосходная
|
/// Превосходная
|
||||||
Comparative, //сравнительная
|
Superlative,
|
||||||
|
/// Сравнительная
|
||||||
|
Comparative,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Лицо глагола
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum VerbPerson {
|
pub enum Person {
|
||||||
First, //1-е лицо
|
/// 1-е лицо
|
||||||
Second, //2-е лицо
|
First,
|
||||||
Third, //3-е лицо
|
/// 2-е лицо
|
||||||
|
Second,
|
||||||
|
/// 3-е лицо
|
||||||
|
Third,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Род
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Gender {
|
pub enum Gender {
|
||||||
Masculine, //мужской род
|
/// Мужской
|
||||||
Feminine, //женский род
|
Masculine,
|
||||||
Neuter, //средний род
|
/// Женский
|
||||||
|
Feminine,
|
||||||
|
/// Средний
|
||||||
|
Neuter,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Вид глагола
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum PerfectiveAspect {
|
pub enum PerfectiveAspect {
|
||||||
Perfective, //совершенный
|
/// Совершенный
|
||||||
Imperfective, //несовершенный
|
Perfective,
|
||||||
|
/// Несовершенный
|
||||||
|
Imperfective,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Залог
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Voice {
|
pub enum Voice {
|
||||||
Passive, //страдательный залог
|
/// Страдательный залог
|
||||||
Active, //действительный залог
|
Passive,
|
||||||
|
/// Действительный залог
|
||||||
|
Active,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Одушевленность
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Animacy {
|
pub enum Animacy {
|
||||||
Animate, //одушевленное
|
/// Одушевленное
|
||||||
Inanimate, //неодушевленное
|
Animate,
|
||||||
|
/// Неодушевленное
|
||||||
|
Inanimate,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Переходность глагола
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Transitivity {
|
pub enum Transitivity {
|
||||||
Transitive, //переходный глагол
|
/// Переходный глагол
|
||||||
Intransitive, //непереходный глагол
|
Transitive,
|
||||||
|
/// Непереходный глагол
|
||||||
|
Intransitive,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Прочие обозначения
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Other {
|
pub enum Other {
|
||||||
Parenthesis, //вводное слово
|
/// Вводное слово
|
||||||
Geo, //географическое название
|
Parenthesis,
|
||||||
Awkward, //образование формы затруднено
|
/// Географическое название
|
||||||
ProperNoun, //имя собственное
|
Geo,
|
||||||
Distorted, //искаженная форма
|
/// Образование формы затруднено
|
||||||
CommonForm, //общая форма мужского и женского рода
|
Awkward,
|
||||||
Obscene, //обсценная лексика
|
/// Имя собственное
|
||||||
Patronymic, //отчество
|
ProperNoun,
|
||||||
Predicative, //предикатив
|
/// Искаженная форма
|
||||||
Informal, //разговорная форма
|
Distorted,
|
||||||
Rare, //редко встречающееся слово
|
/// Общая форма мужского и женского рода
|
||||||
Abbreviation, //сокращение
|
CommonForm,
|
||||||
Obsolete, //устаревшая форма
|
/// Обсценная лексика
|
||||||
FamilyName, //фамилия
|
Obscene,
|
||||||
|
/// Отчество
|
||||||
|
Patronymic,
|
||||||
|
/// Предикатив
|
||||||
|
Predicative,
|
||||||
|
/// Разговорная форма
|
||||||
|
Informal,
|
||||||
|
/// Редко встречающееся слово
|
||||||
|
Rare,
|
||||||
|
/// Сокращение
|
||||||
|
Abbreviation,
|
||||||
|
/// Устаревшая форма
|
||||||
|
Obsolete,
|
||||||
|
/// Фамилия
|
||||||
|
FamilyName,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FromStr for Fact {
|
impl FromStr for Fact {
|
||||||
|
Reference in New Issue
Block a user