Commit 5079355184047c949c64176e643d6c6880d2278b

Authored by Michał Lenart
1 parent 51637b09

- poprawki w ładowaniu słowników (można załadować customowy słownik już podczas createInstance)

git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/trunk@272 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
CMakeLists.txt
... ... @@ -228,7 +228,9 @@ if (UNIX)
228 228 endforeach()
229 229 endif()
230 230  
231   -if (UNIX)
  231 +if (UNIX AND EMBEDDED_DEFAULT_DICT)
232 232 add_test(TestJavaWrapper ./testJavaWrapper.sh "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
233 233 add_test(TestPythonWrapper ./testPythonWrapper.sh "${PROJECT_BINARY_DIR}")
  234 +else ()
  235 + message(WARNING "Will skip Java and Python wrapper tests - must be on UNIX and with EMBEDDED_DEFAULT_DICT on to run them")
234 236 endif ()
... ...
morfeusz/Dictionary.cpp
... ... @@ -31,6 +31,22 @@ namespace morfeusz {
31 31 }
32 32 return res;
33 33 }
  34 +
  35 + Dictionary* Dictionary::getEmpty() {
  36 + static Dictionary* dict = new Dictionary();
  37 + return dict;
  38 + }
  39 +
  40 + Dictionary::Dictionary()
  41 + : fsa(NULL),
  42 + idResolver(),
  43 + separatorsList(),
  44 + segrulesFSAsMap(),
  45 + defaultSegrulesOptions(),
  46 + defaultSegrulesFSA(NULL),
  47 + availableAgglOptions(),
  48 + availablePraetOptions() {
  49 + }
34 50  
35 51 Dictionary::Dictionary(const unsigned char* fsaFileStartPtr, MorfeuszProcessorType processorType)
36 52 : fsa(FSAType::getFSA(fsaFileStartPtr, initializeDeserializer(processorType))),
... ...
morfeusz/Dictionary.hpp
... ... @@ -25,8 +25,12 @@ namespace morfeusz {
25 25 struct Dictionary {
26 26 Dictionary(const unsigned char* ptr, MorfeuszProcessorType processorType);
27 27  
  28 + Dictionary();
  29 +
28 30 bool isCompatibleWith(const Dictionary& other) const;
29 31  
  32 + static Dictionary* getEmpty();
  33 +
30 34 FSAType* fsa;
31 35 IdResolverImpl idResolver;
32 36 std::vector<uint32_t> separatorsList;
... ...
morfeusz/Environment.cpp
... ... @@ -17,14 +17,16 @@
17 17 #include "DictionariesRepository.hpp"
18 18  
19 19 namespace morfeusz {
20   -
  20 +
21 21 using namespace std;
22 22  
23   - Environment::Environment(MorfeuszProcessorType processorType, bool usable)
  23 + Environment::Environment(const string& dictName, MorfeuszProcessorType processorType, bool usable)
24 24 : usable(usable),
25 25 currentCharsetConverter(getCharsetConverter(DEFAULT_MORFEUSZ_CHARSET)),
26 26 caseConverter(),
27   - dictionary(DictionariesRepository::getInstance().getDefaultDictionary(processorType)),
  27 + dictionary(usable
  28 + ? DictionariesRepository::getInstance().getDictionary(dictName, processorType)
  29 + : Dictionary::getEmpty()),
28 30 idResolver(dictionary->idResolver),
29 31 currSegrulesOptions(dictionary->defaultSegrulesOptions),
30 32 currSegrulesFSA(dictionary->defaultSegrulesFSA),
... ... @@ -86,17 +88,19 @@ namespace morfeusz {
86 88 }
87 89  
88 90 void Environment::setSegrulesOption(const std::string& option, const std::string& value) {
89   - if (this->currSegrulesOptions.find(option) == this->currSegrulesOptions.end()) {
90   - throw MorfeuszException("Invalid segmentation option '" + option + "'");
91   - }
92   - SegrulesOptions prevOptions = this->currSegrulesOptions;
93   - this->currSegrulesOptions[option] = value;
94   - if (this->dictionary->segrulesFSAsMap.find(this->currSegrulesOptions) == this->dictionary->segrulesFSAsMap.end()) {
95   - this->currSegrulesOptions = prevOptions;
96   -
97   - throw MorfeuszException("Invalid \"" + option + "\" option: \"" + value + "\". Possible values: "+getAvailableOptionsAsString(option));
  91 + if (this->isUsable()) {
  92 + if (this->currSegrulesOptions.find(option) == this->currSegrulesOptions.end()) {
  93 + throw MorfeuszException("Invalid segmentation option '" + option + "'");
  94 + }
  95 + SegrulesOptions prevOptions = this->currSegrulesOptions;
  96 + this->currSegrulesOptions[option] = value;
  97 + if (this->dictionary->segrulesFSAsMap.find(this->currSegrulesOptions) == this->dictionary->segrulesFSAsMap.end()) {
  98 + this->currSegrulesOptions = prevOptions;
  99 +
  100 + throw MorfeuszException("Invalid \"" + option + "\" option: \"" + value + "\". Possible values: " + getAvailableOptionsAsString(option));
  101 + }
  102 + this->currSegrulesFSA = this->dictionary->segrulesFSAsMap.find(this->currSegrulesOptions)->second;
98 103 }
99   - this->currSegrulesFSA = this->dictionary->segrulesFSAsMap.find(this->currSegrulesOptions)->second;
100 104 }
101 105  
102 106 MorfeuszProcessorType Environment::getProcessorType() const {
... ... @@ -129,13 +133,12 @@ namespace morfeusz {
129 133 currSegrulesOptions = dictionary->defaultSegrulesOptions;
130 134 currSegrulesFSA = dictionary->defaultSegrulesFSA;
131 135 }
132   -
  136 +
133 137 string Environment::getAvailableOptionsAsString(const string& option) const {
134 138 const set<string>* options;
135 139 if (option == "aggl") {
136 140 options = &dictionary->availableAgglOptions;
137   - }
138   - else {
  141 + } else {
139 142 options = &dictionary->availablePraetOptions;
140 143 }
141 144 string res;
... ... @@ -151,7 +154,7 @@ namespace morfeusz {
151 154 }
152 155 return res;
153 156 }
154   -
  157 +
155 158 const set<string>& Environment::getAvailableAgglOptions() const {
156 159 return this->dictionary->availableAgglOptions;
157 160 }
... ...
morfeusz/Environment.hpp
... ... @@ -43,7 +43,7 @@ public:
43 43 * @param morfeuszProcessor
44 44 * @param fileStartPtr
45 45 */
46   - explicit Environment(MorfeuszProcessorType morfeuszProcessor, bool usable);
  46 + Environment(const std::string& dictName, MorfeuszProcessorType morfeuszProcessor, bool usable);
47 47  
48 48 /**
49 49 * Sets charset for this environment.
... ...
morfeusz/IdResolverImpl.cpp
... ... @@ -46,6 +46,15 @@ namespace morfeusz {
46 46 }
47 47 createReverseMapping(mapping);
48 48 }
  49 +
  50 + IdResolverImpl::IdResolverImpl()
  51 + : tags(),
  52 + names(),
  53 + labels(),
  54 + labelsAsSets(),
  55 + charsetConverter(&UTF8CharsetConverter::getInstance()) {
  56 +
  57 + }
49 58  
50 59 IdResolverImpl::IdResolverImpl(const unsigned char* ptr, const CharsetConverter* charsetConverter)
51 60 : tags(),
... ...
morfeusz/IdResolverImpl.hpp
... ... @@ -21,6 +21,8 @@ namespace morfeusz {
21 21  
22 22 IdResolverImpl(const unsigned char* ptr, const CharsetConverter* charsetConverter);
23 23  
  24 + IdResolverImpl();
  25 +
24 26 void setCharsetConverter(const CharsetConverter* charsetConverter);
25 27  
26 28 const std::string& getTag(const int tagId) const;
... ... @@ -53,9 +55,7 @@ namespace morfeusz {
53 55 IdStringMapping names;
54 56 IdStringMapping labels;
55 57 std::vector< std::set<std::string> > labelsAsSets;
56   -//
57   -// std::vector<std::string> tags;
58   -// std::vector<std::string> names;
  58 +
59 59 const CharsetConverter* charsetConverter;
60 60 };
61 61  
... ...
morfeusz/Morfeusz.cpp
... ... @@ -18,11 +18,14 @@ namespace morfeusz {
18 18 }
19 19  
20 20 Morfeusz* Morfeusz::createInstance(MorfeuszUsage usage) {
21   - return new MorfeuszImpl(usage);
  21 + return new MorfeuszImpl(Morfeusz::getDefaultDictName(), usage);
  22 + }
  23 +
  24 + Morfeusz* Morfeusz::createInstance(const std::string& dictName, MorfeuszUsage usage) {
  25 + return new MorfeuszImpl(dictName, usage);
22 26 }
23 27  
24 28 Morfeusz::~Morfeusz() {
25   -
26 29 }
27 30  
28 31 static list<string> initializeDictionarySearchPaths() {
... ...
morfeusz/MorfeuszImpl.cpp
... ... @@ -113,11 +113,11 @@ namespace morfeusz {
113 113 return ic;
114 114 }
115 115  
116   - MorfeuszImpl::MorfeuszImpl(MorfeuszUsage usage)
117   - : currDictionary(MORFEUSZ_DEFAULT_DICT_NAME),
  116 + MorfeuszImpl::MorfeuszImpl(const string& dictName, MorfeuszUsage usage)
  117 + : currDictionary(dictName),
118 118 usage(usage),
119   - analyzerEnv(ANALYZER, usage != GENERATE_ONLY),
120   - generatorEnv(GENERATOR, usage != ANALYSE_ONLY),
  119 + analyzerEnv(dictName, ANALYZER, usage != GENERATE_ONLY),
  120 + generatorEnv(dictName, GENERATOR, usage != ANALYSE_ONLY),
121 121 options(createDefaultOptions()),
122 122 accum(),
123 123 notMatchingCaseSegs(0),
... ... @@ -181,6 +181,7 @@ namespace morfeusz {
181 181 }
182 182  
183 183 MorfeuszImpl::~MorfeuszImpl() {
  184 + cerr << "DELETE MorfeuszImpl" << endl;
184 185 }
185 186  
186 187 const char* getWordEndPtr(const TextReader& reader, const Environment& env) {
... ...
morfeusz/MorfeuszImpl.hpp
... ... @@ -52,7 +52,7 @@ namespace morfeusz {
52 52 */
53 53 class MorfeuszImpl : public Morfeusz {
54 54 public:
55   - MorfeuszImpl(MorfeuszUsage usage);
  55 + MorfeuszImpl(const std::string& dictName, MorfeuszUsage usage);
56 56 //
57 57 // void setAnalyzerDictionary(const std::string& filename);
58 58 //
... ...
morfeusz/cli/cli.cpp
... ... @@ -33,7 +33,7 @@ namespace morfeusz {
33 33 0, // Delimiter if expecting multiple args.
34 34 "Display usage instructions.\n", // Help description.
35 35 "-h", // Flag token.
36   -// "-help", // Flag token.
  36 + // "-help", // Flag token.
37 37 "--help" // Flag token.
38 38 );
39 39  
... ... @@ -44,7 +44,7 @@ namespace morfeusz {
44 44 0, // Delimiter if expecting multiple args.
45 45 "dictionary name\n", // Help description.
46 46 "-d", // Flag token.
47   -// "-dict", // Flag token.
  47 + // "-dict", // Flag token.
48 48 "--dict" // Flag token.
49 49 );
50 50  
... ... @@ -54,7 +54,7 @@ namespace morfeusz {
54 54 1, // Number of args expected.
55 55 0, // Delimiter if expecting multiple args.
56 56 "directory containing the dictionary (optional)\n", // Help description.
57   -// "-dict-dir", // Flag token.
  57 + // "-dict-dir", // Flag token.
58 58 "--dict-dir" // Flag token.
59 59 );
60 60  
... ... @@ -65,7 +65,7 @@ namespace morfeusz {
65 65 0, // Delimiter if expecting multiple args.
66 66 "select agglutination rules\n", // Help description.
67 67 "-a", // Flag token.
68   -// "-aggl", // Flag token.
  68 + // "-aggl", // Flag token.
69 69 "--aggl" // Flag token.
70 70 );
71 71  
... ... @@ -76,7 +76,7 @@ namespace morfeusz {
76 76 0, // Delimiter if expecting multiple args.
77 77 "select past tense segmentation\n", // Help description.
78 78 "-p", // Flag token.
79   -// "-praet", // Flag token.
  79 + // "-praet", // Flag token.
80 80 "--praet" // Flag token.
81 81 );
82 82  
... ... @@ -87,7 +87,7 @@ namespace morfeusz {
87 87 0, // Delimiter if expecting multiple args.
88 88 "input/output charset (UTF8, ISO8859_2, CP1250, CP852)\n", // Help description.
89 89 "-c", // Flag token.
90   -// "-charset", // Flag token.
  90 + // "-charset", // Flag token.
91 91 "--charset" // Flag token.
92 92 );
93 93  
... ... @@ -101,7 +101,7 @@ namespace morfeusz {
101 101 * CONDITIONALLY_CASE_SENSITIVE - Case-sensitive but allows interpretations that do not match case when there is no alternative\n\
102 102 * STRICTLY_CASE_SENSITIVE - strictly case-sensitive\n\
103 103 * IGNORE_CASE - ignores case\n", // Help description.
104   -// "-case-handling", // Flag token.
  104 + // "-case-handling", // Flag token.
105 105 "--case-handling" // Flag token.
106 106 );
107 107 opt.add(
... ... @@ -112,7 +112,7 @@ namespace morfeusz {
112 112 "token numbering strategy\n\
113 113 * SEPARATE_NUMBERING - Start from 0 and reset counter for every line\n\
114 114 * CONTINUOUS_NUMBERING - start from 0 and never reset counter\n", // Help description.
115   -// "-token-numbering", // Flag token.
  115 + // "-token-numbering", // Flag token.
116 116 "--token-numbering" // Flag token.
117 117 );
118 118 opt.add(
... ... @@ -124,7 +124,7 @@ namespace morfeusz {
124 124 SKIP_WHITESPACES - ignore whitespaces\n \
125 125 APPEND_WHITESPACES - append whitespaces to preceding segment\n\
126 126 KEEP_WHITESPACES - whitespaces are separate segments\n", // Help description.
127   -// "-whitespace-handling", // Flag token.
  127 + // "-whitespace-handling", // Flag token.
128 128 "--whitespace-handling" // Flag token.
129 129 );
130 130 }
... ... @@ -135,7 +135,7 @@ KEEP_WHITESPACES - whitespaces are separate segments\n&quot;, // Help description.
135 135 0, // Number of args expected.
136 136 0, // Delimiter if expecting multiple args.
137 137 "show some debug information.\n", // Help description.
138   -// "-debug", // Flag token.
  138 + // "-debug", // Flag token.
139 139 "--debug" // Flag token.
140 140 );
141 141  
... ... @@ -212,24 +212,29 @@ KEEP_WHITESPACES - whitespaces are separate segments\n&quot;, // Help description.
212 212 }
213 213  
214 214 Morfeusz* initializeMorfeusz(ezOptionParser& opt, MorfeuszProcessorType processorType) {
215   - Morfeusz& morfeusz = *Morfeusz::createInstance(processorType == ANALYZER ? ANALYSE_ONLY : GENERATE_ONLY);
  215 + if (opt.isSet("--dict-dir")) {
  216 + string dictDir;
  217 + opt.get("--dict-dir")->getString(dictDir);
  218 + // Morfeusz::dictionarySearchPaths.clear();
  219 + Morfeusz::dictionarySearchPaths.push_front(dictDir);
  220 + cerr << "Setting dictionary search path to: " << dictDir << endl;
  221 + } else {
  222 + Morfeusz::dictionarySearchPaths.push_front(".");
  223 + cerr << "Setting dictionary search path to: ." << endl;
  224 + }
  225 +
  226 + string dictName;
  227 + if (opt.isSet("-d")) {
  228 + opt.get("-d")->getString(dictName);
  229 + cerr << "Using dictionary: " << dictName << endl;
  230 + }
  231 + else {
  232 + dictName = Morfeusz::getDefaultDictName();
  233 + cerr << "Using dictionary: " << dictName << " (default)" << endl;
  234 + }
  235 +
  236 + Morfeusz& morfeusz = *Morfeusz::createInstance(dictName, processorType == ANALYZER ? ANALYSE_ONLY : GENERATE_ONLY);
216 237 try {
217   - if (opt.isSet("--dict-dir")) {
218   - string dictDir;
219   - opt.get("--dict-dir")->getString(dictDir);
220   - Morfeusz::dictionarySearchPaths.clear();
221   - Morfeusz::dictionarySearchPaths.push_front(dictDir);
222   - cerr << "Setting dictionary search path to: " << dictDir << endl;
223   - }
224   - else {
225   - Morfeusz::dictionarySearchPaths.push_front(".");
226   - }
227   - if (opt.isSet("-d")) {
228   - string dictName;
229   - opt.get("-d")->getString(dictName);
230   - morfeusz.setDictionary(dictName);
231   - cerr << "Using dictionary: " << dictName << endl;
232   - }
233 238 if (opt.isSet("-a")) {
234 239 string aggl;
235 240 opt.get("-a")->getString(aggl);
... ... @@ -280,8 +285,7 @@ KEEP_WHITESPACES - whitespaces are separate segments\n&quot;, // Help description.
280 285 morfeusz.setCharset(CP852);
281 286 #endif
282 287 return &morfeusz;
283   - }
284   - catch (const MorfeuszException& ex) {
  288 + } catch (const MorfeuszException& ex) {
285 289 cerr << "Failed to start Morfeusz: " << ex.what() << endl;
286 290 exit(1);
287 291 }
... ...
morfeusz/morfeusz2.h
... ... @@ -122,7 +122,16 @@ namespace morfeusz {
122 122 * @remarks NOT THREAD-SAFE (affects ALL Morfeusz instances)
123 123 * @return new instance of Morfeusz.
124 124 */
125   - static Morfeusz* createInstance(MorfeuszUsage usage);
  125 + static Morfeusz* createInstance(MorfeuszUsage usage=BOTH_ANALYSE_AND_GENERATE);
  126 +
  127 + /**
  128 + * Creates actual instance of Morfeusz class with possibly non-default dictionary.
  129 + * The caller is responsible for destroying it.
  130 + *
  131 + * @remarks NOT THREAD-SAFE (affects ALL Morfeusz instances)
  132 + * @return new instance of Morfeusz.
  133 + */
  134 + static Morfeusz* createInstance(const std::string& dictName, MorfeuszUsage usage=BOTH_ANALYSE_AND_GENERATE);
126 135  
127 136 /**
128 137 * Creates exact copy of Morfeusz object.
... ...
morfeusz/morfeusz2_c.cpp
... ... @@ -11,9 +11,10 @@
11 11 using namespace std;
12 12 using namespace morfeusz;
13 13  
14   -static Morfeusz* morfeuszInstance = Morfeusz::createInstance(ANALYSE_ONLY);
15   -static vector<MorphInterpretation> results;
16   -static ResultsManager resultsManager(morfeuszInstance);
  14 +static Morfeusz* getMorfeuszInstance() {
  15 + static Morfeusz* morfeuszInstance = Morfeusz::createInstance(ANALYSE_ONLY);
  16 + return morfeuszInstance;
  17 +}
17 18  
18 19 extern "C" DLLIMPORT
19 20 char* morfeusz_about() {
... ... @@ -22,12 +23,16 @@ char* morfeusz_about() {
22 23  
23 24 extern "C" DLLIMPORT
24 25 InterpMorf* morfeusz_analyse(char *tekst) {
  26 + Morfeusz* morfeuszInstance = getMorfeuszInstance();
  27 + static ResultsManager resultsManager(morfeuszInstance);
  28 + static vector<MorphInterpretation> results;
25 29 results.clear();
26 30 morfeuszInstance->analyse(string(tekst), results);
27 31 return resultsManager.convertResults(results);
28 32 }
29 33  
30 34 static inline int setEncodingOption(int value) {
  35 + Morfeusz* morfeuszInstance = getMorfeuszInstance();
31 36 switch (value) {
32 37 case MORFEUSZ_UTF_8:
33 38 morfeuszInstance->setCharset(UTF8);
... ... @@ -48,6 +53,7 @@ static inline int setEncodingOption(int value) {
48 53 }
49 54  
50 55 static inline int setWhitespaceOption(int value) {
  56 + Morfeusz* morfeuszInstance = getMorfeuszInstance();
51 57 switch (value) {
52 58 case MORFEUSZ_KEEP_WHITESPACE:
53 59 morfeuszInstance->setWhitespaceHandling(KEEP_WHITESPACES);
... ... @@ -65,6 +71,7 @@ static inline int setWhitespaceOption(int value) {
65 71 }
66 72  
67 73 static inline int setCaseOption(int value) {
  74 + Morfeusz* morfeuszInstance = getMorfeuszInstance();
68 75 switch (value) {
69 76 case MORFEUSZ_STRICT_CASE:
70 77 morfeuszInstance->setCaseHandling(STRICTLY_CASE_SENSITIVE);
... ... @@ -82,6 +89,7 @@ static inline int setCaseOption(int value) {
82 89 }
83 90  
84 91 static inline int setTokenNumberingOption(int value) {
  92 + Morfeusz* morfeuszInstance = getMorfeuszInstance();
85 93 switch (value) {
86 94 case MORFEUSZ_CONTINUOUS_TOKEN_NUMBERING:
87 95 morfeuszInstance->setTokenNumbering(CONTINUOUS_NUMBERING);
... ...
morfeusz/test_runner.cpp
... ... @@ -14,8 +14,13 @@
14 14  
15 15 #include "tests/TestCAPI.hpp"
16 16 #include "tests/TestMorfeusz.hpp"
  17 +#include "morfeusz2.h"
17 18  
18 19 int main() {
  20 +
  21 + morfeusz::Morfeusz::dictionarySearchPaths.push_front(".");
  22 + morfeusz::Morfeusz::dictionarySearchPaths.push_front("morfeusz");
  23 +
19 24 CPPUNIT_NS::TestRunner runner;
20 25 CPPUNIT_NS::TestResult controller;
21 26 CPPUNIT_NS::TestResultCollector result;
... ...
morfeusz/tests/TestCAPI.cpp
... ... @@ -30,7 +30,7 @@ void TestCAPI::tearDown() {
30 30 void TestCAPI::testTwoSimpleInvocations() {
31 31 cerr << "testTwoSimpleInvocations" << endl;
32 32  
33   - char* text = const_cast<char*> (string("AAaaBBbbCCcc DDDD.").c_str());
  33 + char* text = const_cast<char*> ("AAaaBBbbCCcc DDDD.");
34 34 InterpMorf* results = morfeusz_analyse(text);
35 35 CPPUNIT_ASSERT_EQUAL(0, results[0].p);
36 36 CPPUNIT_ASSERT_EQUAL(1, results[0].k);
... ...
morfeusz/tests/TestMorfeusz.cpp
... ... @@ -11,6 +11,7 @@
11 11 #include <vector>
12 12 #include <fstream>
13 13 #include <stdexcept>
  14 +#include <iostream>
14 15  
15 16 CPPUNIT_TEST_SUITE_REGISTRATION(TestMorfeusz);
16 17  
... ... @@ -24,11 +25,14 @@ TestMorfeusz::~TestMorfeusz() {
24 25 }
25 26  
26 27 void TestMorfeusz::setUp() {
  28 + cerr << "SET UP" << endl;
27 29 morfeusz = Morfeusz::createInstance(BOTH_ANALYSE_AND_GENERATE);
  30 + cerr << "SET UP done" << endl;
28 31 }
29 32  
30 33 void TestMorfeusz::tearDown() {
31   - delete morfeusz;
  34 + cerr << "TEAR DOWN" << endl;
  35 +// delete morfeusz;
32 36 }
33 37  
34 38 void TestMorfeusz::testAnalyzeIterate1() {
... ...
morfeusz/wrappers/morfeusz_python.i
... ... @@ -63,15 +63,15 @@
63 63 return res;
64 64 }
65 65  
66   - static morfeusz::Morfeusz* morfeusz::Morfeusz::createAnalyzerInstance() {
  66 + static morfeusz::Morfeusz* morfeusz::Morfeusz::createAnalyzerInstance(const std::string& dictName=morfeusz::Morfeusz::getDefaultDictName()) {
67 67 return morfeusz::Morfeusz::createInstance(morfeusz::ANALYSE_ONLY);
68 68 }
69 69  
70   - static morfeusz::Morfeusz* morfeusz::Morfeusz::createGeneratorInstance() {
  70 + static morfeusz::Morfeusz* morfeusz::Morfeusz::createGeneratorInstance(const std::string& dictName=morfeusz::Morfeusz::getDefaultDictName()) {
71 71 return morfeusz::Morfeusz::createInstance(morfeusz::GENERATE_ONLY);
72 72 }
73 73  
74   - static morfeusz::Morfeusz* morfeusz::Morfeusz::createInstance() {
  74 + static morfeusz::Morfeusz* morfeusz::Morfeusz::createInstance(const std::string& dictName=morfeusz::Morfeusz::getDefaultDictName()) {
75 75 return morfeusz::Morfeusz::createInstance(morfeusz::BOTH_ANALYSE_AND_GENERATE);
76 76 }
77 77 };
... ...
nbproject/configurations.xml
... ... @@ -168,8 +168,9 @@
168 168 <rebuildPropChanged>false</rebuildPropChanged>
169 169 </toolsSet>
170 170 <flagsDictionary>
171   - <element flagsID="0" commonFlags="-std=c++98 -O3"/>
  171 + <element flagsID="0" commonFlags="-std=c++98"/>
172 172 <element flagsID="1" commonFlags="-std=c++98 -O3 -fPIC"/>
  173 + <element flagsID="2" commonFlags="-std=c++98 -fPIC"/>
173 174 </flagsDictionary>
174 175 <codeAssistance>
175 176 <includeAdditional>true</includeAdditional>
... ... @@ -191,6 +192,7 @@
191 192 <pElem>build/fsa</pElem>
192 193 </incDir>
193 194 <preprocessorList>
  195 + <Elem>NDEBUG</Elem>
194 196 <Elem>_OPTIMIZE__=1</Elem>
195 197 <Elem>__PIC__=2</Elem>
196 198 <Elem>__pic__=2</Elem>
... ... @@ -211,6 +213,7 @@
211 213 <pElem>build/fsa</pElem>
212 214 </incDir>
213 215 <preprocessorList>
  216 + <Elem>NDEBUG</Elem>
214 217 <Elem>_OPTIMIZE__=1</Elem>
215 218 <Elem>__PIC__=2</Elem>
216 219 <Elem>__pic__=2</Elem>
... ... @@ -336,12 +339,14 @@
336 339 ex="false"
337 340 tool="1"
338 341 flavor2="4">
  342 + <ccTool flags="2">
  343 + </ccTool>
339 344 </item>
340 345 <item path="build/morfeusz/wrappers/morfeuszPERL_wrap.cxx"
341 346 ex="false"
342 347 tool="1"
343 348 flavor2="4">
344   - <ccTool flags="1">
  349 + <ccTool flags="2">
345 350 <incDir>
346 351 <pElem>/usr/lib/perl/5.14/CORE</pElem>
347 352 <pElem>build/morfeusz/wrappers/perl</pElem>
... ... @@ -350,7 +355,8 @@
350 355 <Elem>BUILDING_MORFEUSZ</Elem>
351 356 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
352 357 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
353   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
  358 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  359 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
354 360 <Elem>morfeusz_perl_EXPORTS</Elem>
355 361 </preprocessorList>
356 362 </ccTool>
... ... @@ -406,8 +412,8 @@
406 412 <Elem>BUILDING_MORFEUSZ</Elem>
407 413 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
408 414 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
409   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
410   - <Elem>NDEBUG</Elem>
  415 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  416 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
411 417 <Elem>libmorfeusz_EXPORTS</Elem>
412 418 </preprocessorList>
413 419 </ccTool>
... ... @@ -422,8 +428,8 @@
422 428 <Elem>BUILDING_MORFEUSZ</Elem>
423 429 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
424 430 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
425   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
426   - <Elem>NDEBUG</Elem>
  431 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  432 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
427 433 <Elem>libmorfeusz_EXPORTS</Elem>
428 434 </preprocessorList>
429 435 </ccTool>
... ... @@ -438,8 +444,8 @@
438 444 <Elem>BUILDING_MORFEUSZ</Elem>
439 445 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
440 446 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
441   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
442   - <Elem>NDEBUG</Elem>
  447 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  448 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
443 449 <Elem>libmorfeusz_EXPORTS</Elem>
444 450 </preprocessorList>
445 451 </ccTool>
... ... @@ -454,8 +460,8 @@
454 460 <Elem>BUILDING_MORFEUSZ</Elem>
455 461 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
456 462 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
457   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
458   - <Elem>NDEBUG</Elem>
  463 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  464 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
459 465 <Elem>libmorfeusz_EXPORTS</Elem>
460 466 </preprocessorList>
461 467 </ccTool>
... ... @@ -470,8 +476,8 @@
470 476 <Elem>BUILDING_MORFEUSZ</Elem>
471 477 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
472 478 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
473   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
474   - <Elem>NDEBUG</Elem>
  479 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  480 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
475 481 <Elem>libmorfeusz_EXPORTS</Elem>
476 482 </preprocessorList>
477 483 </ccTool>
... ... @@ -486,8 +492,8 @@
486 492 <Elem>BUILDING_MORFEUSZ</Elem>
487 493 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
488 494 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
489   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
490   - <Elem>NDEBUG</Elem>
  495 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  496 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
491 497 <Elem>libmorfeusz_EXPORTS</Elem>
492 498 </preprocessorList>
493 499 </ccTool>
... ... @@ -502,8 +508,8 @@
502 508 <Elem>BUILDING_MORFEUSZ</Elem>
503 509 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
504 510 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
505   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
506   - <Elem>NDEBUG</Elem>
  511 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  512 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
507 513 <Elem>libmorfeusz_EXPORTS</Elem>
508 514 </preprocessorList>
509 515 </ccTool>
... ... @@ -637,13 +643,6 @@
637 643 <output>${TESTDIR}/TestFiles/f9</output>
638 644 </linkerTool>
639 645 </folder>
640   - <folder path="build">
641   - <ccTool>
642   - <preprocessorList>
643   - <Elem>NDEBUG</Elem>
644   - </preprocessorList>
645   - </ccTool>
646   - </folder>
647 646 <folder path="build/morfeusz">
648 647 <ccTool>
649 648 <incDir>
... ... @@ -660,7 +659,8 @@
660 659 <Elem>BUILDING_MORFEUSZ</Elem>
661 660 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
662 661 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
663   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
  662 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  663 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
664 664 <Elem>libjmorfeusz_EXPORTS</Elem>
665 665 </preprocessorList>
666 666 </ccTool>
... ... @@ -671,6 +671,9 @@
671 671 <pElem>build</pElem>
672 672 <pElem>/usr/include/python2.7</pElem>
673 673 </incDir>
  674 + <preprocessorList>
  675 + <Elem>NDEBUG</Elem>
  676 + </preprocessorList>
674 677 </ccTool>
675 678 </folder>
676 679 <folder path="java">
... ... @@ -731,7 +734,7 @@
731 734 ex="false"
732 735 tool="1"
733 736 flavor2="4">
734   - <ccTool flags="1">
  737 + <ccTool flags="2">
735 738 <incDir>
736 739 <pElem>morfeusz</pElem>
737 740 <pElem>build/morfeusz</pElem>
... ... @@ -740,14 +743,14 @@
740 743 <Elem>BUILDING_MORFEUSZ</Elem>
741 744 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
742 745 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
743   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
744   - <Elem>NDEBUG</Elem>
  746 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  747 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
745 748 <Elem>libmorfeusz_EXPORTS</Elem>
746 749 </preprocessorList>
747 750 </ccTool>
748 751 </item>
749 752 <item path="morfeusz/Dictionary.cpp" ex="false" tool="1" flavor2="4">
750   - <ccTool flags="1">
  753 + <ccTool flags="2">
751 754 <incDir>
752 755 <pElem>morfeusz</pElem>
753 756 <pElem>build/morfeusz</pElem>
... ... @@ -756,14 +759,14 @@
756 759 <Elem>BUILDING_MORFEUSZ</Elem>
757 760 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
758 761 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
759   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
760   - <Elem>NDEBUG</Elem>
  762 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  763 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
761 764 <Elem>libmorfeusz_EXPORTS</Elem>
762 765 </preprocessorList>
763 766 </ccTool>
764 767 </item>
765 768 <item path="morfeusz/Environment.cpp" ex="false" tool="1" flavor2="4">
766   - <ccTool flags="1">
  769 + <ccTool flags="2">
767 770 <incDir>
768 771 <pElem>morfeusz</pElem>
769 772 <pElem>build/morfeusz</pElem>
... ... @@ -772,14 +775,14 @@
772 775 <Elem>BUILDING_MORFEUSZ</Elem>
773 776 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
774 777 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
775   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
776   - <Elem>NDEBUG</Elem>
  778 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  779 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
777 780 <Elem>libmorfeusz_EXPORTS</Elem>
778 781 </preprocessorList>
779 782 </ccTool>
780 783 </item>
781 784 <item path="morfeusz/IdResolverImpl.cpp" ex="false" tool="1" flavor2="4">
782   - <ccTool flags="1">
  785 + <ccTool flags="2">
783 786 <incDir>
784 787 <pElem>morfeusz</pElem>
785 788 <pElem>build/morfeusz</pElem>
... ... @@ -788,14 +791,14 @@
788 791 <Elem>BUILDING_MORFEUSZ</Elem>
789 792 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
790 793 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
791   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
792   - <Elem>NDEBUG</Elem>
  794 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  795 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
793 796 <Elem>libmorfeusz_EXPORTS</Elem>
794 797 </preprocessorList>
795 798 </ccTool>
796 799 </item>
797 800 <item path="morfeusz/InflexionGraph.cpp" ex="false" tool="1" flavor2="4">
798   - <ccTool flags="1">
  801 + <ccTool flags="2">
799 802 <incDir>
800 803 <pElem>morfeusz</pElem>
801 804 <pElem>build/morfeusz</pElem>
... ... @@ -804,14 +807,14 @@
804 807 <Elem>BUILDING_MORFEUSZ</Elem>
805 808 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
806 809 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
807   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
808   - <Elem>NDEBUG</Elem>
  810 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  811 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
809 812 <Elem>libmorfeusz_EXPORTS</Elem>
810 813 </preprocessorList>
811 814 </ccTool>
812 815 </item>
813 816 <item path="morfeusz/Morfeusz.cpp" ex="false" tool="1" flavor2="4">
814   - <ccTool flags="1">
  817 + <ccTool flags="2">
815 818 <incDir>
816 819 <pElem>morfeusz</pElem>
817 820 <pElem>build/morfeusz</pElem>
... ... @@ -820,14 +823,14 @@
820 823 <Elem>BUILDING_MORFEUSZ</Elem>
821 824 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
822 825 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
823   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
824   - <Elem>NDEBUG</Elem>
  826 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  827 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
825 828 <Elem>libmorfeusz_EXPORTS</Elem>
826 829 </preprocessorList>
827 830 </ccTool>
828 831 </item>
829 832 <item path="morfeusz/MorfeuszImpl.cpp" ex="false" tool="1" flavor2="4">
830   - <ccTool flags="1">
  833 + <ccTool flags="2">
831 834 <incDir>
832 835 <pElem>morfeusz</pElem>
833 836 <pElem>build/morfeusz</pElem>
... ... @@ -836,14 +839,14 @@
836 839 <Elem>BUILDING_MORFEUSZ</Elem>
837 840 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
838 841 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
839   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
840   - <Elem>NDEBUG</Elem>
  842 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  843 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
841 844 <Elem>libmorfeusz_EXPORTS</Elem>
842 845 </preprocessorList>
843 846 </ccTool>
844 847 </item>
845 848 <item path="morfeusz/MorphInterpretation.cpp" ex="false" tool="1" flavor2="4">
846   - <ccTool flags="1">
  849 + <ccTool flags="2">
847 850 <incDir>
848 851 <pElem>morfeusz</pElem>
849 852 <pElem>build/morfeusz</pElem>
... ... @@ -852,14 +855,14 @@
852 855 <Elem>BUILDING_MORFEUSZ</Elem>
853 856 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
854 857 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
855   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
856   - <Elem>NDEBUG</Elem>
  858 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  859 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
857 860 <Elem>libmorfeusz_EXPORTS</Elem>
858 861 </preprocessorList>
859 862 </ccTool>
860 863 </item>
861 864 <item path="morfeusz/ResultsIteratorImpl.cpp" ex="false" tool="1" flavor2="4">
862   - <ccTool flags="1">
  865 + <ccTool flags="2">
863 866 <incDir>
864 867 <pElem>morfeusz</pElem>
865 868 <pElem>build/morfeusz</pElem>
... ... @@ -868,39 +871,55 @@
868 871 <Elem>BUILDING_MORFEUSZ</Elem>
869 872 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
870 873 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
871   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
872   - <Elem>NDEBUG</Elem>
  874 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  875 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
873 876 <Elem>libmorfeusz_EXPORTS</Elem>
874 877 </preprocessorList>
875 878 </ccTool>
876 879 </item>
877 880 <item path="morfeusz/c_api/ResultsManager.cpp" ex="false" tool="1" flavor2="4">
  881 + <ccTool flags="2">
  882 + </ccTool>
878 883 </item>
879 884 <item path="morfeusz/case/CaseConverter.cpp" ex="false" tool="1" flavor2="4">
  885 + <ccTool flags="2">
  886 + </ccTool>
880 887 </item>
881 888 <item path="morfeusz/case/CasePatternHelper.cpp"
882 889 ex="false"
883 890 tool="1"
884 891 flavor2="4">
  892 + <ccTool flags="2">
  893 + </ccTool>
885 894 </item>
886 895 <item path="morfeusz/case/caseconv.cpp" ex="false" tool="1" flavor2="4">
  896 + <ccTool flags="2">
  897 + </ccTool>
887 898 </item>
888 899 <item path="morfeusz/charset/CharsetConverter.cpp"
889 900 ex="false"
890 901 tool="1"
891 902 flavor2="4">
  903 + <ccTool flags="2">
  904 + </ccTool>
892 905 </item>
893 906 <item path="morfeusz/charset/TextReader.cpp" ex="false" tool="1" flavor2="4">
  907 + <ccTool flags="2">
  908 + </ccTool>
894 909 </item>
895 910 <item path="morfeusz/charset/conversion_tables.cpp"
896 911 ex="false"
897 912 tool="1"
898 913 flavor2="4">
  914 + <ccTool flags="2">
  915 + </ccTool>
899 916 </item>
900 917 <item path="morfeusz/cli/cli.cpp" ex="false" tool="1" flavor2="4">
  918 + <ccTool flags="2">
  919 + </ccTool>
901 920 </item>
902 921 <item path="morfeusz/const.cpp" ex="false" tool="1" flavor2="4">
903   - <ccTool flags="1">
  922 + <ccTool flags="2">
904 923 <incDir>
905 924 <pElem>morfeusz</pElem>
906 925 <pElem>build/morfeusz</pElem>
... ... @@ -909,8 +928,8 @@
909 928 <Elem>BUILDING_MORFEUSZ</Elem>
910 929 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
911 930 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
912   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
913   - <Elem>NDEBUG</Elem>
  931 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  932 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
914 933 <Elem>libmorfeusz_EXPORTS</Elem>
915 934 </preprocessorList>
916 935 </ccTool>
... ... @@ -919,31 +938,43 @@
919 938 ex="false"
920 939 tool="1"
921 940 flavor2="4">
  941 + <ccTool flags="2">
  942 + </ccTool>
922 943 </item>
923 944 <item path="morfeusz/deserialization/MorphDeserializer.cpp"
924 945 ex="false"
925 946 tool="1"
926 947 flavor2="4">
  948 + <ccTool flags="2">
  949 + </ccTool>
927 950 </item>
928 951 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder.cpp"
929 952 ex="false"
930 953 tool="1"
931 954 flavor2="4">
  955 + <ccTool flags="2">
  956 + </ccTool>
932 957 </item>
933 958 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder4Analyzer.cpp"
934 959 ex="false"
935 960 tool="1"
936 961 flavor2="4">
  962 + <ccTool flags="2">
  963 + </ccTool>
937 964 </item>
938 965 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder4Generator.cpp"
939 966 ex="false"
940 967 tool="1"
941 968 flavor2="4">
  969 + <ccTool flags="2">
  970 + </ccTool>
942 971 </item>
943 972 <item path="morfeusz/fsa/const.cpp" ex="false" tool="1" flavor2="4">
  973 + <ccTool flags="2">
  974 + </ccTool>
944 975 </item>
945 976 <item path="morfeusz/morfeusz2_c.cpp" ex="false" tool="1" flavor2="4">
946   - <ccTool flags="1">
  977 + <ccTool flags="2">
947 978 <incDir>
948 979 <pElem>morfeusz</pElem>
949 980 <pElem>build/morfeusz</pElem>
... ... @@ -952,8 +983,8 @@
952 983 <Elem>BUILDING_MORFEUSZ</Elem>
953 984 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
954 985 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
955   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
956   - <Elem>NDEBUG</Elem>
  986 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  987 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
957 988 <Elem>libmorfeusz_EXPORTS</Elem>
958 989 </preprocessorList>
959 990 </ccTool>
... ... @@ -968,8 +999,8 @@
968 999 <Elem>BUILDING_MORFEUSZ</Elem>
969 1000 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
970 1001 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
971   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
972   - <Elem>NDEBUG</Elem>
  1002 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  1003 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
973 1004 </preprocessorList>
974 1005 </ccTool>
975 1006 </item>
... ... @@ -983,14 +1014,18 @@
983 1014 <Elem>BUILDING_MORFEUSZ</Elem>
984 1015 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
985 1016 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
986   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
987   - <Elem>NDEBUG</Elem>
  1017 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  1018 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
988 1019 </preprocessorList>
989 1020 </ccTool>
990 1021 </item>
991 1022 <item path="morfeusz/segrules/SegrulesFSA.cpp" ex="false" tool="1" flavor2="4">
  1023 + <ccTool flags="2">
  1024 + </ccTool>
992 1025 </item>
993 1026 <item path="morfeusz/segrules/segrules.cpp" ex="false" tool="1" flavor2="4">
  1027 + <ccTool flags="2">
  1028 + </ccTool>
994 1029 </item>
995 1030 <item path="morfeusz/test_runner.cpp" ex="false" tool="1" flavor2="4">
996 1031 <ccTool flags="0">
... ... @@ -1002,8 +1037,8 @@
1002 1037 <Elem>BUILDING_MORFEUSZ</Elem>
1003 1038 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
1004 1039 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
1005   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
1006   - <Elem>NDEBUG</Elem>
  1040 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  1041 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
1007 1042 </preprocessorList>
1008 1043 </ccTool>
1009 1044 </item>
... ... @@ -1019,8 +1054,8 @@
1019 1054 <Elem>BUILDING_MORFEUSZ</Elem>
1020 1055 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
1021 1056 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
1022   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
1023   - <Elem>NDEBUG</Elem>
  1057 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  1058 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
1024 1059 </preprocessorList>
1025 1060 </ccTool>
1026 1061 </item>
... ... @@ -1034,8 +1069,8 @@
1034 1069 <Elem>BUILDING_MORFEUSZ</Elem>
1035 1070 <Elem>MORFEUSZ2_VERSION="2.0.0_dupa"</Elem>
1036 1071 <Elem>MORFEUSZ_DEFAULT_DICT_NAME="dupa"</Elem>
1037   - <Elem>MORFEUSZ_EMBEDDED_DEFAULT_DICT</Elem>
1038   - <Elem>NDEBUG</Elem>
  1072 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH1="/usr/local/share/morfeusz/dictionaries"</Elem>
  1073 + <Elem>MORFEUSZ_DICTIONARY_SEARCH_PATH2="/usr/share/morfeusz/dictionaries"</Elem>
1039 1074 </preprocessorList>
1040 1075 </ccTool>
1041 1076 </item>
... ...