Adjective added to web

This commit is contained in:
Vladislav Khorev 2014-12-09 12:29:52 +00:00
parent a3e371c51e
commit a32b08cbf1
7 changed files with 413 additions and 217 deletions

View File

@ -1,8 +1,8 @@
Склонение;Род;Падеж;Окончание;Пример Склонение;Род;Падеж;Окончание;Пример
IFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий;рабочий IFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий, ой;рабочий
;;NGC_P2_GENITIVE;его;подарок для рабочего ;;NGC_P2_GENITIVE;его;подарок для рабочего
;;NGC_P3_DATIVE;ему;подарок рабочему ;;NGC_P3_DATIVE;ему;подарок рабочему
;;NGC_P4_ACCUSATIVE;ий;обвиняю рабочий ;;NGC_P4_ACCUSATIVE;ий, ой;обвиняю рабочий
;;NGC_P5_INSTRUMENTAL;им;говорю с рабочим ;;NGC_P5_INSTRUMENTAL;им;говорю с рабочим
;;NGC_P6_PREPOSITIONAL;ем;говорю о рабочем ;;NGC_P6_PREPOSITIONAL;ем;говорю о рабочем
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;рабочие ;NC_PLURAL;NGC_P1_NOMINATIVE;ие;рабочие
@ -11,7 +11,7 @@ IFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий;рабочий
;;NGC_P4_ACCUSATIVE;ие;обвиняю рабочие ;;NGC_P4_ACCUSATIVE;ие;обвиняю рабочие
;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими ;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими
;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих ;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих
IFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий;рабочий IFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий, ой;рабочий
;;NGC_P2_GENITIVE;его;подарок для рабочего ;;NGC_P2_GENITIVE;его;подарок для рабочего
;;NGC_P3_DATIVE;ему;подарок рабочему ;;NGC_P3_DATIVE;ему;подарок рабочему
;;NGC_P4_ACCUSATIVE;его;обвиняю рабочего ;;NGC_P4_ACCUSATIVE;его;обвиняю рабочего
@ -23,7 +23,31 @@ IFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ий;рабочий
;;NGC_P4_ACCUSATIVE;их;обвиняю рабочих ;;NGC_P4_ACCUSATIVE;их;обвиняю рабочих
;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими ;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими
;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих ;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих
UOFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой, ый;деловой UFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ый;меловый
;;NGC_P2_GENITIVE;ого;подарок для мелового
;;NGC_P3_DATIVE;ому;подарок меловому
;;NGC_P4_ACCUSATIVE;ый;обвиняю меловый
;;NGC_P5_INSTRUMENTAL;ым;говорю с меловым
;;NGC_P6_PREPOSITIONAL;ом;говорю о меловом
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;меловые
;;NGC_P2_GENITIVE;ых;подарок для меловых
;;NGC_P3_DATIVE;ым;подарок меловым
;;NGC_P4_ACCUSATIVE;ые;обвиняю меловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с меловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о меловых
UFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ый;меловой
;;NGC_P2_GENITIVE;ого;подарок для мелового
;;NGC_P3_DATIVE;ому;подарок меловому
;;NGC_P4_ACCUSATIVE;ого;обвиняю мелового
;;NGC_P5_INSTRUMENTAL;ым;говорю с меловым
;;NGC_P6_PREPOSITIONAL;ом;говорю о меловом
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;меловые
;;NGC_P2_GENITIVE;ых;подарок для меловых
;;NGC_P3_DATIVE;ым;подарок меловым
;;NGC_P4_ACCUSATIVE;ые;обвиняю меловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с меловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о меловых
UOFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой;деловой
;;NGC_P2_GENITIVE;ого;подарок для делового ;;NGC_P2_GENITIVE;ого;подарок для делового
;;NGC_P3_DATIVE;ому;подарок деловому ;;NGC_P3_DATIVE;ому;подарок деловому
;;NGC_P4_ACCUSATIVE;ой;обвиняю деловой ;;NGC_P4_ACCUSATIVE;ой;обвиняю деловой
@ -35,7 +59,7 @@ UOFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой, ый;деловой
;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые ;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми ;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых ;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых
UOFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой, ый;деловой UOFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой;деловой
;;NGC_P2_GENITIVE;ого;подарок для делового ;;NGC_P2_GENITIVE;ого;подарок для делового
;;NGC_P3_DATIVE;ому;подарок деловому ;;NGC_P3_DATIVE;ому;подарок деловому
;;NGC_P4_ACCUSATIVE;ого;обвиняю делового ;;NGC_P4_ACCUSATIVE;ого;обвиняю делового
@ -47,6 +71,30 @@ UOFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой, ый;деловой
;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые ;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми ;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых ;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых
IOFORM_MALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой;другой
;;NGC_P2_GENITIVE;ого;подарок для другого
;;NGC_P3_DATIVE;ому;подарок другому
;;NGC_P4_ACCUSATIVE;ой;обвиняю другой
;;NGC_P5_INSTRUMENTAL;им;говорю с другим
;;NGC_P6_PREPOSITIONAL;ом;говорю о другом
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;другие
;;NGC_P2_GENITIVE;их;подарок для других
;;NGC_P3_DATIVE;им;подарок другим
;;NGC_P4_ACCUSATIVE;ие;обвиняю другие
;;NGC_P5_INSTRUMENTAL;ихи;говорю с другими
;;NGC_P6_PREPOSITIONAL;их;говорю о других
IOFORM_MALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ой;другой
;;NGC_P2_GENITIVE;ого;подарок для другого
;;NGC_P3_DATIVE;ому;подарок другому
;;NGC_P4_ACCUSATIVE;ого;обвиняю другого
;;NGC_P5_INSTRUMENTAL;им;говорю с другим
;;NGC_P6_PREPOSITIONAL;ом;говорю о другом
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;другие
;;NGC_P2_GENITIVE;их;подарок для других
;;NGC_P3_DATIVE;им;подарок другим
;;NGC_P4_ACCUSATIVE;их;обвиняю других
;;NGC_P5_INSTRUMENTAL;ихи;говорю с другими
;;NGC_P6_PREPOSITIONAL;их;говорю о других
IFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;рабочая IFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;рабочая
;;NGC_P2_GENITIVE;ей;подарок для рабочей ;;NGC_P2_GENITIVE;ей;подарок для рабочей
;;NGC_P3_DATIVE;ей;подарок рабочей ;;NGC_P3_DATIVE;ей;подарок рабочей
@ -71,6 +119,30 @@ IFORM_FEMALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;рабочая
;;NGC_P4_ACCUSATIVE;их;обвиняю рабочих ;;NGC_P4_ACCUSATIVE;их;обвиняю рабочих
;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими ;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими
;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих ;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих
UFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;меловая
;;NGC_P2_GENITIVE;ой;подарок для меловой
;;NGC_P3_DATIVE;ой;подарок меловой
;;NGC_P4_ACCUSATIVE;ую;обвиняю меловую
;;NGC_P5_INSTRUMENTAL;ой;говорю с меловой
;;NGC_P6_PREPOSITIONAL;ой;говорю о меловой
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;меловые
;;NGC_P2_GENITIVE;ых;подарок для меловых
;;NGC_P3_DATIVE;ым;подарок меловым
;;NGC_P4_ACCUSATIVE;ые;обвиняю меловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с меловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о меловых
UFORM_FEMALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;меловая
;;NGC_P2_GENITIVE;ой;подарок для меловой
;;NGC_P3_DATIVE;ой;подарок меловой
;;NGC_P4_ACCUSATIVE;ую;обвиняю меловую
;;NGC_P5_INSTRUMENTAL;ой;говорю с меловой
;;NGC_P6_PREPOSITIONAL;ой;говорю о меловой
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;меловые
;;NGC_P2_GENITIVE;ых;подарок для меловых
;;NGC_P3_DATIVE;ым;подарок меловым
;;NGC_P4_ACCUSATIVE;ых;обвиняю меловых
;;NGC_P5_INSTRUMENTAL;ыми;говорю с меловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о меловых
UOFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;деловая UOFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;деловая
;;NGC_P2_GENITIVE;ой;подарок для деловой ;;NGC_P2_GENITIVE;ой;подарок для деловой
;;NGC_P3_DATIVE;ой;подарок деловой ;;NGC_P3_DATIVE;ой;подарок деловой
@ -92,9 +164,33 @@ UOFORM_FEMALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;деловая
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;деловые ;NC_PLURAL;NGC_P1_NOMINATIVE;ые;деловые
;;NGC_P2_GENITIVE;ых;подарок для деловых ;;NGC_P2_GENITIVE;ых;подарок для деловых
;;NGC_P3_DATIVE;ым;подарок деловым ;;NGC_P3_DATIVE;ым;подарок деловым
;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые ;;NGC_P4_ACCUSATIVE;ых;обвиняю деловых
;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми ;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых ;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых
IOFORM_FEMALE_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;другая
;;NGC_P2_GENITIVE;ой;подарок для другой
;;NGC_P3_DATIVE;ой;подарок другой
;;NGC_P4_ACCUSATIVE;ую;обвиняю другую
;;NGC_P5_INSTRUMENTAL;ой;говорю с другой
;;NGC_P6_PREPOSITIONAL;ой;говорю о другой
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;другие
;;NGC_P2_GENITIVE;их;подарок для других
;;NGC_P3_DATIVE;им;подарок другим
;;NGC_P4_ACCUSATIVE;ие;обвиняю другие
;;NGC_P5_INSTRUMENTAL;ими;говорю с другими
;;NGC_P6_PREPOSITIONAL;их;говорю о других
IOFORM_FEMALE_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ая;другая
;;NGC_P2_GENITIVE;ой;подарок для другой
;;NGC_P3_DATIVE;ой;подарок другой
;;NGC_P4_ACCUSATIVE;ую;обвиняю другую
;;NGC_P5_INSTRUMENTAL;ой;говорю с другой
;;NGC_P6_PREPOSITIONAL;ой;говорю о другой
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;другие
;;NGC_P2_GENITIVE;их;подарок для других
;;NGC_P3_DATIVE;им;подарок другим
;;NGC_P4_ACCUSATIVE;ие;обвиняю других
;;NGC_P5_INSTRUMENTAL;ими;говорю с другими
;;NGC_P6_PREPOSITIONAL;их;говорю о других
IFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ее;рабочее IFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ее;рабочее
;;NGC_P2_GENITIVE;его;подарок для рабочего ;;NGC_P2_GENITIVE;его;подарок для рабочего
;;NGC_P3_DATIVE;ему;подарок рабочему ;;NGC_P3_DATIVE;ему;подарок рабочему
@ -107,6 +203,18 @@ IFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ее;рабочее
;;NGC_P4_ACCUSATIVE;ие;обвиняю рабочие ;;NGC_P4_ACCUSATIVE;ие;обвиняю рабочие
;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими ;;NGC_P5_INSTRUMENTAL;ими;говорю с рабочими
;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих ;;NGC_P6_PREPOSITIONAL;их;говорю о рабочих
UFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ое;меловое
;;NGC_P2_GENITIVE;ого;подарок для мелового
;;NGC_P3_DATIVE;ому;подарок меловому
;;NGC_P4_ACCUSATIVE;ое;обвиняю меловое
;;NGC_P5_INSTRUMENTAL;ым;говорю с меловым
;;NGC_P6_PREPOSITIONAL;ом;говорю о меловом
;NC_PLURAL;NGC_P1_NOMINATIVE;ые;меловые
;;NGC_P2_GENITIVE;ых;подарок для меловых
;;NGC_P3_DATIVE;ым;подарок меловым
;;NGC_P4_ACCUSATIVE;ые;обвиняю меловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с меловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о меловых
UOFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ое;деловое UOFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ое;деловое
;;NGC_P2_GENITIVE;ого;подарок для делового ;;NGC_P2_GENITIVE;ого;подарок для делового
;;NGC_P3_DATIVE;ому;подарок деловому ;;NGC_P3_DATIVE;ому;подарок деловому
@ -119,3 +227,15 @@ UOFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ое;деловое
;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые ;;NGC_P4_ACCUSATIVE;ые;обвиняю деловые
;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми ;;NGC_P5_INSTRUMENTAL;ыми;говорю с деловыми
;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых ;;NGC_P6_PREPOSITIONAL;ых;говорю о деловых
IOFORM_NEUTRAL;NC_SINGULAR;NGC_P1_NOMINATIVE;ое;другое
;;NGC_P2_GENITIVE;ого;подарок для другого
;;NGC_P3_DATIVE;ому;подарок другому
;;NGC_P4_ACCUSATIVE;ое;обвиняю другое
;;NGC_P5_INSTRUMENTAL;им;говорю с другим
;;NGC_P6_PREPOSITIONAL;ом;говорю о другом
;NC_PLURAL;NGC_P1_NOMINATIVE;ие;другие
;;NGC_P2_GENITIVE;их;подарок для других
;;NGC_P3_DATIVE;им;подарок другим
;;NGC_P4_ACCUSATIVE;ие;обвиняю другие
;;NGC_P5_INSTRUMENTAL;ими;говорю с другими
;;NGC_P6_PREPOSITIONAL;их;говорю о других

1 Склонение Род Падеж Окончание Пример
2 IFORM_MALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ий ий, ой рабочий
3 NGC_P2_GENITIVE его подарок для рабочего
4 NGC_P3_DATIVE ему подарок рабочему
5 NGC_P4_ACCUSATIVE ий ий, ой обвиняю рабочий
6 NGC_P5_INSTRUMENTAL им говорю с рабочим
7 NGC_P6_PREPOSITIONAL ем говорю о рабочем
8 NC_PLURAL NGC_P1_NOMINATIVE ие рабочие
11 NGC_P4_ACCUSATIVE ие обвиняю рабочие
12 NGC_P5_INSTRUMENTAL ими говорю с рабочими
13 NGC_P6_PREPOSITIONAL их говорю о рабочих
14 IFORM_MALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ий ий, ой рабочий
15 NGC_P2_GENITIVE его подарок для рабочего
16 NGC_P3_DATIVE ему подарок рабочему
17 NGC_P4_ACCUSATIVE его обвиняю рабочего
23 NGC_P4_ACCUSATIVE их обвиняю рабочих
24 NGC_P5_INSTRUMENTAL ими говорю с рабочими
25 NGC_P6_PREPOSITIONAL их говорю о рабочих
26 UOFORM_MALE_INANIMATE UFORM_MALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ой, ый ый деловой меловый
27 NGC_P2_GENITIVE ого подарок для мелового
28 NGC_P3_DATIVE ому подарок меловому
29 NGC_P4_ACCUSATIVE ый обвиняю меловый
30 NGC_P5_INSTRUMENTAL ым говорю с меловым
31 NGC_P6_PREPOSITIONAL ом говорю о меловом
32 NC_PLURAL NGC_P1_NOMINATIVE ые меловые
33 NGC_P2_GENITIVE ых подарок для меловых
34 NGC_P3_DATIVE ым подарок меловым
35 NGC_P4_ACCUSATIVE ые обвиняю меловые
36 NGC_P5_INSTRUMENTAL ыми говорю с меловыми
37 NGC_P6_PREPOSITIONAL ых говорю о меловых
38 UFORM_MALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ый меловой
39 NGC_P2_GENITIVE ого подарок для мелового
40 NGC_P3_DATIVE ому подарок меловому
41 NGC_P4_ACCUSATIVE ого обвиняю мелового
42 NGC_P5_INSTRUMENTAL ым говорю с меловым
43 NGC_P6_PREPOSITIONAL ом говорю о меловом
44 NC_PLURAL NGC_P1_NOMINATIVE ые меловые
45 NGC_P2_GENITIVE ых подарок для меловых
46 NGC_P3_DATIVE ым подарок меловым
47 NGC_P4_ACCUSATIVE ые обвиняю меловые
48 NGC_P5_INSTRUMENTAL ыми говорю с меловыми
49 NGC_P6_PREPOSITIONAL ых говорю о меловых
50 UOFORM_MALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ой деловой
51 NGC_P2_GENITIVE ого подарок для делового
52 NGC_P3_DATIVE ому подарок деловому
53 NGC_P4_ACCUSATIVE ой обвиняю деловой
59 NGC_P4_ACCUSATIVE ые обвиняю деловые
60 NGC_P5_INSTRUMENTAL ыми говорю с деловыми
61 NGC_P6_PREPOSITIONAL ых говорю о деловых
62 UOFORM_MALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ой, ый ой деловой
63 NGC_P2_GENITIVE ого подарок для делового
64 NGC_P3_DATIVE ому подарок деловому
65 NGC_P4_ACCUSATIVE ого обвиняю делового
71 NGC_P4_ACCUSATIVE ые обвиняю деловые
72 NGC_P5_INSTRUMENTAL ыми говорю с деловыми
73 NGC_P6_PREPOSITIONAL ых говорю о деловых
74 IOFORM_MALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ой другой
75 NGC_P2_GENITIVE ого подарок для другого
76 NGC_P3_DATIVE ому подарок другому
77 NGC_P4_ACCUSATIVE ой обвиняю другой
78 NGC_P5_INSTRUMENTAL им говорю с другим
79 NGC_P6_PREPOSITIONAL ом говорю о другом
80 NC_PLURAL NGC_P1_NOMINATIVE ие другие
81 NGC_P2_GENITIVE их подарок для других
82 NGC_P3_DATIVE им подарок другим
83 NGC_P4_ACCUSATIVE ие обвиняю другие
84 NGC_P5_INSTRUMENTAL ихи говорю с другими
85 NGC_P6_PREPOSITIONAL их говорю о других
86 IOFORM_MALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ой другой
87 NGC_P2_GENITIVE ого подарок для другого
88 NGC_P3_DATIVE ому подарок другому
89 NGC_P4_ACCUSATIVE ого обвиняю другого
90 NGC_P5_INSTRUMENTAL им говорю с другим
91 NGC_P6_PREPOSITIONAL ом говорю о другом
92 NC_PLURAL NGC_P1_NOMINATIVE ие другие
93 NGC_P2_GENITIVE их подарок для других
94 NGC_P3_DATIVE им подарок другим
95 NGC_P4_ACCUSATIVE их обвиняю других
96 NGC_P5_INSTRUMENTAL ихи говорю с другими
97 NGC_P6_PREPOSITIONAL их говорю о других
98 IFORM_FEMALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая рабочая
99 NGC_P2_GENITIVE ей подарок для рабочей
100 NGC_P3_DATIVE ей подарок рабочей
119 NGC_P4_ACCUSATIVE их обвиняю рабочих
120 NGC_P5_INSTRUMENTAL ими говорю с рабочими
121 NGC_P6_PREPOSITIONAL их говорю о рабочих
122 UFORM_FEMALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая меловая
123 NGC_P2_GENITIVE ой подарок для меловой
124 NGC_P3_DATIVE ой подарок меловой
125 NGC_P4_ACCUSATIVE ую обвиняю меловую
126 NGC_P5_INSTRUMENTAL ой говорю с меловой
127 NGC_P6_PREPOSITIONAL ой говорю о меловой
128 NC_PLURAL NGC_P1_NOMINATIVE ые меловые
129 NGC_P2_GENITIVE ых подарок для меловых
130 NGC_P3_DATIVE ым подарок меловым
131 NGC_P4_ACCUSATIVE ые обвиняю меловые
132 NGC_P5_INSTRUMENTAL ыми говорю с меловыми
133 NGC_P6_PREPOSITIONAL ых говорю о меловых
134 UFORM_FEMALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая меловая
135 NGC_P2_GENITIVE ой подарок для меловой
136 NGC_P3_DATIVE ой подарок меловой
137 NGC_P4_ACCUSATIVE ую обвиняю меловую
138 NGC_P5_INSTRUMENTAL ой говорю с меловой
139 NGC_P6_PREPOSITIONAL ой говорю о меловой
140 NC_PLURAL NGC_P1_NOMINATIVE ые меловые
141 NGC_P2_GENITIVE ых подарок для меловых
142 NGC_P3_DATIVE ым подарок меловым
143 NGC_P4_ACCUSATIVE ых обвиняю меловых
144 NGC_P5_INSTRUMENTAL ыми говорю с меловыми
145 NGC_P6_PREPOSITIONAL ых говорю о меловых
146 UOFORM_FEMALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая деловая
147 NGC_P2_GENITIVE ой подарок для деловой
148 NGC_P3_DATIVE ой подарок деловой
164 NC_PLURAL NGC_P1_NOMINATIVE ые деловые
165 NGC_P2_GENITIVE ых подарок для деловых
166 NGC_P3_DATIVE ым подарок деловым
167 NGC_P4_ACCUSATIVE ые ых обвиняю деловые обвиняю деловых
168 NGC_P5_INSTRUMENTAL ыми говорю с деловыми
169 NGC_P6_PREPOSITIONAL ых говорю о деловых
170 IOFORM_FEMALE_INANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая другая
171 NGC_P2_GENITIVE ой подарок для другой
172 NGC_P3_DATIVE ой подарок другой
173 NGC_P4_ACCUSATIVE ую обвиняю другую
174 NGC_P5_INSTRUMENTAL ой говорю с другой
175 NGC_P6_PREPOSITIONAL ой говорю о другой
176 NC_PLURAL NGC_P1_NOMINATIVE ие другие
177 NGC_P2_GENITIVE их подарок для других
178 NGC_P3_DATIVE им подарок другим
179 NGC_P4_ACCUSATIVE ие обвиняю другие
180 NGC_P5_INSTRUMENTAL ими говорю с другими
181 NGC_P6_PREPOSITIONAL их говорю о других
182 IOFORM_FEMALE_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ая другая
183 NGC_P2_GENITIVE ой подарок для другой
184 NGC_P3_DATIVE ой подарок другой
185 NGC_P4_ACCUSATIVE ую обвиняю другую
186 NGC_P5_INSTRUMENTAL ой говорю с другой
187 NGC_P6_PREPOSITIONAL ой говорю о другой
188 NC_PLURAL NGC_P1_NOMINATIVE ие другие
189 NGC_P2_GENITIVE их подарок для других
190 NGC_P3_DATIVE им подарок другим
191 NGC_P4_ACCUSATIVE ие обвиняю других
192 NGC_P5_INSTRUMENTAL ими говорю с другими
193 NGC_P6_PREPOSITIONAL их говорю о других
194 IFORM_NEUTRAL NC_SINGULAR NGC_P1_NOMINATIVE ее рабочее
195 NGC_P2_GENITIVE его подарок для рабочего
196 NGC_P3_DATIVE ему подарок рабочему
203 NGC_P4_ACCUSATIVE ие обвиняю рабочие
204 NGC_P5_INSTRUMENTAL ими говорю с рабочими
205 NGC_P6_PREPOSITIONAL их говорю о рабочих
206 UFORM_NEUTRAL NC_SINGULAR NGC_P1_NOMINATIVE ое меловое
207 NGC_P2_GENITIVE ого подарок для мелового
208 NGC_P3_DATIVE ому подарок меловому
209 NGC_P4_ACCUSATIVE ое обвиняю меловое
210 NGC_P5_INSTRUMENTAL ым говорю с меловым
211 NGC_P6_PREPOSITIONAL ом говорю о меловом
212 NC_PLURAL NGC_P1_NOMINATIVE ые меловые
213 NGC_P2_GENITIVE ых подарок для меловых
214 NGC_P3_DATIVE ым подарок меловым
215 NGC_P4_ACCUSATIVE ые обвиняю меловые
216 NGC_P5_INSTRUMENTAL ыми говорю с меловыми
217 NGC_P6_PREPOSITIONAL ых говорю о меловых
218 UOFORM_NEUTRAL NC_SINGULAR NGC_P1_NOMINATIVE ое деловое
219 NGC_P2_GENITIVE ого подарок для делового
220 NGC_P3_DATIVE ому подарок деловому
227 NGC_P4_ACCUSATIVE ые обвиняю деловые
228 NGC_P5_INSTRUMENTAL ыми говорю с деловыми
229 NGC_P6_PREPOSITIONAL ых говорю о деловых
230 IOFORM_NEUTRAL NC_SINGULAR NGC_P1_NOMINATIVE ое другое
231 NGC_P2_GENITIVE ого подарок для другого
232 NGC_P3_DATIVE ому подарок другому
233 NGC_P4_ACCUSATIVE ое обвиняю другое
234 NGC_P5_INSTRUMENTAL им говорю с другим
235 NGC_P6_PREPOSITIONAL ом говорю о другом
236 NC_PLURAL NGC_P1_NOMINATIVE ие другие
237 NGC_P2_GENITIVE их подарок для других
238 NGC_P3_DATIVE им подарок другим
239 NGC_P4_ACCUSATIVE ие обвиняю другие
240 NGC_P5_INSTRUMENTAL ими говорю с другими
241 NGC_P6_PREPOSITIONAL их говорю о других

Binary file not shown.

View File

@ -1,5 +1,5 @@
#include "adjective.h" #include "adjective.h"
#include <string> #include <string>
#include <iostream> //Xperimental -- for debug only #include <iostream> //Xperimental -- for debug only
@ -7,115 +7,157 @@
#include "boost/regex.hpp" #include "boost/regex.hpp"
#include "boost/algorithm/string/regex.hpp" #include "boost/algorithm/string/regex.hpp"
namespace AJ namespace AJ
{ {
std::vector<AdjectiveRecord> AdjectiveRecordArr; std::vector<AdjectiveRecord> AdjectiveRecordArr;
std::vector<AdjectiveDeclencionCaseTableRecord> adjectiveDeclencionCaseTable; std::vector<AdjectiveDeclencionCaseTableRecord> adjectiveDeclencionCaseTable;
AdjectiveRecord::AdjectiveRecord() AdjectiveRecord::AdjectiveRecord()
: standardShortFormAvailable(false) : standardShortFormAvailable(false)
{ {
} }
AdjectiveRecord::AdjectiveRecord(std::wstring line) AdjectiveRecord::AdjectiveRecord(std::wstring line)
{ {
std::vector<std::wstring> lineArr; std::vector<std::wstring> lineArr;
boost::split_regex(lineArr, line, boost::wregex(L";")); boost::split_regex(lineArr, line, boost::wregex(L";"));
nominativeMaleForm = lineArr[1]; nominativeMaleForm = lineArr[1];
standardShortFormAvailable = lineArr[2] == L"1" ? true : false; standardShortFormAvailable = lineArr[2] == L"1" ? true : false;
specialShortForm = lineArr[3]; specialShortForm = lineArr[3];
} }
std::vector<std::wstring> GetAllAdjectiveEndingArr() std::vector<std::wstring> GetAllAdjectiveEndingArr()
{ {
std::vector<std::wstring> result; std::vector<std::wstring> result;
result.push_back(L"èé"); result.push_back(L"èé");
result.push_back(L"åãî"); result.push_back(L"åãî");
result.push_back(L"åìó"); result.push_back(L"åìó");
result.push_back(L"èì"); result.push_back(L"èì");
result.push_back(L"åì"); result.push_back(L"åì");
result.push_back(L"èå"); result.push_back(L"èå");
result.push_back(L"èõ"); result.push_back(L"èõ");
result.push_back(L"èìè"); result.push_back(L"èìè");
result.push_back(L"îé"); result.push_back(L"îé");
result.push_back(L"ûé"); result.push_back(L"ûé");
result.push_back(L"îãî"); result.push_back(L"îãî");
result.push_back(L"îìó"); result.push_back(L"îìó");
result.push_back(L"ûì"); result.push_back(L"ûì");
result.push_back(L"îì"); result.push_back(L"îì");
result.push_back(L"ûå"); result.push_back(L"ûå");
result.push_back(L"ûõ"); result.push_back(L"ûõ");
result.push_back(L"ûìè"); result.push_back(L"ûìè");
result.push_back(L"àÿ"); result.push_back(L"àÿ");
result.push_back(L"åé"); result.push_back(L"åé");
result.push_back(L"óþ"); result.push_back(L"óþ");
result.push_back(L"åå"); result.push_back(L"åå");
result.push_back(L"îå"); result.push_back(L"îå");
return result; return result;
} }
AdjectiveDeclencion WStringToAdjectiveDeclencion(std::wstring str) AdjectiveDeclencion WStringToAdjectiveDeclencion(std::wstring str)
{ {
if (str == L"IFORM_MALE_INANIMATE") if (str == L"IFORM_MALE_INANIMATE")
{ {
return IFORM_MALE_INANIMATE; return IFORM_MALE_INANIMATE;
} }
if (str == L"IFORM_MALE_ANIMATE") if (str == L"IFORM_MALE_ANIMATE")
{ {
return IFORM_MALE_ANIMATE; return IFORM_MALE_ANIMATE;
} }
if (str == L"UFORM_MALE_INANIMATE")
{
return UFORM_MALE_INANIMATE;
}
if (str == L"UFORM_MALE_ANIMATE")
{
return UFORM_MALE_ANIMATE;
}
if (str == L"UOFORM_MALE_INANIMATE") if (str == L"UOFORM_MALE_INANIMATE")
{ {
return UOFORM_MALE_INANIMATE; return UOFORM_MALE_INANIMATE;
} }
if (str == L"UOFORM_MALE_ANIMATE") if (str == L"UOFORM_MALE_ANIMATE")
{ {
return UOFORM_MALE_ANIMATE; return UOFORM_MALE_ANIMATE;
} }
if (str == L"IOFORM_MALE_INANIMATE")
{
return IOFORM_MALE_INANIMATE;
}
if (str == L"IOFORM_MALE_ANIMATE")
{
return IOFORM_MALE_ANIMATE;
}
if (str == L"IFORM_FEMALE_INANIMATE") if (str == L"IFORM_FEMALE_INANIMATE")
{ {
return IFORM_FEMALE_INANIMATE; return IFORM_FEMALE_INANIMATE;
} }
if (str == L"IFORM_FEMALE_ANIMATE") if (str == L"IFORM_FEMALE_ANIMATE")
{ {
return IFORM_FEMALE_ANIMATE; return IFORM_FEMALE_ANIMATE;
} }
if (str == L"UFORM_FEMALE_INANIMATE")
{
return UFORM_FEMALE_INANIMATE;
}
if (str == L"UFORM_FEMALE_ANIMATE")
{
return UFORM_FEMALE_ANIMATE;
}
if (str == L"UOFORM_FEMALE_INANIMATE") if (str == L"UOFORM_FEMALE_INANIMATE")
{ {
return UOFORM_FEMALE_INANIMATE; return UOFORM_FEMALE_INANIMATE;
} }
if (str == L"UOFORM_FEMALE_ANIMATE") if (str == L"UOFORM_FEMALE_ANIMATE")
{ {
return UOFORM_FEMALE_ANIMATE; return UOFORM_FEMALE_ANIMATE;
} }
if (str == L"IOFORM_FEMALE_INANIMATE")
{
return IOFORM_FEMALE_INANIMATE;
}
if (str == L"IOFORM_FEMALE_ANIMATE")
{
return IOFORM_FEMALE_ANIMATE;
}
if (str == L"IFORM_NEUTRAL") if (str == L"IFORM_NEUTRAL")
{ {
return IFORM_NEUTRAL; return IFORM_NEUTRAL;
} }
if (str == L"UFORM_NEUTRAL")
{
return UFORM_NEUTRAL;
}
if (str == L"UOFORM_NEUTRAL") if (str == L"UOFORM_NEUTRAL")
{ {
return UOFORM_NEUTRAL; return UOFORM_NEUTRAL;
} }
if (str == L"IOFORM_NEUTRAL")
std::cout << "Error in WStringToAdjectiveDeclencion"; {
return IFORM_MALE_INANIMATE; return IOFORM_NEUTRAL;
} }
std::cout << "Error in WStringToAdjectiveDeclencion";
return IFORM_MALE_INANIMATE;
}
std::set<AdjectiveEndingDivision> getPossibleAdjectiveEndingDivisionSet(std::wstring noun) std::set<AdjectiveEndingDivision> getPossibleAdjectiveEndingDivisionSet(std::wstring noun)
{ {
std::set<AdjectiveEndingDivision> result; std::set<AdjectiveEndingDivision> result;
@ -139,12 +181,12 @@ namespace AJ
} }
return result; return result;
} }
std::vector<AdjectiveTuple> GetPossibleTupleArr(std::wstring ending) std::vector<AdjectiveTuple> GetPossibleTupleArr(std::wstring ending)
{ {
std::vector<AdjectiveTuple> result; std::vector<AdjectiveTuple> result;
for (auto& adjective : adjectiveDeclencionCaseTable) for (auto& adjective : adjectiveDeclencionCaseTable)
{ {
for (int i = 0; i < NGC_SIZE * NC_SIZE; i++) for (int i = 0; i < NGC_SIZE * NC_SIZE; i++)
@ -155,11 +197,11 @@ namespace AJ
} }
} }
} }
return result; return result;
} }
bool AdjectiveIsInDictionary(std::wstring nominative) bool AdjectiveIsInDictionary(std::wstring nominative)
{ {
for (auto& adjective : AdjectiveRecordArr) for (auto& adjective : AdjectiveRecordArr)
@ -185,11 +227,11 @@ namespace AJ
return{}; return{};
} }
/* /*
std::set<std::wstring> GetAdjectiveNominative(std::wstring base, AdjectiveDeclencion declencion, NounCount nounCount) std::set<std::wstring> GetAdjectiveNominative(std::wstring base, AdjectiveDeclencion declencion, NounCount nounCount)
{ {
std::set<std::wstring> result; std::set<std::wstring> result;
AdjectiveDeclencionCaseTableRecord declencionCaseTableRecord = adjectiveDeclencionCaseTable[static_cast<int>(declencion)]; AdjectiveDeclencionCaseTableRecord declencionCaseTableRecord = adjectiveDeclencionCaseTable[static_cast<int>(declencion)];
@ -206,16 +248,16 @@ namespace AJ
} }
} }
return result; return result;
}*/ }*/
std::set<std::wstring> GetNominativeMaleSingular(std::wstring base) std::set<std::wstring> GetNominativeMaleSingular(std::wstring base)
{ {
std::wstring result; std::wstring result;
if (charIsIFormConsolant(base[base.size() - 1])) if (charIsIFormConsolant(base[base.size() - 1]))
{ {
return{ base + L"èé" }; return{ base + L"èé", base + L"îé" };
} }
if (charIsUFormConsolant(base[base.size() - 1])) if (charIsUFormConsolant(base[base.size() - 1]))
@ -224,59 +266,71 @@ namespace AJ
} }
return{}; return{};
} }
bool IsDeclencionAnimated(AdjectiveDeclencion declention) bool IsDeclencionAnimated(AdjectiveDeclencion declention)
{ {
switch (declention) switch (declention)
{ {
case AJ::IFORM_MALE_ANIMATE: case AJ::IFORM_MALE_ANIMATE:
case AJ::UOFORM_MALE_ANIMATE: case AJ::UFORM_MALE_ANIMATE:
case AJ::IFORM_FEMALE_ANIMATE: case AJ::UOFORM_MALE_ANIMATE:
case AJ::UOFORM_FEMALE_ANIMATE: case AJ::IOFORM_MALE_ANIMATE:
return true; case AJ::IFORM_FEMALE_ANIMATE:
break; case AJ::UFORM_FEMALE_ANIMATE:
default: case AJ::UOFORM_FEMALE_ANIMATE:
return false; case AJ::IOFORM_FEMALE_ANIMATE:
break; return true;
} break;
} default:
return false;
break;
NounGender GetGenderFromDeclencion(AdjectiveDeclencion declention) }
{ }
switch (declention)
{
case AJ::IFORM_MALE_INANIMATE: NounGender GetGenderFromDeclencion(AdjectiveDeclencion declention)
case AJ::IFORM_MALE_ANIMATE: {
case AJ::UOFORM_MALE_INANIMATE: switch (declention)
case AJ::UOFORM_MALE_ANIMATE: {
return NG_MALE; case AJ::IFORM_MALE_INANIMATE:
break; case AJ::IFORM_MALE_ANIMATE:
case AJ::IFORM_FEMALE_INANIMATE: case AJ::UFORM_MALE_INANIMATE:
case AJ::IFORM_FEMALE_ANIMATE: case AJ::UFORM_MALE_ANIMATE:
case AJ::UOFORM_FEMALE_INANIMATE: case AJ::UOFORM_MALE_INANIMATE:
case AJ::UOFORM_FEMALE_ANIMATE: case AJ::UOFORM_MALE_ANIMATE:
return NG_FEMALE; case AJ::IOFORM_MALE_INANIMATE:
break; case AJ::IOFORM_MALE_ANIMATE:
default: return NG_MALE;
return NG_NEUTRAL; break;
break; case AJ::IFORM_FEMALE_INANIMATE:
} case AJ::IFORM_FEMALE_ANIMATE:
} case AJ::UFORM_FEMALE_INANIMATE:
case AJ::UFORM_FEMALE_ANIMATE:
case AJ::UOFORM_FEMALE_INANIMATE:
bool IFormTest(const AdjectiveRecord& r) case AJ::UOFORM_FEMALE_ANIMATE:
{ case AJ::IOFORM_FEMALE_INANIMATE:
return charIsIFormConsolant(r.nominativeMaleForm[r.nominativeMaleForm.size() - 3]); case AJ::IOFORM_FEMALE_ANIMATE:
} return NG_FEMALE;
break;
bool UOFormTest(const AdjectiveRecord& r) default:
{ return NG_NEUTRAL;
return charIsUFormConsolant(r.nominativeMaleForm[r.nominativeMaleForm.size() - 3]); break;
} }
}
bool IFormTest(const AdjectiveRecord& r)
{
return charIsIFormConsolant(r.nominativeMaleForm[r.nominativeMaleForm.size() - 3]);
}
bool UFormTest(const AdjectiveRecord& r)
{
return charIsUFormConsolant(r.nominativeMaleForm[r.nominativeMaleForm.size() - 3]);
}
std::map<AdjectiveDeclencion, std::function < bool(const AdjectiveRecord&) >> DeclentionConditionMap; std::map<AdjectiveDeclencion, std::function < bool(const AdjectiveRecord&) >> DeclentionConditionMap;
@ -285,20 +339,31 @@ namespace AJ
DeclentionConditionMap[IFORM_MALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1); DeclentionConditionMap[IFORM_MALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[IFORM_MALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1); DeclentionConditionMap[IFORM_MALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_MALE_INANIMATE] = std::bind(UOFormTest, std::placeholders::_1); DeclentionConditionMap[UFORM_MALE_INANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_MALE_ANIMATE] = std::bind(UOFormTest, std::placeholders::_1); DeclentionConditionMap[UFORM_MALE_ANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_MALE_INANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_MALE_ANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[IOFORM_MALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[IOFORM_MALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[IFORM_FEMALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1); DeclentionConditionMap[IFORM_FEMALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[IFORM_FEMALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1); DeclentionConditionMap[IFORM_FEMALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_FEMALE_INANIMATE] = std::bind(UOFormTest, std::placeholders::_1); DeclentionConditionMap[UFORM_FEMALE_INANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_FEMALE_ANIMATE] = std::bind(UOFormTest, std::placeholders::_1); DeclentionConditionMap[UFORM_FEMALE_ANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[IOFORM_FEMALE_INANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[IOFORM_FEMALE_ANIMATE] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_FEMALE_INANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_FEMALE_ANIMATE] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[IFORM_NEUTRAL] = std::bind(IFormTest, std::placeholders::_1); DeclentionConditionMap[IFORM_NEUTRAL] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_NEUTRAL] = std::bind(UOFormTest, std::placeholders::_1); DeclentionConditionMap[UFORM_NEUTRAL] = std::bind(UFormTest, std::placeholders::_1);
DeclentionConditionMap[IOFORM_NEUTRAL] = std::bind(IFormTest, std::placeholders::_1);
DeclentionConditionMap[UOFORM_NEUTRAL] = std::bind(UFormTest, std::placeholders::_1);
} }
bool AdjectiveFitsDeclention(AdjectiveRecord record, AdjectiveTuple tuple) bool AdjectiveFitsDeclention(AdjectiveRecord record, AdjectiveTuple tuple)
{ {
@ -312,7 +377,7 @@ namespace AJ
} }
return false; return false;
} }
std::map < AdjectiveEndingDivision::DivisionCase, std::function < bool(AdjectiveTuple) >> DivisionCaseAdjectiveTupleFilterMap; std::map < AdjectiveEndingDivision::DivisionCase, std::function < bool(AdjectiveTuple) >> DivisionCaseAdjectiveTupleFilterMap;
@ -332,16 +397,16 @@ namespace AJ
return AdjectiveFitsDeclention(record, tuple); return AdjectiveFitsDeclention(record, tuple);
}; };
} }
std::set<AdjectiveStruct> RecognizeAdjective(std::wstring noun) std::set<AdjectiveStruct> RecognizeAdjective(std::wstring noun)
{ {
std::set<AdjectiveStruct> result; std::set<AdjectiveStruct> result;
auto adjectiveEndingDivisionArr = getPossibleAdjectiveEndingDivisionSet(noun); auto adjectiveEndingDivisionArr = getPossibleAdjectiveEndingDivisionSet(noun);
for (auto adjectiveEndingDivision : adjectiveEndingDivisionArr) for (auto adjectiveEndingDivision : adjectiveEndingDivisionArr)
{ {
std::wstring base = adjectiveEndingDivision.base; std::wstring base = adjectiveEndingDivision.base;
std::wstring ending = adjectiveEndingDivision.ending; std::wstring ending = adjectiveEndingDivision.ending;
AdjectiveEndingDivision::DivisionCase dc = adjectiveEndingDivision.divisionCase; AdjectiveEndingDivision::DivisionCase dc = adjectiveEndingDivision.divisionCase;
@ -350,11 +415,11 @@ namespace AJ
std::wstring modifiedEnding = ending; std::wstring modifiedEnding = ending;
std::vector<AdjectiveTuple> possibleTupleArr = GetPossibleTupleArr(modifiedEnding); std::vector<AdjectiveTuple> possibleTupleArr = GetPossibleTupleArr(modifiedEnding);
for (AdjectiveTuple tuple : possibleTupleArr) for (AdjectiveTuple tuple : possibleTupleArr)
{ {
if (DivisionCaseAdjectiveTupleFilterMap[dc](tuple)) if (DivisionCaseAdjectiveTupleFilterMap[dc](tuple))
{ {
std::set<std::wstring> nominaviteSingularSet = GetNominativeMaleSingular(modifiedBase); std::set<std::wstring> nominaviteSingularSet = GetNominativeMaleSingular(modifiedBase);
for (auto& nn : nominaviteSingularSet) for (auto& nn : nominaviteSingularSet)
@ -371,16 +436,16 @@ namespace AJ
} }
} }
} }
} }
} }
} }
return result; return result;
} }
void LoadAdjectiveDeclencionCaseTable() void LoadAdjectiveDeclencionCaseTable()
{ {
@ -461,8 +526,8 @@ namespace AJ
} }
} }
void LoadFrequentAdjectiveSet() void LoadFrequentAdjectiveSet()
{ {
@ -500,8 +565,8 @@ namespace AJ
} }
} }
} //namespace AJ } //namespace AJ

View File

@ -89,14 +89,24 @@ namespace AJ
{ {
IFORM_MALE_INANIMATE = 0, IFORM_MALE_INANIMATE = 0,
IFORM_MALE_ANIMATE, IFORM_MALE_ANIMATE,
UFORM_MALE_INANIMATE,
UFORM_MALE_ANIMATE,
UOFORM_MALE_INANIMATE, UOFORM_MALE_INANIMATE,
UOFORM_MALE_ANIMATE, UOFORM_MALE_ANIMATE,
IOFORM_MALE_INANIMATE,
IOFORM_MALE_ANIMATE,
IFORM_FEMALE_INANIMATE, IFORM_FEMALE_INANIMATE,
IFORM_FEMALE_ANIMATE, IFORM_FEMALE_ANIMATE,
UFORM_FEMALE_INANIMATE,
UFORM_FEMALE_ANIMATE,
UOFORM_FEMALE_INANIMATE, UOFORM_FEMALE_INANIMATE,
UOFORM_FEMALE_ANIMATE, UOFORM_FEMALE_ANIMATE,
IOFORM_FEMALE_INANIMATE,
IOFORM_FEMALE_ANIMATE,
IFORM_NEUTRAL, IFORM_NEUTRAL,
UFORM_NEUTRAL,
UOFORM_NEUTRAL, UOFORM_NEUTRAL,
IOFORM_NEUTRAL,
}; };

View File

@ -1,6 +1,6 @@
#include "grammarCase.h" #include "grammarCase.h"
#include <iostream> #include <iostream>
NounCount WStringToNounCount(std::wstring str) NounCount WStringToNounCount(std::wstring str)
{ {
@ -78,10 +78,10 @@ NounGrammaticalCase WStringToNounGrammaticalCase(std::wstring str)
std::cout << "Error in WStringToNounGrammaticalCase!" << std::endl; std::cout << "Error in WStringToNounGrammaticalCase!" << std::endl;
return NGC_P1_NOMINATIVE; return NGC_P1_NOMINATIVE;
} }
bool charIsConsolant(wchar_t c) //except é bool charIsConsolant(wchar_t c) //except é
{ {

View File

@ -152,8 +152,6 @@ namespace http {
std::set<NN::NounStruct> nounStructArr = NN::RecognizeNoun(request); std::set<NN::NounStruct> nounStructArr = NN::RecognizeNoun(request);
std::cout <<"nounstructarr" << nounStructArr.size() << std::endl;
id = 0; id = 0;
boost::property_tree::wptree nounArr; boost::property_tree::wptree nounArr;
@ -163,25 +161,26 @@ namespace http {
boost::property_tree::wptree nounTree; boost::property_tree::wptree nounTree;
nounTree.put(L"id", id); nounTree.put(L"id", id);
nounTree.put(L"grammaticalCase", NounGrammaticalCaseToWString(nounStruct.nounGrammaticalCase)); nounTree.put(L"word", "noun");
nounTree.put(L"animated", nounStruct.animated); nounTree.put(L"noun.grammaticalCase", NounGrammaticalCaseToWString(nounStruct.nounGrammaticalCase));
nounTree.put(L"count", NounCountToWString(nounStruct.nounCount)); nounTree.put(L"noun.animated", nounStruct.animated);
nounTree.put(L"canBeAnimate", nounStruct.nounRecord.canBeAnimate); nounTree.put(L"noun.count", NounCountToWString(nounStruct.nounCount));
nounTree.put(L"canBeInanimate", nounStruct.nounRecord.canBeInanimate); nounTree.put(L"noun.canBeAnimate", nounStruct.nounRecord.canBeAnimate);
nounTree.put(L"gender", nounStruct.nounRecord.gender); nounTree.put(L"noun.canBeInanimate", nounStruct.nounRecord.canBeInanimate);
nounTree.put(L"haveMultipleForm", nounStruct.nounRecord.haveMultipleForm); nounTree.put(L"noun.gender", nounStruct.nounRecord.gender);
nounTree.put(L"haveSingleForm", nounStruct.nounRecord.haveSingleForm); nounTree.put(L"noun.haveMultipleForm", nounStruct.nounRecord.haveMultipleForm);
nounTree.put(L"haveStandardMultipleForm", nounStruct.nounRecord.haveStandardMultipleForm); nounTree.put(L"noun.haveSingleForm", nounStruct.nounRecord.haveSingleForm);
nounTree.put(L"haveStandardMultipleFormWithMissingLastVowel", nounStruct.nounRecord.haveStandardMultipleFormWithMissingLastVowel); nounTree.put(L"noun.haveStandardMultipleForm", nounStruct.nounRecord.haveStandardMultipleForm);
nounTree.put(L"specialMultipleForm", nounStruct.nounRecord.specialMultipleForm); nounTree.put(L"noun.haveStandardMultipleFormWithMissingLastVowel", nounStruct.nounRecord.haveStandardMultipleFormWithMissingLastVowel);
nounTree.put(L"noun.specialMultipleForm", nounStruct.nounRecord.specialMultipleForm);
nounTree.put(L"nominativeSingularForm", nounStruct.nounRecord.nominativeForm); nounTree.put(L"noun.nominativeSingularForm", nounStruct.nounRecord.nominativeForm);
nounArr.push_back(std::make_pair(L"", nounTree)); nounArr.push_back(std::make_pair(L"", nounTree));
id++; id++;
} }
result.put_child(L"nouns", nounArr); //result.put_child(L"words", nounArr);
//Adjective! //Adjective!
@ -189,27 +188,27 @@ namespace http {
id = 0; id = 0;
boost::property_tree::wptree adjectiveArr;
for (auto& adjectiveStruct : adjectiveStructArr) for (auto& adjectiveStruct : adjectiveStructArr)
{ {
boost::property_tree::wptree adjectivrTree; boost::property_tree::wptree adjectivrTree;
adjectivrTree.put(L"id", id); adjectivrTree.put(L"id", id);
adjectivrTree.put(L"grammaticalCase", NounGrammaticalCaseToWString(adjectiveStruct.grammaticalCase)); adjectivrTree.put(L"word", "adjective");
adjectivrTree.put(L"animated", adjectiveStruct.isDeclentionAnimated); adjectivrTree.put(L"adjective.grammaticalCase", NounGrammaticalCaseToWString(adjectiveStruct.grammaticalCase));
adjectivrTree.put(L"count", NounCountToWString(adjectiveStruct.count)); adjectivrTree.put(L"adjective.animated", adjectiveStruct.isDeclentionAnimated);
adjectivrTree.put(L"adjective.count", NounCountToWString(adjectiveStruct.count));
adjectivrTree.put(L"gender", adjectiveStruct.gender); adjectivrTree.put(L"adjective.gender", adjectiveStruct.gender);
adjectivrTree.put(L"adjective.nominativeSingularForm", adjectiveStruct.adjectiveRecord.nominativeMaleForm);
adjectivrTree.put(L"nominativeSingularForm", adjectiveStruct.adjectiveRecord.nominativeMaleForm); nounArr.push_back(std::make_pair(L"", adjectivrTree));
adjectiveArr.push_back(std::make_pair(L"", adjectivrTree));
id++; id++;
} }
result.put_child(L"adjectives", adjectiveArr); result.put_child(L"words", nounArr);

View File

@ -74,6 +74,8 @@ LOCAL_SRC_FILES += ../http/server.cpp
LOCAL_SRC_FILES += ../utf8utf16.cpp LOCAL_SRC_FILES += ../utf8utf16.cpp
LOCAL_SRC_FILES += ../noun.cpp LOCAL_SRC_FILES += ../noun.cpp
LOCAL_SRC_FILES += ../adjective.cpp
LOCAL_SRC_FILES += ../grammarCase.cpp
LOCAL_SRC_FILES += ../main.cpp LOCAL_SRC_FILES += ../main.cpp