utf8 dammit
This commit is contained in:
		
							parent
							
								
									9f3772b604
								
							
						
					
					
						commit
						cae8c7c0f4
					
				@ -1,4 +1,4 @@
 | 
				
			|||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "boost/asio.hpp"
 | 
					#include "boost/asio.hpp"
 | 
				
			||||||
@ -25,7 +25,7 @@ int main()
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	std::wstring s(L"óðîäàì");
 | 
						std::wstring s(L"уродам");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	std::vector<NounStruct> recognizedResultArr = RecognizeNoun(s);
 | 
						std::vector<NounStruct> recognizedResultArr = RecognizeNoun(s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#include "noun.h"
 | 
					#include "noun.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <iostream> //Xperimental -- for debug only
 | 
					#include <iostream> //Xperimental -- for debug only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,28 +55,28 @@ std::vector<std::wstring> GetAllNounEndingArr()
 | 
				
			|||||||
	std::vector<std::wstring> result
 | 
						std::vector<std::wstring> result
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		L"",
 | 
							L"",
 | 
				
			||||||
		L"à",
 | 
							L"א",
 | 
				
			||||||
		L"è",
 | 
							L"ט",
 | 
				
			||||||
		L"å",
 | 
							L"ו",
 | 
				
			||||||
		L"ó",
 | 
							L"ף",
 | 
				
			||||||
		L"îé",
 | 
							L"מי",
 | 
				
			||||||
		L"û",
 | 
							L"",
 | 
				
			||||||
		L"îì",
 | 
							L"מל",
 | 
				
			||||||
		L"ü",
 | 
							L"",
 | 
				
			||||||
		L"ÿ",
 | 
							L"",
 | 
				
			||||||
		L"þ",
 | 
							L"",
 | 
				
			||||||
		L"åì",
 | 
							L"ול",
 | 
				
			||||||
		L"î",
 | 
							L"מ",
 | 
				
			||||||
		L"üþ",
 | 
							L"",
 | 
				
			||||||
		L"àì",
 | 
							L"אל",
 | 
				
			||||||
		L"àìè",
 | 
							L"אלט",
 | 
				
			||||||
		L"àõ",
 | 
							L"אץ",
 | 
				
			||||||
		L"îâ",
 | 
							L"מג",
 | 
				
			||||||
		L"åé",
 | 
							L"וי",
 | 
				
			||||||
		L"ÿì",
 | 
							L"ל",
 | 
				
			||||||
		L"ÿõ",
 | 
							L"ץ",
 | 
				
			||||||
		L"ÿ",
 | 
							L"",
 | 
				
			||||||
		L"ÿìè",
 | 
							L"לט",
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return result;
 | 
						return result;
 | 
				
			||||||
@ -87,107 +87,107 @@ std::map<NounTuple, StringSet> getNounEndingTable()
 | 
				
			|||||||
	std::map<NounTuple, StringSet> result;
 | 
						std::map<NounTuple, StringSet> result;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//Singular
 | 
						//Singular
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{ L"à" };
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{ L"א" };
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ó"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ף"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{ L"îé", L"îþ" };
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{ L"מי", L"מ" };
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"à"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"א"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"û"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ó"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ף"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{ L"îé", L"îþ", L"åé", L"åþ" };
 | 
						result[NounTuple{ ND_1_HARD, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{ L"מי", L"מ", L"וי", L"ו" };
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"à"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"א"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ó"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ף"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"îì"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"מל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"ü"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"ÿ"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"þ"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ü"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"åì"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"ול"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"î"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"מ"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"à"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"א"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ó"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ף"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"î"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"מ"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"îì"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"מל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"ÿ"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"þ"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"åì"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"ול"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"å"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ו"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L"ü"};
 | 
						result[NounTuple{ ND_3, NGC_P1_NOMINATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_3, NGC_P2_GENITIVE, NPF_SINGULAR }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_3, NGC_P3_DATIVE, NPF_SINGULAR }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L"ü"};
 | 
						result[NounTuple{ ND_3, NGC_P4_ACCUSATIVE, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L"üþ"};
 | 
						result[NounTuple{ ND_3, NGC_P5_INSTRUMENTAL, NPF_SINGULAR }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_3, NGC_P6_PREPOSITIONAL, NPF_SINGULAR }] = StringSet{L"ט"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//Plural
 | 
						//Plural
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""}; //Xperimental -- need special modificator for suffix
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""}; //Xperimental -- need special modificator for suffix
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"àì"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"אל"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"àìè"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"אלט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_SOFT, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"àõ"};
 | 
						result[NounTuple{ ND_1_SOFT, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"אץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"àì"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"אל"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"àìè"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"אלט"};
 | 
				
			||||||
	result[NounTuple{ ND_1_HARD, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"àõ"};
 | 
						result[NounTuple{ ND_1_HARD, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"אץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"û"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"îâ"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"מג"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"àì"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"אל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"û"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"àìè"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"אלט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_HARD_MALE, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"àõ"};
 | 
						result[NounTuple{ ND_2_HARD_MALE, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"אץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"åé"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"וי"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ÿì"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_SOFT_MALE, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ÿõ"};
 | 
						result[NounTuple{ ND_2_SOFT_MALE, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"à"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"א"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"àì"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"אל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"à"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"א"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"àìè"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"אלט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_O, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"àõ"};
 | 
						result[NounTuple{ ND_2_NEUTER_O, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"אץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"ÿ"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"åé"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"וי"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ÿì"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ל"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"ÿ"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L""};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"ÿìè"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"לט"};
 | 
				
			||||||
	result[NounTuple{ ND_2_NEUTER_E, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ÿõ"};
 | 
						result[NounTuple{ ND_2_NEUTER_E, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_3, NGC_P1_NOMINATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"åé"};
 | 
						result[NounTuple{ ND_3, NGC_P2_GENITIVE, NPF_PLURAL }] = StringSet{L"וי"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ÿì"};
 | 
						result[NounTuple{ ND_3, NGC_P3_DATIVE, NPF_PLURAL }] = StringSet{L"ל"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"è"};
 | 
						result[NounTuple{ ND_3, NGC_P4_ACCUSATIVE, NPF_PLURAL }] = StringSet{L"ט"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"ÿìè"};
 | 
						result[NounTuple{ ND_3, NGC_P5_INSTRUMENTAL, NPF_PLURAL }] = StringSet{L"לט"};
 | 
				
			||||||
	result[NounTuple{ ND_3, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ÿõ"};
 | 
						result[NounTuple{ ND_3, NGC_P6_PREPOSITIONAL, NPF_PLURAL }] = StringSet{L"ץ"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return result;
 | 
						return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -215,19 +215,19 @@ std::set<NounDeclencion> GetPossibleNounDeclencionSet(std::wstring nounNominativ
 | 
				
			|||||||
	wchar_t lastChar = nounNominative[nounNominative.size()-1];
 | 
						wchar_t lastChar = nounNominative[nounNominative.size()-1];
 | 
				
			||||||
	wchar_t prevLastChar = nounNominative[nounNominative.size() - 2];
 | 
						wchar_t prevLastChar = nounNominative[nounNominative.size() - 2];
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	if (lastChar == L'à')
 | 
						if (lastChar == L'א')
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return{ ND_1_HARD, ND_1_SOFT };
 | 
							return{ ND_1_HARD, ND_1_SOFT };
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (lastChar == L'î')
 | 
						if (lastChar == L'מ')
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return{ ND_2_NEUTER_O };
 | 
							return{ ND_2_NEUTER_O };
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (lastChar == L'å')
 | 
						if (lastChar == L'ו')
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return{ ND_2_NEUTER_E };
 | 
							return{ ND_2_NEUTER_E };
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (lastChar == L'ü')
 | 
						if (lastChar == L'')
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return{ ND_2_SOFT_MALE };
 | 
							return{ ND_2_SOFT_MALE };
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -237,7 +237,7 @@ std::set<NounDeclencion> GetPossibleNounDeclencionSet(std::wstring nounNominativ
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool charIsConsolant(wchar_t c)
 | 
					bool charIsConsolant(wchar_t c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::wstring consolants = L"éöêíãøùçõôâïðëäæ÷ñìòá";
 | 
						std::wstring consolants = L"יצךםדרשחץפגןנכהזקסלעב";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (wchar_t ic : consolants)
 | 
						for (wchar_t ic : consolants)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -252,7 +252,7 @@ bool charIsConsolant(wchar_t c)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool charIsVowel(wchar_t c)
 | 
					bool charIsVowel(wchar_t c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::wstring vovels = L"àîóûýÿ¸þèå";
 | 
						std::wstring vovels = L"אמף¸טו";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (wchar_t ic : vovels)
 | 
						for (wchar_t ic : vovels)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#ifndef NOUN_H_INCLUDED
 | 
					#ifndef NOUN_H_INCLUDED
 | 
				
			||||||
#define NOUN_H_INCLUDED
 | 
					#define NOUN_H_INCLUDED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
@ -11,13 +11,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
enum NounDeclencion
 | 
					enum NounDeclencion
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ND_1_HARD, // Ïàïà (ïàïû)
 | 
						ND_1_HARD, // Папа (папы)
 | 
				
			||||||
	ND_1_SOFT, // Äîñêà (äîñêè) 
 | 
						ND_1_SOFT, // Доска (доски) 
 | 
				
			||||||
	ND_2_HARD_MALE, // Òðàêòîð (òðàêòîðû)
 | 
						ND_2_HARD_MALE, // Трактор (тракторы)
 | 
				
			||||||
	ND_2_SOFT_MALE, // Òîïîëü (òîïîëè)
 | 
						ND_2_SOFT_MALE, // Тополь (тополи)
 | 
				
			||||||
	ND_2_NEUTER_O, // Áðåâíî (áð¸âíà)
 | 
						ND_2_NEUTER_O, // Бревно (брёвна)
 | 
				
			||||||
	ND_2_NEUTER_E, // Ïîëå (ïîëÿ)
 | 
						ND_2_NEUTER_E, // Поле (поля)
 | 
				
			||||||
	ND_3 // Ëîøàäü  
 | 
						ND_3 // Лошадь  
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum NounGrammaticalCase
 | 
					enum NounGrammaticalCase
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#include "utf8utf16.h"
 | 
					#include "utf8utf16.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
#include <locale>
 | 
					#include <locale>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#ifndef UTF8UTF16_H_INCLUDED
 | 
					#ifndef UTF8UTF16_H_INCLUDED
 | 
				
			||||||
#define UTF8UTF16_H_INCLUDED
 | 
					#define UTF8UTF16_H_INCLUDED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user